일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- dockerfile
- 컴퓨터네트워크
- S3
- Docker
- Django
- 컴퓨터 네트워크
- 데이터 웨어하우스
- 운영체제
- 데이터 엔지니어링
- http
- TCP
- Go
- 종류
- PYTHON
- 데이터 파이프라인
- 데브코스
- 가상환경
- TIL
- 자료구조
- sql
- 데이터엔지니어링
- 파이썬
- redshift
- 데이터베이스
- AWS
- linux
- airflow
- airflow.cfg
- HADOOP
- 정리
- Today
- Total
홍카나의 공부방
[강화학습] 기초 이론 1강 학습노트 본문
강화학습은 지도학습, 비지도학습과 달리 인공지능에서 따로 한 분야를 차지하는 기술이다.
강화학습의 특징
- 지도학습과 달리 Supervisor가 없다. 오로지 Agent가 reward(보상)라는 시그널을 줄 뿐이다.
- 피드백(곧, reward)이 즉시 발생하지 않을 수 있다.
- 강화학습은 sequential data로, 시간이 중요하다. ( Time really matters )
- Agent의 action이 data에 영향을 미친다.
Rewards(보상)
- 스칼라 피드백 시그널이다. (즉, 숫자 하나다. R_t )
- agent의 목적은 cumulative reward를 최대화하는 것이다. ( maximise cumulative reward )
- 보상을 스칼라 하나로 치환하기 쉬운 문제일수록 강화학습을 적용하기 쉬울 듯.
Sequential Decision Making
- Goal : 미래에 받을 보상을 극대화 하는 것
- Actions may have long term consequences(액션이 장기간 결과를 불러올 수 있음)
- Reward may be delayed
Agent and Environment
agent가 각 스텝 t마다
- 액션 A_t을 하고, 관찰 O_t, 스칼라 보상 R_t를 받는다.
environment(환경)는
- 액션 A_t를 받고, 관찰 O_t+1, 스칼라 보상 R_t+1을 방출한다.
History and State
- H_t = O_1, R_1, A_1, ..., A_t-1, O_t, R_t
- State는 다음에 무엇을 할지 쓰이는 정보다.
- State는 history의 funtion이다. S_t = f(H_t)
Environment의 State
- S_t^e라고 표현하는데, 내적으로 가지고 있는 표현형이다.
- Agent에게 보통 보이지 않는다.
- 우리가 게임을 할 때 게임의 화면만 보고 게임을 즐기는 것과 비슷한 예시, 우리가 게임 내부 데이터까지 들여다보지 않는다.
Agent의 State
- S_t^a라고 표현하는데, 내가 다음 행동을 하기 위해 사용하는 정보다.
Information State(Markov State)
- State가 Markov하다는 것은, Agent가 결정을 할 때, 바로 이전 단계의 State만 보고 결정한다는 것
- "The Future is independent of the past given the present."
- State는 그때 그때 달라질 수 있기 때문에 상황에 따라 Markov 상태 일수도 있고, 아닐 수도 있다.
- S_t에 왔을 때 다음 단계가 S_t+1가 될 확률은, S_1부터 S_t가 다 주어져 있어도 S_t의 조건부 확률로 결정된다.
- 즉, S_t를 아는 순간 S_t+1가 될 확률을 구하기 위해선 History가 필요 없기에 던져버릴 수도 있다.
Rat Example
- Row당 하나의 History라고 가정하자. 전구를 2번 키고, 레버를 1번 당기고, 벨을 1번 울렸더니 전기 충격을 받았다! 라고..
- State를 마지막 3 Sequence 과정이라고 생각하자. 그러면 전구->레버->벨이니까 지금은 감전을 당할 것이다.
- State를 전구,레버, 벨의 Count라고 생각하자. 그러면 지금은 치즈를 받을 것이다.
- State를 Complete Sequence라고 하면, 마지막 State에서 보상은 알 수 없다.
- State를 어떻게 표현하냐에 따라 보상은 달라진다.
Policy(정책)
- 정책은 agent의 행동을 규정하는 것이다.
- State를 넣어주면 Action을 뱉어낸다.
- Deterministic Policy = a = Pi(s)
- Stochastic Policy = Pi(a|s) = P[A_t = a| S_t = s]
- Deterministic 정책이라고 해서 Value Function이 쉽게 나오지는 않는다. 환경 자체의 확률적인 변수가 있을 수 있기 때문.
Value Function
- 어떻게 게임을 할 지 정의를 해주는 애가 Policy!
- S에서 Pi를 따라서 게임을 지속할 때, 받을 수 있는 보상의 기대값 = Value Function
- 미래에 받을 수 있는 Value의 총합
- 우변의 설명 : s라는 state에서 시작했을 때, t+1의 리워드 ... + 의 기대값을 다 더한것
- gamma : 미래 리워드를 줄이는 것 (할인율과 비슷하다고 이해하면 될 듯하다.)
Model
- policy, model, value라는 3가지가 있어야 한다.
- 모델이란 다음에 찾아올 환경을 에측하는 것이다.
- Reward를 예측하는 것이 있고, 그 다음 State를 예측하는 것이 있다.
Categorizing RL agents (1)
- Value Based
- Policy Based
- Actor Critic ( Value + Policy )
Categorizing RL agents (2)
- Model Free ( Policy and/or value function)
- Model Based (Policy and/or value function, and MODEL)
Learning and Planning
- 순차적 의사 결정에는 2가지 핵심 문제가 존재함.
- Planning : 환경을 알고, 리워드를 아는 것. 이 때는 환경에서 뭔가를 하지 않고도, 정책을 계산 가능
- Learning : 환경을 모른다.
Learning의 예시
- 아타리의 예시. observation만 던져주고 게임을 계속하고, 에이전트가 학습을 지속하는 것.
Planning의 예시
- 에뮬레이터에 쿼리를 계속 날릴 수 있는 것. Tree 형태로 다음 state를 추측하면서 최적의 정책을 찾는 것
Exploitation vs Exploration
- Exploitation(이용) : 현재까지의 경험 중 현 상태에서 가장 최대의 보상을 얻을 수 있는 행동을 수행하는 것
- Exploration(탐험) : 경험을 쌓기 위해서 시행하는 새로운 시도
Prediction and Control
- Prediction(예측) : 미래를 평가하는 것. Value Function을 잘 학습 시키는 것.
- Control(통제) : 미래를 최적화하는 것. 최고의 정책을 찾는 것.
- 프리딕션 문제를 푼다. 컨트롤 문제를 푼다. 다르게 접근해볼 것.
출처 : https://www.youtube.com/watch?v=wYgyiCEkwC8&t=3308s&ab_channel=%ED%8C%A1%EC%9A%94%EB%9E%A9Pang-YoLab
'AI > Reinforcement Learning' 카테고리의 다른 글
hey chatGPT, 강화학습을 배우려면 어떻게 해야해? (0) | 2022.12.06 |
---|---|
[강화학습] 4강 - Model-Free Prediction (0) | 2022.12.04 |
[강화학습] 3강 학습 노트 - Planning by DP (2) | 2022.12.04 |
[강화학습] 2강 학습 노트 - Markov Decision Process (0) | 2022.11.28 |