티스토리 뷰
이 글은 David Silver의 강화학습 강의를 기초로 하여 작성하였습니다.
https://www.davidsilver.uk/teaching/
■ 강화학습(Reinforcement Learning, RL)이 다른 머신러닝과 어떻게 다른가?
(1) Supervisor(답 알려주는 자)가 없음
(2) Only a reward signal
- reward(목적) 신호 받아서 reward를 maximize하는(optimal해에 도달하는) 좋은 방법을 결정
(3) Feedback이 즉각하지 않고 늦어질 수 있음
- reward가 좋은 action을 했을 때 바로 주어지는 것이 아님
- 어느 action이 reward를 야기시키는 것인지 모름
(4) Time이 중요
- Sequential, 순서 중요
- Non iid(identically independant distributed) data
(5) agent의 action이 그 이후에 받게 되는 데이터에 영향을 줌
■ 강화학습 예제
(1) backgammon 보드 게임에서 world champion 이긴 것
(2) 투자 포트폴리오 매니징(이윤이 reward)
(3) 휴머노이드 로봇 걷게 하는 것(넘어지면 -10 reward)
(4) Atari game에서 사람보다 잘 하는 것
■ 용어 설명
(1) Reward(Rt)
- scalar feeback signal
- step t때 agent가 얼마나 잘하고 있냐를 나타낸다.
- agent의 목적은 cumulative reward를 최대화하는 것이다.
- 강화학습은 reward hypothesis에 근거한다.
- Reward Hypothesis : 모든 목적은 cumulative reward를 극대화하는 것으로 묘사될 수 있다.
(e.g 로봇 걷는 것의 reward는 1초씩 안 넘어질 때마다 1점씩 더하고 넘어질 때마다 -10점씩)
- Sequential Decision Making
- Goal : 미래 받을 reward 총합을 maximize하는 action을 선택
- Action은 long term consequence 일 수도 있음
- Reward는 delay 될 수도 있음
- 즉각적인 reward를 포기하고 좀 더 long-term reward를 얻는 것이 나을 수 있다.
(e.g 금융투자-한 달정도)
(2) Agent and Environment
- 각 t step마다 agent는 - action(At) 수행 - observation(Ot) 받고 - scalar reward(Rt) 받음 |
- 각 t step마다 Evironment는 - action(At) 받고 - observation(Ot+1) 뱉음 - scalar reward(Rt+1) 뱉음 |
(3) History and State
● history : observation, actions, rewards의 sequence
Ht = O1, R1, A1, ... At-1, Ot, Rt
● state : 다음 step에서 뭘 할지 결정하는 정보의 모든 것, history의 함수(history 안에 있는 정보를 가공)
St = f(Ht)
● Environment state(set) :
- Environment의 내적인 표현으로, 다음 observation과 reward를 선택하기 위해 environment가 사용하는 모든 정보
- agent에게 일반적으로 보이지 않음, 보이더라도 관련하는 정보를 포함한다.
e.g) Atari 게임기
- observation : 화면, action : 조이스틱 컨트롤러, reward(몬스터 죽일 때마다 쌓이는) : 총점
- Evironment state : 다음 화면을 계산하기 위해 현재 몬스터 위치, 내 위치, 등 참고하는 숫자들(사실상 알 필요가 없는)
● Agent State(sat) : agent가 다음 action하는데 필요한 정보들
e.g) 삼성전자 투자 시 참고하는 어제 주가, 어재 거래량, 삼성전자 분기별 재무제표들이 Agent State라 할 수 있음
● Markov State(information state) : 결정 시 바로 이전 State에서만 결정
- 현재가 주어져 있으면 과거는 미래에 독립적이다.
P[St+1|St] = P[St+1|S1...St]
- S1~St가 주어지더라도 St+1에 갈 확률은 St로만 결정된다. 이럴 때 Markov하다고 할 수 있다
H1:t → St → Ht+1:∞
- State를 알면 history는 던져버릴 수 있다. 오로지 현재 State가 미래에 영향을 줄 때 Markov하다고 할 수 있다.
- State는 미래에 대한 충분한 통계치이다.
- Environment state는 Markov
- History는 Markov
(4) Observable Environments
● Fuly Observable Environments
- Full observability : agent가 직접 environment state를 관찰할 수 있다.
- Agent state = environment state = infomration state
- Markov decision process(MDP)라고 부름
● Partially Observable Environments
- Partial observability : agent가 간접적으로 environment 관찰
(e.g 로봇이 머리에 카메라를 달고 걸을 때 로봇이 어느 방향을 쳐다보느냐에 따라 카메라의 vision이 달라짐,
포커할 때 상대 패를 모르고 결정)
- agent state ≠ environment state
- Partially observable Markov decision process(POMDP)라고 부름
- Agent는 자신만의 state 표현형을 구축해야 한다.(sat)
- <state 표현하는 방법>
- history를 쓸 수도 있음
- Environment state의 beliefs
- RNN과 같이 이전 state의 linear combination + 현재 observation의 linear combination를 변형
■ RL Agent의 구성요소
(1) Policy : agent의 행동을 나타내는 함수
- state를 넣어주면 action을 뱉어주는(매핑)
- Deterministic policy : state를 넣어주면 action이 결정적으로 정해짐
a = π(s)
- Stochastic policy : state를 던져주면 여러 action별 확률을 뱉어주고 확률에 따라 action을 선택
π(a|s) = P[At = a|St = s]
(2) Value function : 각 state 또는 action이 얼마나 잘했는지
- state가 얼마 좋은지를 평가, 총 미래 reward의 합산을 예측
- 내가 이 state에서 어떤 policy를 따라서 게임이 끝날 때까지 할 때, 얻을 총 reward의 기대값
(기대값인 이유 : stochastic policy라 할 때 뭘 선택해야 하는지에 따라 결정이 달라지므로)
(deterministic policy 역시 policy / environment 자체에 확률이 있을 수 있어 기대값을 넣어줘야 함)
vπ(s) = Eπ[Rt+1 + γRt+2 + γ2Rt+3 + ... |St = s]
(3) Model : environment의 agent 표현형
- environment가 어떻게 될 지 예측하는 것
- ① action을 했을 때 reward를 뭘 받을지를 예측하거나 ② state transition을 예측하는 것
e.g [미로(짧은 step으로 도착)]
- Reward : time-step마다 -1, Action : N/E/S/W, State : agent의 위치
Policy | Value Function | Model |
각 state에서 어떤 방향으로 가야할지 화살표를 나타냄 |
policy에 dependant하며 optimal policy할 때 value가 어떻게 되느냐를 표현 |
- Model 부연설명 :
- Dynamic Model(action이 state를 어떻게 변화시키는지)
- Reward Model(각 state에서 reward를 얼마나 받는지)
- 실제 Environment가 일어나는 게 아니기 때문에 agent가 생각하는 Model은 완벽하지 않을 수 있음
■ RL agent의 분류방법
<분류1>
(1) Value Based - No Policy, Value Function
(2) Policy Based - Policy, No Value Function
(3) Actor Critic - Policy, Value Function
<분류2>
(1) Model Free - Policy and/or Value Function, No Model
(2) Model Based - Policy and/or Value Function, Model
■ Learning and Planning
● 강화 학습
- Environment를 초기에는 모름
- Agent가 Environment와 interaction하며 policy 개선
● Planning
- Environment를 앎(Reward와 state transition을 아는 것)
- Agent는 외부와 interaction 없이 내부적 computation을 통해 plan을 하며 최적의 policy를 찾아나가는 것
- a.k.a deliberation, reasoning, introspection, pondering, thought, search
■ Exploration and Exploitation
- 강화학습은 trial-and-error learning과 같다
- agent는 좋은 policy를 탐색해야만 한다.
● Exploration : 정보를 얻어서 environment를 이해하는 과정
● Exploitation : 정보를 모아서 reward를 maximize하는 과정
- Exploration도 Exploitation를 하는 만큼 중요하다.
- 이 둘은 trade-off 관계(Exploration하려면 정보가 없는 곳도 가봐야 함. 당장은 reward에 도움될지는 모름)
(e.g 저녁메뉴 결정 시 Exploration-선호 하는 곳 / Exploitation-새로운 식당)
■ Prediction and Control
● Prediction : policy가 주어졌을 때 미래를 평가, value function를 학습, state에 따른 value를 찾는 것!
(e.g 격자세계에서 한칸씩 움직일 수 있고, 한 칸 움직일 때마다 -1, A→ A' reward +10
random policy로 움직이면 각 칸의 value는 얼마일까?
각 state에서 출발해서 충분히 오래했을 때 내 future reward의 합이 무엇인지?)
● Control : 미래를 최적화하는 것, 최적의 policy를 찾는 것, state에서 어떻게 움직여야 하는 지를 찾는 것
'Data Science&AI' 카테고리의 다른 글
[강화학습 뿌시기] 3. Planning by Dynamic Programming (0) | 2022.01.08 |
---|---|
[강화학습 뿌시기] 2. Markov Decision Processes(MDP) (0) | 2022.01.07 |
[논문리뷰]Tabular Data : DeepLearning is Not All You Need (0) | 2021.07.28 |
[머신러닝 기초] Bagging(배깅) vs Boosting(부스팅) (0) | 2021.07.17 |
[머신러닝 기초] Bias vs Variance (0) | 2021.07.17 |
- Total
- Today
- Yesterday
- pandas-ai
- pandas-gpt
- amzaon quicksight
- 생성형BI
- Data Drift Detection
- Model Drift Detection
- NHITS설명
- 추천시스템
- 영어공부
- 비즈니스 관점 AI
- 시계열딥러닝
- SQLD 정리
- 오토인코더
- On-premise BI vs Cloud BI
- 최신시계열
- data drift
- AutoEncoder
- amazon Q
- SQLD
- 모델 배포
- Data Drift와 Concept Drift 차이
- 모델 드리프트
- Model Drift
- Concept Drift
- 영화 인턴
- 데이터 드리프트
- Generative BI
- SQLD자격증
- Tableau vs QuickSight
- 모델 드리프트 대응법
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |