컴공돌이의 스터디 블로그

[시즌RL].Lecture 6 - Q-Network 본문

강의 Study/모두를 위한 머신러닝과 딥러닝 강의

[시즌RL].Lecture 6 - Q-Network

제갈초아 2018. 3. 13. 17:00

* 이 글은 홍콩과기대 김성훈 교수님의 무료 동영상 강좌 "모두를 위한 머신러닝과 딥러닝 강의"를 보고 요점을 정리한 글 입니다.


Q-Network



  Q-Table을 사용한 학습은 굉장히 쉽게 사용할 수 있습니다. 하지만 카메라를 통해 입력받은 화면에 대한 Q-Table은 엄청난 크기를 가지게 됩니다. Reinforcement Learning(강화 학습)을 사용할 수 있는 대부분이 이런 카메라를 통해 입력받는 화면을 사용해야 하기 때문에 Q-Table를 대신할 새로운 방법을 생각해야 했습니다.


  이런 Q-Table을 대신하여 문제를 해결하기 위해서 선택된 방법이 바로 Neural Network(신경망)입니다. 이 Neural network를 사용한 Reinforcement Learning을 다른 말로 Q-Network 라고 부릅니다. Reinforcement Learning 에서의 Neural Network는 현재 State를 입력하면 취할수 있는 모든 Action들에 대한 Q값들을 반환하는 형태입니다.


  Q-Learning에서 학습방법의 기본적인 부분은 Linear Regression(t선형 회귀)의 방법과 유사합니다. 현재 State의 정보 s를 입력값으로 Neural Network에 넣고 나오는 결과값을 Linear Regression의 결과값과 유사한 Ws라고 설정하고 또한 Q-Learning에서의 Cost Function도 Linear Regression과 유사하게 Ws와 Label값인 y의 차를 제곱한 값들을 모두 더한것으로 설정합니다. 이것을 수식으로 표현하면 아래와 같습니다.



  위의 수식에서 사용한 Label 값인 y는 Q-Learning 알고리즘에서 배웠던 값 입니다. 또한 Neural Network에서 설정된 Weight값에 따라서 값이 위에서 가정한 Ws값이 달라지기 때문에 Weight를 라고 본다면 위의 Ws를 좀더 정확하게 로 표현할 수 있습니다. Linear Regression에서 사용하는 방법과 유사하게 학습하면서 Cost Function의 결과값을 최소화 해야하기 때문에 이 모든것을 고려해서 Q-Network의 학습을 수식을 표현하면 아래와 같이 표현할 수 있습니다.



  물론 마지막 Goal State에 도달했는가 아닌가에 따라서 라벨 값은 다를 수 있습니다. 기본적인 공식은 위와 같지만 마지막 State의 여부까지 고려한다면 식은 아래와 같이 쓸 수 있을 것입니다.



  Q-Network의 대표적인 예로는 DQN이 있습니다. 




* Summary *

1.  Neural Network(신경망)를 사용한 Reinforcement Learning(강화학습)을 다른 말로 Q-Network 라고 부른다.

2. Q-Network의 학습을 수식으로 표현하면 ,으로 표현이 가능하다.

3. 대표적인 Q-Learning으로는 DQN이 있다.


반응형
Comments