[머신러닝] 강화학습 ; Reinforcement Learning 3

이지민·2023년 12월 5일

머신러닝

목록 보기
3/5

지난 시간에 배운 것을 복습해볼까요

업로드중..

업로드중..

result는 agent의 state(상태)에 따라 결정 -> reward 제공

terminal state

  • 이 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)를 어떻게 학습시킬지! (딥러닝으로!)

profile
나는야 얍

0개의 댓글