지난 시간에 배운 것을 복습해볼까요
![업로드중..]()
![업로드중..]()
result는 agent의 state(상태)에 따라 결정 -> reward 제공
terminal state
return이라는 개념
- Return = 𝑅1 + 𝛾𝑅2 + 𝛾^2𝑅3 + ⋯ (until terminal state)
- 뒤로 갈수록 가중치를 떨어뜨려서
- reward가 아닌 return을 최대화하는 것을 목표로 함
우리의 목표
policy 𝝅(𝒔) = 𝒂를 익히고 싶다
- 주어진 state에 따라서 어떻게 행동할 지 제공함
- 여러 개의 파라미터 s가 들어오면, return을 제공하는 함수임
- action을 return할 것인데, 이 action을 return하면 return이 최대화되는 것
강화학습 조건
- agent
- state는 랜덤하게 주어질 수 있음
- agent 수행할 수 있는 action의 종류 (정해져 있음)
- reward는 state에 기반해 매겨짐
- discount factor는 뒤로 갈 수록 reward의 가중치를 낮춤
- return은 reward와 discount fafactor를 합친 것
- policy 어떻게 행동할 지 결정
Markov Decision Process (MDP)
- 지금까지의 과정은 보지 않고 (history는 고려하지 않고) 현재의 state만 신경 씀
State-Action Value Function
- policy를 학습하는 방법
- 지금이 state에서 어떤 action을 취할 때 기대할 수 있는 최대의 return값
- 이를 줄여서 Q-Function이라고 부름 (강화학습에서 잘 나오는 것)
- 최대 return값을 return
S - a -> S'
chapter 09 : State-Action Value Function
Q-function
- 상태-행동 가치 함수 Q(s,a)
- 특정 상태 s에서 행동 a를 선택한 후에 최적으로 행동한다고 가정할 때의 기대 반환값 ( 그 후에 최대의 반환을 얻기 위해 어떤 행동을 취할지를 나타냄 )
- 모든 상태에서 최상의 행동을 이미 알고 있다면(즉, 최적 정책을 가지고 있다면) 왜 Q(s,a)를 계산해야 할까? 이는 최적 정책을 알아내기 위해 이 값이 필요하기 때문임
![업로드중..]()
Q(s,a)를 최대화하는 action이 선택해야 할 action임
- The best possible return from state 𝑠 is max Q
- The best possible action in s is the action a that gives max Q
Using 𝑸(s,a)
- 가능한 모든 행동 a를 찾아보고 Q를 maximize하는 action을 선택
- 상태 s에서의 최적 정책는 Q(s,a)를 최대화하는 행동
- 가능한 가장 큰 총 반환값을 얻기 위해 가장 큰 총 반환값을 내는 행동 a를 선택 (In order to earn the biggest possible return, you should take the action 𝑎 that results in the biggest total return)
chapter 10 : Bellman Equation ; State-Action Value Function
이 것을 어떻게 구하는지가 highlight!
What is the Bellman Equation?
- If you can compute the state-action value function 𝑄 𝑠, 𝑎 , then it gives you a way to pick a good action 𝑎 from every state s
- Just pick the action 𝑎 that gives you the largest value of 𝑄(s,a)
- Question: How do you compute 𝑄(s,a)?
- In reinforcement learning, there is a key equation, called the Bellman equation
![업로드중..]()
Notations
– 𝑠: the current state (지금 상태)
– 𝑅 𝑠 : the reward of state 𝑠 (받을 수 있는 것)
– 𝑎: the current action
– 𝑠′: the state you get to after taking action 𝑎
– 𝑎′: the action that you take in state 𝑎′
![업로드중..]()
![업로드중..]()
- discountfacot를 곱해줘야 함
![업로드중..]()
chapter 11 : Random (Stochastic) Environment
입부분은 시험 범위에 안들어가요!! 대신에 좀 중요합니다
강화학습이 아직까지 효과를 못 발휘하고 있음
- 아직까지 제대로 행동하지 못하는 경우도 있음
- 이를 Random stochastic environment라고 함
In some applications, when you take an action, the outcome is not always completely reliable
- For example, if you command your Mars rover to go left, maybe there’s a little bit of a rock slide, or maybe the floor is really slippery and so it slips and goes in the wrong direction
- In practice, many robots don’t always manage to do exactly what you tell them because of wind blowing and the wheel slipping or something else
There’s a generalization of the reinforcement learning framework
- Which models random or stochastic environments
In this section, we’ll talk about how these reinforcement learning problems work
어떤 응용 분야에서는 행동을 취했을 때 결과가 항상 완전히 신뢰할 수 있는 것은 아님
예를 들어, 화성 로버에게 왼쪽으로 가라고 명령해도 작은 바위가 떨어지거나 바닥이 매우 미끄러워 방향을 잘못하거나 하는 등의 여러 요인으로 인해 항상 원하는 대로 동작하지 않을 수 있음
실제로 많은 로봇들은 바람이 불거나 바퀴가 미끄러져서 정확하게 원하는 대로 동작하지 않을 수 있음
강화 학습 프레임워크의 일반화된 형태가 있습니다.
이는 랜덤하거나 확률적인 환경을 모델링하는 것입니다.
이 섹션에서는 이러한 강화 학습 문제들이 어떻게 작동하는지에 대해 이야기할 예정임
![업로드중..]()
![업로드중..]()
아무리 optimal policy를 구현했다고 하더라도, (대부분은 성공할 것이지만) 실수로 그렇게 안 할 경우도 있음
결론 : Expected Return
![업로드중..]()
- 우리는 a'에 대해 평균을 매겨줌
- 확률을 감안한 expected value를 나타냄
- 이 식은 정확한 식이 아니라 개념을 표현하는 식이란 것을 명심하자
- 확률적인 강화 학습 문제의 목표는 기대되는 보상을 최대화하기 위해 상태 𝑠에서 취할 행동 𝑎를 알려주는 정책 𝜋 𝑠 = 𝑎를 선택하는 것
chapter 12 : Continuous state spaces
discript한 state가 아니라는 뜻 (자율 주행에서는 다양한 state가 존재함)
Discrete state (셀 수 있는)
- An agent can only be in one of a countable number of states
- (ex) The Mars rover can only be in one of six possible positions
- 지금까지 이야기한 것들 (체스의 말 등)
![업로드중..]()
Continuous state
- An agent can be in any of a very large number of continuous value states (고정되어 있지 않은, 임의의 숫자)
- (ex) The Mars rover can be anywhere on a line (e.g., 0 – 6 km)
![업로드중..]()
차를 컨트롤 하는 예를 들어 봅시다
![업로드중..]()
![업로드중..]()
차량의 상태는 몇 가지 숫자를 포함할 수 있습니다.
- x 위치 (𝑥), y 위치 (𝑦), 방향 (𝜃)
- x 방향 속도(𝑥ሶ), y 방향 속도 (𝑦ሶ), 회전 속도 (𝜃ሶ)
차량의 상태 s는 여섯 개의 숫자로 이루어진 벡터로 구성됩니다.
- 𝑠 = [𝑥, 𝑦, 𝜃, 𝑥ሶ, 𝑦ሶ, 𝜃ሶ]
여기서 각 숫자는 해당하는 유효 범위 내에서 어떤 값을 가질 수 있습니다.
- (예) 0 ≤ 𝜃 ≤ 360°
state는 여러 가지 숫자로 구성된 벡터라고 생각하자!
chapter 13 : Continuous State Spaces ; Lunar Lander
![업로드중..]()
달 착륙 시뮬레이션; 차량을 달에 착륙시켜야 합니다.
RL 연구자들에 의해 사용된 재미있는 작은 비디오 게임과 유사
- 무엇을 하는 게임인가요?
- 당신은 달 착륙선을 조종합니다.
달 착륙선은 달 표면에 빠르게 접근하고 있습니다.
당신의 임무는 적절한 시간에 추진기를 작동시키는 것입니다.
목표는 착륙장에 안전하게 착륙하는 것입니다.
![업로드중..]()
행동(action)
- 아무것도 하지 않기
- 왼쪽 추진기
- 메인 추진기
- 오른쪽 추진기
보상(reward)
- 착륙 지점에 도착: 100 - 140
- 착륙 지점으로부터의 이동에 대한 추가적인 보상
- 양의 보상: 가까워지는 경우
- 음의 보상: 멀어지는 경우
- 추락: -100
- 부드러운 착륙: +100
- 다리가 지면에 닿음: +10
- 메인 추진기 작동: -0.3
- 좌우 추진기 작동: -0.03
- 너무 많은 연료 낭비를 막기 위해 추진기 사용을 저해함 (연료 소비 줄이기 + 쓸 데 없는 움직임 줄이기)
A Few Notes on Reward Function
이것은 꽤 복잡한 보상 함수임 (우리는 y를 포기한 대신, 조건과 보상을 명시해야 한다)
- 달 착륙선 애플리케이션의 디자이너들은 원하는 행동을 구체적으로 고려하여 보상 함수에 반영함
- 원하는 행동을 더 장려하고 원하지 않는 행동을 줄이기 위해 보상 함수에 명시적으로 원하는 바를 담는 것이 중요
- 하지만 모든 상태에서 정확한 올바른 조치를 지정하는 것은 보상 함수를 명시하는 것보다 훨씬 어려운 작업
- 이것은 이와 같은 많은 강화 학습 응용 프로그램에 대해 훨씬 어려운 과제입니다.
Lunar Lander Problem
- 우리의 목적
- discounted rewards 합을 최대화하기 위해 행동을 선택하는 정책 𝜋를 학습하는 것
- 우리는 𝛾 = 0.985를 사용할 것입니다.
- 만약 이를 수행하는 정책 𝜋를 학습할 수 있다면, 달 착륙선을 성공적으로 착륙시킬 수 있음
- 이제 마침내 달 착륙선을 착륙시키기 위한 정책을 개발할 준비 완료
- 이는 심층 학습 또는 신경망을 활용하는 학습 알고리즘으로 나타날 것입니다.
다음 글에서는 어떻게 Q(s,a)를 어떻게 학습시킬지! (딥러닝으로!)