Priceless

[RL] Do it 강화 학습 입문 4장 - 딥레이서로 구현하는 자율주행 본문

AI/RL

[RL] Do it 강화 학습 입문 4장 - 딥레이서로 구현하는 자율주행

Hyun__ 2024. 7. 30. 10:52

4-1. PPO 알고리즘

PPO 알고리즘이란

2017년 OpenAI 팀이 발표한 논문에서 소개된

최신 알고리즘 기법

 

구현하는 것에 비해 성능이 뛰어나다

 

PPO 알고리즘은 로봇 제어, 게임 등 다양한 강화 학습과 제어에서 우수한 결과가 나타났다

 

정책 경사

정책 경사는 정책 반복법에 기초한다

가치 반복법에 기초하는 Q함수와 다르다

 

특정 상태에서 취하는 행동의 확률 분포로 이루어진 정책 네트워크를 학습시킨다

상태를 입력으로 하고 출력은 행동의 확률 분포이다

 

정책 경사의 장점

1. 정책 경사는 출력인 확률 분포를 정규 분포라 가정하고 샘플링을 진행하면 에이전트의 연속된 행동을 추출할 수 있다

DQN은 에이전트가 취할 수 있는 행동이 불연속한 경우에만 적용할 수 있다

2. 정책 네트워크는 확률 분포를 기반으로 해서 행동을 선택하므로

무작위성을 부여하기 위한 엡실론과 같은 별도의 변수가 필요하지 않다

에이전트는 기존 정책을 준수하며 에피소드를 진행해도 무방하므로

정책 경사는 정책 밀착 기법에 속한다

 

정책 경사의 순서

1. 정책 π(θ)을 무작위로 생성

2. 에이전트는 환경 내에서 π(θ)에 따라 행동하며 확인한 일련의 상태와 보상을 샘플로 취한다

3. 특정 행동으로 인한 보상

특정 행동에 대한 보상이 기대값보다 높으면 해당 행동의 확률을 증가시키고

특정 행동에 대한 보상이 기대값보다 낮으면 해당 행동의 확률을 감소시킨다

4. 3을 반복하면 정책 파라미터 θ를 조절한다

 

정책 경사를 위한 새로운 기대값을 구하는 방법을 찾아야 한다

 

PPO 알고리즘

정책 경사는 간단한 동작을 학습하기 위해 생동 샘플을 수백만 번넘게 취해야 한다

에피소드 단위로 학습하기 어려우므로 PPO 알고리즘을 사용한다

 

PPO 알고리즘이 해결해야 할 문제

문제1: 현재 정책을 최대한 개선하고 싶을 때 너무 많이 개선되어 성능이 떨어진다면?

문제2: 최적의 크기로 정책을 개선하기 위한 방법은 무엇인가?

 

클리핑

위 두 가지 문제를 해결하기 위해 정책 갱신 전후의 비율을 클리핑한다

PPO 알고리즘은 온라인 학습 방법으로

에이전트가 환경으로부터 얻는 샘플을  바로 사용한다

 

DQN과의 비교

샘플 비효율성을 해결하기 위한다면 PPO 알고리즘을 고려

상태 공간이 방대한 데 비해 선택할 수 있는 행동이 적다면 DQN 알고리즘을 고려하면 좋다

 

4-2. 딥레이서로 공부하는 강화 학습

추후 진행