강화학습 알고리즘 종류에는 3가지가 있다.
- 정책 기반
- 액터-크리틱 : 가치와 정책을 동시에 학습
- 가치 기반
이중 액터-크리틱을 봐보자.
액터-크리틱 방법 (Actor-Critic Method)
- 가치 함수를 학습해서 Ψ부분을 계산하는 방식
- 액터는 정책을 이용해서 행동
- 크리틱은 갗치 함수로 액터의 행동을 평가
가치 함수 (Value Function)
- 가치는 상태(St)에서 미래에 받을 총 보상의 기댓값
- 현재 상태에서 갈 수 있는 모든 궤적에 대해 총 보상의 기댓값이 가치이다.
- 가치가 높은 상태로 이동하는 것이 좋은 정책!
Q 가치 함수
- 상태(St)와 행동(At)에서의 총 보상의 기댓값
- 현재 상태에서 행동을 했을 때 갈 수 있는 궤적에 대한 총 보상
- Q Value를 사용하면 전이 함수 없이도 가치를 알 수 있음
가치 함수 학습
- 몬테카를로 추정
- 가치 함수의 몬테카를로 추정은 실제 가본 하나의 궤적에서 보상을 합산한 값
- 부트스트랩핑
- 현재의 가치를 한 단계 이동했을 때 보상과 가치의 합으로 계산
A2C (Advantage Actor Critic)
- 가치를 학습해서 계산한 이득으로 정책을 학습
이득(Adavantage) 계산
- 이득을 계산할 때 리턴을 사용하면 정확도를 높일 수 있다.
- 몬테카를로 리턴
- n-step 리턴
- GAE
몬테카를로 리턴(Monte Carlo Return)
- 궤적의 보상을 직접 합산하기 때문에 정확도는 높지만 분산이 커짐
n-스텝 리턴
- 부트스트래핑과 몬테카를로 리턴의 중간 형태.
- n-step 이후에 부트스트랩핑
GAE (Generalized Advantage Estimate)
- 모든 종류의 n-스텝 이득의 평균을 사용
가치 기반 방법
- 최적의 가치 함수를 학습해서 결정적 정책을 추출하는 방식
DQN
- Q 러닝 : 결정적 정책 추출 + Q 가치 함수 업데이트. 두 단계를 합친 모양
- DQN은 타깃 네트워크를 이용해서 확장
- DQN 이슈
- 결정적 정책은 탐색을 못한다.
- 데이터의 상관성이 높으면 학습이 잘 안된다.
- 타깃이 고정되어 있지 않고 계속해서 변한다.
입실론 그리디 (e-greedy)
- 지금까지 알고 있는 최고의 방법을 실행할 것인가? vs 새로운 행동을 시도해서 더 높은 보상을 받을 수 있는 방법을 찾을 것인가?
- 입실론 그리디를 사용해서 E비율로 탐색을 시도한다.
리플레이 버퍼
- 데이터가 순차적으로 입력되면 데이터 사이에 상관성이 높아질 수 있다.
-> 과거 데이터를 저장해 두었다가 학습하는 방식으로 데이터 상관성을 낮추자! - 리플레이 버퍼를 이용한 Q-iteration
타깃 가치 함수 (Target Value Function)
- 가치 함수의 타깃 모델을 두어 고정된 타깃으로 학습하자.
Double DQN (Double Deep Q-Learning)
- Double DQN은 Q가치가 큰 값으로 편향되지 않도록 행동 선택과 가치 계산 네트워크를 분리하는 방식
PPO (Proximal Policy Gradient)
배경 : 정책이 개선될 때, 목적함수의 변화가 최대화되는 정책을 찾아보자!
- 즉, 목적함수가 점점 개선되는 방향으로 정책을 업데이트 하려는 전략
원래의 정책과 개선된 정책이 크게 달라지지 않는다는 가정 하에 이득의 기댓값을 최대화
'프로그램 > SKT FLY AI' 카테고리의 다른 글
SKT FLY AI : 32일차 (0) | 2023.08.09 |
---|---|
SKT FLY AI : 31일차 - 챗봇 (0) | 2023.08.07 |
SKT FLY AI : 29일차 (0) | 2023.08.03 |
SKT FLY AI : 28일차 - 딥러닝(강화학습) (0) | 2023.08.03 |
SKT FLY AI : 27일차 (0) | 2023.08.01 |