출처: David silver 교수님 자료.
내용 정리 : 교수님 수업 기반에 의한 정리
기타 팁 : 개념 그냥 이해안되도 암기부터 하고나면 이해되긴하더라...
- 머신러닝에 대해 큰 그림을 그려보면 아래[fig1]와 같을것이다.
- [fig2]에서 Agent, Environment 에 대해 설명을 해보겠다.
- Agent는 기본적으로 observation(t), reward(t) 를 받아 action(t)을 수행한다고 생각하면 된다.
- Environment는 agent의 행동에 대한 action(t)을 받을것이고 변한 다음 observation(t+1), 변한 다음 reward(t+1) 을 받게될것이다.
- History and State [fig3]
- History(H)란 말그대로 observation,action,reward의 sequence임.
- State(S)란 다음에 어떤일이 발생할지 결정하는 정보로 다음과 같이 정리가 된다.
- S_t = f(H_t)
- State에 대해 간단히 알았으니 좀더 자세히 알아보자. State는 다음과 같이 3개로 나눌 수 있다.
- Environment State[Fig4], Agent State[Fig5], Information State[Fig6]
- Environment State (환경 상태) : S-e-t 는 환경에 대한 private representation(private표현) 임.
- Environment State는 agent에게 항상 보이는게 아님, 보인다 할지라도 관련없는 정보를 갖고 있을수도 있음.
- Agent State (에이전트 상태) : S-a-t 는 에이전트 내부의 표현으로, 에이전트가 다음 action을 하는데 사용하는 정보임.
- Information State( a.k.a Markov State) : History로 부터 모든 정보를 포함하고 있음, Markov State라고도 부름.
- Information State 는 과거에 어떤 State로 거쳐왔던지간게, 바로 이전의 시점 정보만 갖고 간다고 보면된다. 즉, 이전 시점의 정보가 훨씬 과거의 정보들까지 포함하고 있다는 의미임.
- Environment State[Fig4], Agent State[Fig5], Information State[Fig6]
- 그렇다면 Rat 예시[fig7]를 한번 보자
- 최근 3개의 연속적인 item만을 고려한다면 ,'?' 자리에는 전기 충격이 들어갈 것이다. (최근 3개를 보면 전구,레버,벨 다음에는 전기가 나왔음으로.
- 전구, 벨, 레버의 숫자를 따진다면, '?' 자리에는 치즈가 나와야한다. (과거의 정보를 보면 벨 한번, 전구 한번, 레버 2번일때는 치즈가 나왔으니)
- complete sequence 에서는 과거의 모든 정보가 안나와 있어서 아직 다 모르는 상태이다.
- 즉, 하고 싶은 말은 agent state를 어떻게 정의하느냐에 따라 결과가 다르다는것임.
- Observation Environments 에는 다음과 같은 두가지가 있다.
- Fully observation environments[Fig8], Partial observability environments[Fig9]
- Fully observation environments : Agent가 environment state를 directly(직접적)으로 다알고 있는 상태, Markov decision process(MDP)라고도 부른다.
- Agent State= Environment state
- Partial observability environments : Agent가 indirectly(간접적)으로 환경상태를 알고 있음, Partially observable MArkov decision process(POMDP)라고도 부른다.
- 간접적으로 안다는 의미가 예시를 들면, 로봇 카메라는 절대위치를 모른다는것, 포커 플레이어들은 public한 카드만 알고 있는 등등이다.
- Agent State ≠ Environment state
- 환경에 대해 간접적으로 알기 때문에, State representation를 정의해줘야한다. 정의할수 있는 방법은 아래와 같이 3가지가 있다.
- Complete history : 과거에 모든 정보를 사용하겠다. (실제로 사용하기 어려움..과거의 현실정보를 어떻게 다 반영해...)
- Beliefs of environment state: 환경에 대해 확률적으로 표현한다.
- Recurrent neural network : 딥러닝의 RNN기법을 사용하겠다.(RNN: 과거(짧은 과거까지)의 정보와 현재 입력 정보를 사용하는 방법)
- Fully observation environments : Agent가 environment state를 directly(직접적)으로 다알고 있는 상태, Markov decision process(MDP)라고도 부른다.
- Fully observation environments[Fig8], Partial observability environments[Fig9]
- 이제는 RL Agent의 주요한 요소에 대해 살펴보자, [Fig 10]
- Agent는 3가지 components중 한개 또는 그 이상을 포함하고 있다.
- Policy: Agent의 행동을 결정해주는 함수
- Value function: State and/or action 이 얼마나 좋은지
- Model: agent입장에서의 환경 표현.
- Agent는 3가지 components중 한개 또는 그 이상을 포함하고 있다.
- Policy(정책, π), [Fig11]
- 정의 : Agent의 행동을 결정해주는 함수. 즉, State(현재 상태)에서 Action(행동)을 할 수 있도록 정해줌.
- Policy는 다음과 같이 두개로 나누어짐.
- Deterministic policy : action이 정해짐.
- Stochastic policy: action이 확률에 따라 다름.
- Value function(V), [Fig 12]
- 정의 : 미래에 받는 보상에 대한 함수, 취할 State가 좋은지 나쁜지 평가해주는것.
- 주의 : reward랑 다름. reward는 다음 스텝갈때 주는것, value functino은 미래에 대한 누적 보상.
- 수식 의미: 주어진 State에서 지금 받을 reward(t+1), 그 다음 받을 reward(t+2)... (퓨처 reward) 의 기댓값(E)
- 감마: discount factor로 뒤로 갈수록 보상의 영향도를 낮추기 위해 곱해주는 것.
- 기댓값(Expectation)하는 이유 : action을 수행해도 environment state로 인해 백퍼센트 선택한 action을 취하지 못하기 때문. 예를 들면 앞으로 가려했는데 앞에 빙판이 있으면 좌측으로 빠질수도 있다는 이야기.
- Model, [Fig 13]
- 정의 : 모델이 주어진 상황에서 환경이 다음에 무엇을 할지 예측한다는 의미, 즉 다음 환경 예측.
- 이제 이해한 내용을 바탕으로 Maze Example을 살펴보자[ Fig 14].
- Reward: 스텝당 -1 부여
- Action : N, E, W, W
- Maze Example : Policy , [Fig 15]
- Policy 만 있어도 Goal 까지 감.
- Maze Example : Model [Fig 16]
- Model 만 있어도 Goal 까지 감.
- 위에서 배웠던 모든것을 Categorizing 하면 아래의 [Fig17, 18, 19] 처럼 나타낼 수 있다.
- Learning and Planning, [Fig 20]
- 연속적인 결정을 내릴 때 할 수 있는 방법은 아래와 같이 2가지가 있다
- Reinforcement Learning(RL)
- Planning
- 연속적인 결정을 내릴 때 할 수 있는 방법은 아래와 같이 2가지가 있다
- Reinforcement Learning 예시, [Fig 21]
- Planning 예시. [Fig 22]
- Exploration and Exploitation, [Fig23, 24, 25]
- Goal 까지 도달하기 위해서는 항상 동일한 방법이 아닌 새로운 방법을 시도함으로써 최적의 방법을 찾는데 그때 필요한 개념이 Exploration , Exploitation 이다.
- Exploration : 새로운 곳 가는 것
- Exploitation : 갔던 곳 가는 것
- 결론적으로 말하자면 Exploration, Exploitation 둘다 적절하게 이용해야 한다.
'인공지능 (강화학습) > 강화학습' 카테고리의 다른 글
[5] 강화학습 Q-Network (0) | 2023.02.15 |
---|---|
[4] 강화학습 Windy Frozen Lake Nondeterministic world! (0) | 2023.02.07 |
[3] 강화학습 Exploit&Exploration and discounted future reward (1) | 2023.02.04 |
[2]강화학습 Dummy Q Learning (0) | 2023.01.20 |
[1] 강화학습이란? (0) | 2023.01.17 |