modesta.log
로그인
modesta.log
로그인
HuggingFace Deep RL Course - 1. Deep Reinforcement Learning
jihyelee
·
2023년 2월 6일
팔로우
0
Deep Reinforcement Learning
딥러닝강의
deep-reinforcement-learning
목록 보기
3/11
강화학습이란
에이전트(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에서는 뉴럴 네트워크를 사용
수업 링크
jihyelee
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).
팔로우
이전 포스트
Reinforcement Learning from Human Feedback (RLHF)
다음 포스트
HuggingFace Deep RL Course - 2. Q-Learning
0개의 댓글
댓글 작성