HuggingFace Deep RL Course - 1. Deep Reinforcement Learning

jihyelee·2023년 2월 6일

강화학습이란

  • 에이전트(AI)가 시행착오(trial and error)를 거치면서 환경(environment)과 상호작용하고 어떤 행동(action)을 수행함에 있어서 피드백으로써 보상(reward; 긍정, 부정)을 받음으로써 학습하는 방법
  • 결정 문제(decision problem; 통제 태스크라고 불리기도 함)를 해결하기 위한 프레임워크

  • 환경으로부터 상태(state_0)를 받아 에이전트가 행동(action_0)을 취함
  • 환경은 새로운 상태(state_1)로 향하고 에이전트에게 보상(reward_1)을 줌
  • 강화학습의 루프는 state_0, action_0, reward_1, state_1(next state)의 시퀀스로 이루어짐
  • 기대 리턴(expected return)이라고 불리는 누적 보상을 최대화하는 것이 목표

Markov Property

  • 강화학습 process는 Markov Decision Process(MDP)라고도 불림
  • 에이전트는 오직 어떤 행동을 취할 지 결정함에 있어서 현재의 상태만이 필요하며 이전에 취했던 행동과 상태 정보는 필요하지 않음

Observation, State Space

  • 관찰(Observation)과 상태(State)는 에이전트가 환경으로부터 얻는 정보
  • 상태(state): 감춰진 정보 없이 환경의 모든 정보를 관측할 수 있는 상태 (e.g. 체스게임의 체스판)
  • 관찰(observaion): 일부 정보만 관측할 수 있는 상태 (e.g. 슈퍼마리오 게임에서 스크린에 보이는 화면)

Action Space

  • 환경에서 가능한 모든 행동
  • discrete space (discrete; 별개의): 가능한 행동의 수가 한정적 (e.g. 슈퍼마리오처럼 앞, 뒤, 위, 아래만 움직일 수 있는 경우)
  • continuous space (continuous; 연속적인): 가능한 행동의 수가 무제한 (e.g. 자율주행차)

Rewards, discounting

  • 보상은 에이전트에게 있어 유일한 피드백이기 때문에 굉장히 중요
  • 보상을 기반으로 에이전트는 어떠한 행동이 취해져야 할지 아닐지를 결정
  • 누적 보상 = 시퀀스 내의 모든 보상의 합
  • 하지만 초기의 보상일수록 예측이 쉽고 발생 가능성이 높기 때문에 단순히 누적합을 구하는 것은 옳지 않음
    • e.g. 쥐가 고양이를 피해 치즈를 최대한 많이 먹는 방법을 학습한다고 할 때, 고양이 근처에 치즈가 더 많다고 할지라도 고양이에게 잡아먹힐 수도 있기 때문에 발생 가능성이 낮음
    • 이 때문에 discount rate인 gamma를 활용
      • 감마가 클수록 discount가 작음, 장기적인 보상을 중시
      • 감마가 작을수록 discount가 큼, 단기적인 보상을 중시


Task types

  • Episodic task
    • 시작점과 종료점이 있는 경우
    • 에피소드(= 상태, 행동, 보상, 새로운 상태의 리스트) 생성 (e.g. 슈퍼마리오 게임)
  • Continuing task
    • 종료점이 없이 영원히 지속되는 태스크
    • 최고의 행동을 선택함과 동시에 환경과 상호작용하는 방법을 학습 (e.g. 자동주식거래)

Exploration & Exploitation trade-off

  • Exploration(탐구): 환경에 대한 더 많은 정보를 찾기 위해 무작위 행동을 시도
  • Exploitation(이용): 보상을 최대화하기 위해 알고 있는 정보를 이용
  • 이용만 추구하다보면 당장 보상은 얻을 수 있지만 멀리 위치한 큰 보상을 놓칠 가능성이 있음
  • 탐구를 추구하다보면 멀리 위치한 큰 보상을 얻을 수 있으나 실제로 보상이 존재하지 않을 수도 있기 때문에 위험부담을 지님
  • 때문에 환경을 얼마나 탐구할지와 환경을 얼마나 이용할지 사이의 균형을 잘 잡아야 함 (trade-off)

강화학습을 위한 해결책

  • policy(π)
    • 에이전트의 뇌에 해당하는 것으로 주어진 상태(state)에서 어떤 행동을 취할 것인지 알려주는 함수
    • 주어진 때에 에이전트의 행동을 규정
    • 바로 이 Policy가 우리가 학습하고자 하는 함수이며, 기대 리턴을 최대화하도록 policy를 최적화

Policy-based, Value-based

  • Policy-based

    • 주어진 현재 상태에서 어떤 행동을 취할 것인지 학습 (직접적으로 policy function 학습)
    • 각각의 상태와 상응하는 최고의 행동 사이의 mapping을 학습
      • 해당 상태에서 가능한 행동들에 대한 확률분포를 학습
    • deterministic policy: 주어진 상태에서 언제나 동일한 행동을 리턴하는 policy
    • stochastic policy: 행동들에 대한 확률분포를 결과로 리턴하는 policy
  • Value-based

    • 에이전트로 하여금 어떤 상태가 더 가치있는지 학습하고 더 가치있는 상태로 이끄는 행동을 취하도록 학습 (value function을 학습함으로써 간접적으로 policy function 학습)
    • 상태와 해당 상태가 됨으로써 기대되는 값(가치; value) 사이의 mapping을 학습
    • 상태의 값은 해당 상태에서 시작해 policy에 따라 행동한다면 에이전트가 얻을 수 있는 expected discounted return
    • policy에 따라 행동한다 = 가장 높은 값을 가진 상태로 향한다

Deep Reinforcement Learning

  • 강화학습 문제를 해결하기 위해 딥 뉴럴 네트워크를 사용하는 학습 방법
  • 예를 들어, 기존의 Q-Learning에서는 Q table을 활용하여 어떤 행동을 취할 것인지 선택했다면 DRL에서는 뉴럴 네트워크를 사용

수업 링크

profile
AI (NLP) Graduate Student at Seoul National University. Ex-AI Researcher & Engineer at LG CNS AI Lab | Currently AX Engineer at Samsung Electronics (R&D Campus).

0개의 댓글