상세 컨텐츠

본문 제목

나도 이해할수있다 강화학습!(Q함수 갱신 규칙, DQN 실습)

프로그래밍/나도 이해할수있다(강화학습)

by 아싸호랑나비 2023. 2. 12. 13:27

본문

탐험과 활용파트에서 항상 하던 행동만 하는방식을 고쳤다면

이번엔 눈앞의 보상만 따라가지않고 더 멀리보는 방법을 모델에게 알려줄수있는 방법은 없는지 배워볼차례다

이로서 모델은 눈앞의 보상만을 고려하지않고 더 멀리 바라본후 행동을 결정할수있게 되었다

자세한 Q학습갱신규칙은 다음과 같다

  • 끄적이면서 알게되었는데 가중치(입실론)를 1로 두게되면  정상적인 학습이 이루어지지않는것같다(확실하지않음)
  • 미래의 보상은 n단계 과거로 갈때마다 가중치**-n배만큼 약해진다
  • 할인계수를 비롯해 대부분 파라미터(learning rate등등)에는 명확한 설정방법이 없다 시행착오를 거쳐 조율해야함

 

 

실습을 진행해보았다(DQN을 자세하게 이해하고싶어서 이책을 구매하게 되었다)

딥Q학습을 GridWorld 문제에 적용하기

GridWorld에서 우리는 에이전트를 목적지까지 옮겨야한다

GridWorld에서 앞서 소개한 Q학습갱신 과정을 딥러닝학습에 이용하게 된다면 다음과 같을것이다

다만 실습에서는 input으로 현재 state만을 넣어주고 output으로 모든 액션에 대한 결과를 한번에 받는다 이게 딥마인드의 방식이라고 한다 왜 더 좋은지는 명확히 잘 모르겠다 state마다 가중치를 조절하는것이 더 좋아서 그런가?

또한 앱실론 같은경우 초반에는 무작위 탐험을 유도하기위해서 높은값으로 설정했다가 시간이 지나면서 점점 낮추는 방향으로 학습시킨다고 한다

 

이제 본격적인 실습을 할예정인데 자세한 내용은 내 깃헙을 참고해주길 바란다!

https://github.com/hangilzzang/Learning/tree/main/reinforcement_learining

 

관련글 더보기