Reinforcement Learning

happiyoung_·2026년 3월 18일

강화학습

목록 보기
1/5

강화학습 요소

1. 강화학습의 개념 ( 아래 6개의 키워드 기억하기 )

  • componants : agent, environment
  • data : action, state, reward
  • function : policy

2. Componants

agent, environment => interaction의 주체

  • 주거니 받거니 하는 주체들
  • 에이전트 : ai 프로그램 (연구 도메인의 ai 프로그램, 학습자, 결정알고리즘)
  • 환경 : 에이전트가 상호작용하는 대상
    => 에이전트가 환경에 진입하여 상호작용

3. action, state, reward

  • action의 주체 : 에이전트 (예, 자율주행차가 핸들을 꺽는 행위)
  • action의 객체 : 환경 ( 핸들을 꺽는 행위를 환경이 받아들이고, 환경을 변화시킴)
    => 환경을 변화시키는 것
    환경이 변화된다는것은 state가 바뀐다는 것이고, 그에 따른 reward를 에이전트에 보낸다.
    => 에이전트는 state와 reward를 받아와서 action을 만들고, 환경은 액션을 받아 state와 reward를 보낸다.
  • state : 환경의 상황, 상태
  • reward : 값이 딱 하나인 실수값 (action에 대한 좋은지 나쁜지에 대한 피드백)

4. policy

  • agent에 속해있는 함수
  • state 기반 최적의 어떤 액션을 낼 것인가에 대한 전략

5. trajectory (학습의 시퀀스)

  • 시간에 따라서 멀티스탭
  • 각 스탭마다 전략(policy/함수)가 존재. 이걸 위해 reward라는 개념이 존재
  • 행동이 좋은지 나쁜지는 지금 당장은 모르나, 나중에 피드백이 발생

6. state 의 정의가 반드시 필요

  • state는 환경의 상황에 대한 모든 정보 포함
  • 환경은 이전상태 + 현재 액션을 반영해 다음 상태를 결정 = 상태 전이 (state transition)
  • 상태의 모든 정보가 에이전트에 제공되는 경우 : fully observable
  • 모든걸 알 수 없고 부분적인 것만 알수 있는 경우 : partial observable

7. reward

하나의 스칼라값

  • 액션에 대한 좋고 나쁨을 피드백하는 값
  • 에이전트는 리워드가 굉장히 중요함 (왜? 지도학습은 목적이 확실, 강화학습은 학습하려는 함수 f를 만드는 기준이 리워드가 되기 때문)
  • 리워드가 함수 f를 어떻게 만들어야 잘만든것인지 가이드를 해줌
  • 이러한 피드백은 즉시가 아니라 한참뒤에 나올 수 도 있음 즉, 과거, 미래의 리워드를 고려해야한다는 의미
  • 미래의 리워드가 어떻게 되어야 좋은 결과를 낼것인가 f를 정의
    예를들어, 주식도 지금 당장 10만원보다 1년뒤에 총 1억을 버는것이 더 낫다. => 이과정에는 지금 당장은 오르거나 잃을 수도 있으나 전체적인건 1억을 벌고자함
    리워드도 그때그때의 리워드를 생각할 것이 아니라 "누적"된 리워드를 생각
  • 순간의 리워드 : 행동자체를 강화 또는 자제
  • 장기적인 리워드
  • dense : 행동을 할때마다 리워드가 나타나는 것
  • sparse : 행동을 쭉하는데 마지막에, 듬성듬성 리워드가 나타나는 것 (바둑)

8. 강화학습의 궁극적인 목적

  • policy f를 아는것
  • 기준 : 최종 최고 점수를 얻는 것이 목적, 리워드를 누적한 값
  • 로봇의 경우, 최대의 보상 값을 얻기위해서는 넘어지지않고, 걸어가는것을 계속 유지할때 최대 (상황이 어떻게 변하던 간에)

9. exploitation

현재 액션을 하는데 기존의 경험을 활용해서 진행

10. exploration

그동안 간곳보다 최고의 액션이 있을 수도 있음 -> 한번 모험해보는 것
=> 9와 10은 트레이드 오프 관계

  1. 각 state별 함수를 얻어와, 최종 합이 최대값이 되도록 하는 목표를 이루기위해
  2. 강화학습은 인간이 모르는 새로운 방법론을 도입할 수 있다.

각 요소가 가질 수 있는 값

1. action

  • action이 이산적인 값인지 연속적인 것인지에 따라 쓰이는 함수가 다르다.

2. policy

  • policy state가 정해지면 행해지는 액션은 하나로 고정 :: deterministic == 확률이 1인 것 == 확률 분포 PMF
  • 확률실험에 의해서 state가 주어지는 것, 확률 분포가 필요한 이유 :: stochastic == 확률이 0.2, 0.8, 0.3 다양 == 확률분포 PDF
    => 그렇다면 확률이 결정되어야하는데 그 결정을 위해 확률 분포가 쓰인다. / 반드시 어딘가로 가는 것으로 정해진 것이 아니라 때로는 확률적으로 낮은 곳으로 가는 것도 가능 (새로운것을 탐험할 때 유리)

3. environment

  • 위로가기로 정해지면 반드시 위로 간다 :: deterministic
  • 위로가기로 정해져도, 위로갈지 옆으로갈지 확률적으로 정해진다. :: stochastic

4. etc

  • trajectory : policy에 의해 벌어지는 것들
  • episode : 하나의 trajectory가 끝나는 단위
  • transition : state, action, reward. state (t+1) 의 쌍
  • horizon - finite : episodic case
  • infinite : continuous case
  • goal : trajectory마다 있는 reward의 총 합이 극대화가 되도록 하는 것

0개의 댓글