기존의 머신러닝과 강화학습

  • #3220964
    ㅁㅁㅁㅁㅁ 27.***.57.105 945

    supervised unsupservised learnign을 공부하면서 응용쪽에 저널을 싣은 CS석사 연구원입니다

    후에 박사유학도 생각중입니다만

    supervised unsupervised lerning은 data가 필요한 것과
    달리 요즘의 강화학습은 data가 필요없다고 하는데요

    생각해보면 기존의 예전버전 강화학습 DQN같은 거는 게임이론에서 아이디어를 빌려온 거고
    data가 필요하던것으로 기억하는데

    알파고 제로 같은거는 data가 필요없다는 거는 정확히 무슨의미인가요?
    아따리 게임 tainnig같이 게임이론 컨셉 함수를 도입해서 최적의 의사결정을 찾는 걸 보고 data가
    필요없다고 하는 것인가요?

    • Ma 74.***.82.238

      데이터가 필요없다는말 – Training , Test 같은 기존 Supervised Learning에서 처럼 데이터를 feed 해줄 필요가 없다는말
      하지만 MDP(Markov Decision process)에 대한 정보 즉, State와 Agent의 필요함.
      Q-learning 같은경우 Reward도 정의 해야되고 간단한 게임에는 이게 쉬운데 자율주행차 처럼 복잡한 경우엔 머리 터짐

    • Ma 74.***.82.238

      딥마인드 창시자 David Silver- Reinforcement Learning강의 듣고 오셈

    • bn 73.***.80.167

      AI 둘이서 서로 게임하면서 데이터를 만들어 나가는 것으로 알고 있습니다. 저도 자세한 건 잘…

    • 자세히 192.***.101.30

      자세히는 잘 모릅니다만 Continuous Markov Decision Process일 경우에 정성적으로 설명하자면 reinforcement learning(저는 전통 전자과라서 제어 이론과 칼만 필터에 익숙함) 은 state space equation(x_{t+1} = Ax_t + Bu_t + n) 과 observation equation (z_t = Cx_t + w_t) 으로 나누어 지는데 초기 조건만 주어지면 state space equation과 observation equation에 따라서 움직이기 때문인 것 같습니다. 예를 들면 인공위성이 움직이는 궤적 같은 것이지요. 하지만 state space equation과 observation equation을 모를 때에는 A, B, C를 구해야 하기 때문에 이를 training set으로 구해야 한다고 알고 있습니다.

      x

    • 333 184.***.220.175

      그냥 간단히 솔루션의 수학적 모델링이 가능한 경우는 데이타가 없어도 되고,
      거의 솔루션에 대한 수학적 모델링이 불가능한 문제들은 당연히 데이타가 많이 필요하겠죠.

      그냥 상식적으로 그런거 아니겠어요?
      그리고 당연히 그 컴비네이션도 있겠죠? 예를 들어 물리적현상이더라도 제아무리 천재가 수학공식 물리공식 다 동원해도 장확한 모델링이란건 불가능할뿐아니라
      중간중간 관측 데이타를 피딩시켜줘야 불완전한 모델링을 빨리 솔루션을 찾아가게 만들어주겠죠.

      보통 게임들은 일정한 룰들이 다 있으니
      당연히 그 룰만 제대로 적용시킬줄 알다면 기존에 했었던 게임들(바둑에서는 기보라 하나요?)로 데이타를 피딩시켜 학습시킬 필요가 없쟎아요. 게다가 기존 바둑게임의 기보를 모두 익혀서 인간들을 다 격파했는데 무슨 기보(데이타)를 통한 러닝이 더 이상 필요하겠어요? 그냥 룰대로 해버리면 되지..에이아이가 그정도는 똑똑하니까.

      근데 세상 모든일이 예측불가능하고 모델링이 불가능한것들이 많죠. 룰들은 너무 브로드하고. 예를들어 사람이 울고 웃는게 어떻게 할지 정확히 예측되나요? 경험을 해봐야 알죠? 예를 들어 박그네가 눈물 뚝뚝흘리며 소리내며 우는걸 본적이 없으니 그녀가 울고 불고 하면 어떤 모양의 울음이 될지 알수가 없죠? 또 이명박도 울고불고 하면 어떤 모양이 나올까요? 제빵왕 김탁구는 우는 모습이 너무많아서 윤시윤이 진짜 울면 대충 어떻게 울고 입모양이 일그러질지 콧물이 어떻게 어느쪽에서 많이 나올지 대충 예축이 되젾아요. 전광렬도 허준에서 너무 우는 모습많이 보여줘서 그걸 데이타로 주면 그냥 제빵왕에서도 캐스팅되면 어떤 우는 모습이 나올지 대충 감이 오는거에요. 경험= 데이타. 지금은 이런거 모델링이 거의 불가능해요, 다 데이타로 주어야 에이아이가 조금이라도 만들어내지…

    • 333 184.***.220.175

      위에 자세히님,
      전공이 뭔가요?

      컨트롤 전공하는 티가 나는데…

    • RL 24.***.113.229

      RL(Reinforcement Learning)도 reward를 주기 위해서 당연히 data가 필요합니다.
      즉 그 reward 를 얻기 위하여 어떤 state에서 어떤 action을 수행했는지에 대한 Q(s_t, a_t) 정보를 학습해 나가는 겁니다.

      예를 들어, clash royal 이란 게임을 학습하여 AI-powered player를 하나 만든다고 가정한다면 user-to-user 게임 데이터를 수집해야 합니다.
      만일 user A가 skeleton army를 특정 position에 투입했을때,
      user B는 가능한 fighter 중 wizard 난 baby dragon을 근처에 투입해야 reward를 받을 수 있습니다.
      만일 user B가 pekka 나 prince 를 투입하면 망하는 겁니다. 즉 penalty 를 받게 됩니다.

      결국 (state, action) -> reward or penalty 라는 policy를 만들어야 하는데
      이걸 하나 하나 rule 을 만들면 바보겠죠.
      이걸 어떻게 AI 가 스스로 만들 수 있을까요?
      RL은 user A와 user B가 random 또는 어느정도의 logic에 의해 가능한 모든 (state, action) 케이스를 자동으로 만들어서 스스로 게임을 해 보는 겁니다.
      reward나 penalty는 게임 진행과정에서 최종 승리했느냐 패배했느냐로 결정되기 때문에, 중간 과정의 모든 Q(s_t, a_t)는 학습을 하면 할수록 reward를 많이 받기 위한 방향으로 진행되게 됩니다.

      결국 user A가 skeleton army를 투입하면, random하게 pekka, prince 등을 투입해 보다가 penalty 받고 나면, 점차 그런 state에는 baby dragon, wizard 를 투입하면 reward를 받을 수 있다는 것을 알아가게 되는 거죠.

      self-learning을 해 나가기 위해서는 reward, penalty에 대한 policy network 설계가 젤로 중요하게 되는 겁니다.