본문 바로가기

딥러닝/강화학습(RL)

강화학습에서 랜덤성과 비랜덤성에 관하여 + Return, Value Function 강화학습에서 랜덤성과 비랜덤성에 관하여 강화학습에서는 시간에 따라서 상태, 행동 보상이 결정된다. 이 값들에는 랜덤성이 포함되어 있고, 다음 Random Variable을 생각할 수 있습니다. State $S_t$ Action $A_t$ Reward $R_t$ Return $G_t = \sum_{k=0} ^\infty \gamma^k R_{t+k+1}$ 한 가지 놓칠 수 있는 것은 Return 값 또한 Random Variable 이라는 것 입이다. Cumulative Reward 라고도 불리는 이 값은 시간에 따라서 변하는 Radom Variable이기 때문에, 상태에 대해서 고정적인 값을 내려주지 않습니다. 만일 이 값을 상태 또는 (상태+행동)에 대해서 평균을 내리게 된다면, 우리는 랜덤성이 사라진.. 더보기
강화학습에서 Approximation 은 어떤 의미인가? / Approximation in Reinforecement Learning 강화학습에서 Approximation 은 어떤 의미인가? Approximation in Reinformcement Learning 전통적인 강화학습은 상태 $s$ 나 상태-행동 $(s,a)$ 에 대한 Value값 $V(s)$ 혹은 $Q(s,a)$ 를 학습하는 것을 기반으로 합니다. 환경에서 주어지는 상태의 개수가 $|S|$ 그리고 행동의 수가 $|A|$ 라고 한다면, Value 값을 정확하게 위해서는 상태에 따라서 값을 저장해줘야 한다는 단점이 있습니다. 두 명이서 가위바위보를 한다면, 총 가능한 상태는 내가 내는 것 3 가지와 상대방이 내는 3가지의 경우의 수인 9가지가 됩니다. 이와 다르게 마리오 게임이라면 마리오가 조금만 움직여도 위치가 달라지기 때문에 굉장히 많은 상태가 있습니다. (어쩌면 무한대.. 더보기
Target, Behavior, On, Off policy 를 구분해보자. Target, Behavior, On, Off policy 를 구분해보자. 에이전트는 환경의 상태 $s$ 에 대해서 행동 $a$ 를 선택합니다. 특성 시간 $t$ 에서 행동을 결정하는 Policy $\pi_t (a|s)$ 가 주어졌을 때, 이는 확률값일수도 있고, 무작위성을 포함한 epsilon greedy 일수도 있습니다. 시간이 지남에 따라서 에이전트는 환경에서 학습을 진행하여 더 나은 policy $\pi_t$ 를 얻게 되기에, 업데이트가 되는 sequence $\pi_1, \pi_2, \cdots, \pi_t$ 를 고려해봅시다. 만일 누군가에게 이 많은 policy 중에 하나를 고르라고 한다면, 아마 대부분의 사람들은 가장 마지막 policy $\pi_t$ 를 고르는데, $\pi _t$ 가 가장 .. 더보기
[Remark] 강화학습 Return에 대한 이해와 n-step Return 강화학습 Return에 대한 이해와 n-step Return Return 과 n-step return 강화학습에서는 순간적인 보상을 최대화하는 것보다 한 단계 더 나아가서 미래에 받게 되는 보상까지 더한 값을 최대화합니다. Return은 미래보상까지 더해진 값을 나타내며 다음과 같이 쓸 수 있습니다. 이 때, $\gamma$ 는 미래에 대한 패널티로 discount factor입니다. $$G_t = R_t + \gamma R_{t+1} + \gamma^2 R_{t+2} + \cdots$$ $t$ 시간에 보상은 그 후에 발생되는 미래의 사건들의 보상을 모두 더하기 때문에, 에피소드가 길다면, 굉장히 먼 미래까지 고려해야 합니다. 심지어는 끝나지 않는 에피소드의 경우, $G_t$ 값을 구하기 위하서 무한에 .. 더보기
[Remark] Sarsa와 Q-learning 비교하기 [Remark] Sarsa와 Q-learning 비교하기 강화학습의 목적은 Reward 혹은 Return을 최대화하는 Policy를 학습하는 것이다. 마리오 게임에서 내 손으로 게임을 하면 버섯을 밟기도 하고, 장애물에 빠지기도 하면서 게임 플레이 시간이 오래걸리거나 혹은 도착지에 도달하지 못할 수도 있다. 그러나 충분히 학습된 인공신경망 policy를 이용하면, 게임을 쉽게 깰 수 있다. 물론 초기상태에서는 내 손보다 게임을 못하겠지만, 지속적으로 플레이하면서 점점 policy가 발전할 것이다. 물론 내 손으로 플레이 하는 것도 점차적으로 실력이 향상될 것이다. 내 손과 인공신경망 policy를 비교하기 위해서는 policy를 평가해야 한다. 강화학습에서는 이를 policy evaluation 라고 한.. 더보기
[Remark] Why contraction property is important for Bellman operator [Remark] Why contraction property is important for Bellman operator Bellman Equation은 value function이 만족하는 방정식으로 주어진 policy에 대해서 $V_\pi(s)$값에 대한 관계를 나타냅니다. 주어진 policy $\pi$에 대해서 Bellman operator $\mathcal{T}_\pi$와 Bellman optimal operator $\mathcal{T}_*$은 다음과 같습니다. $$\mathcal{T}_\pi v = R_\pi + \gamma P_\pi v ~~~~~ (1)$$ $$(\mathcal{T}_\pi v)(s) = \max_{a\in \mathcal{A}} R_s^a + \gamma \sum_{s' .. 더보기
[🤖Bumjin's RL - 1] 강화학습 소개 및 구분 강화학습이란? 강화학습은 주어진 환경에서 에이전트의 최적의 행동을 하도록 유도하는 것을 목표로 합니다. 행동을 이끄는 방법들 중에서 행동의 결과에 대한 즉각적인 보상으로 에이전트가 올바른 행동을 하도록 이끌 수 있습니다. 행동 한 번을 유도하고 싶은게 아니라 연속적인 행동을 이끌어내고 싶다면 문제는 조금 복잡해집니다. 주어진 환경에서 최적의 행동 1개를 하는 것과 여러번의 행동을 통해서 결국에는 더 많은 보상을 이끌어 내야 합니다. 예를 들어서, 학생들이 공부를 할 때, 당시에는 보상이 적지만, 공부의 결과로 얻는 것들은 더 많은 보상을 줄 수 있습니다. 그래서 현재의 보상에 초점을 맞추는 게 아니라, 미래의 보상까지 고려된 행동을 유도해야 합니다. 강화학습 문제를 정의하기 위해서는 우선적으로 두 가지 .. 더보기
[Analyse RLLib] 6 Multi Agent Two Step Game and MADDPG Two Step Game Actions State Observations Rewards MADDPG with TwoStepGame MultiAgent Environment configuration tune References Appendix What I found MADDPG full code Two Step Game Actions 각각의 agent는 0 또는 1을 선택할 수 있고, 결과는 state에 따라서 다릅니다. 밑의 표 참고. State state global_reward done 0 0 False (0,*)->state(1) (1,*)->state(2) 1 7 True 2 (0,1)->0 (1,0)->8 otherwise->1 True (a,b)에서 a :agent_1's action, b :.. 더보기