본문 바로가기

강화학습8

RL (강화학습) 기초 - 9. Model-free Control 이번에는 Model-free에서의 Control에 대한 내용과 on-policy, off-policy에 대한 내용을 알아보겠습니다. 이전까지 배운 내용을 정리하면 Model-free Prediction이라고 할 수 있습니다. Model-free라는 것은 모델을 사용하지 않는 강화학습을 의미합니다. 그리고 prediction이라는 것은 MDP를 알지 못하는 환경에 대해서 value function을 추정하기 위한 방법을 의미합니다.이번에 살펴볼 Model-free Control은 동일한 환경에 대해서 value function을 최적화하기 위한 방법을 설명합니다. MDP 같은 모델을 사용해서 대응할 수 있는 주제들이 나열이 되어 있습니다. 알파고의 바둑 게임이나 포트폴리오 매니징에 적용을 하는 예시들도 보.. 2018. 5. 26.
RL (강화학습) 기초 - 8. TD lamda 1 step TD의 step을 증가시켜 나가면서 n 까지 보게 되면 n step TD로 일반화를 할 수 있습니다. 만약 step이 무한대에 가깝게 되면 MC와 동일하게 될 것입니다.2 step TD 에서의 업데이트 방식은 첫번째 보상과 두번째 보상 그리고 두번째 상태에서의 value function의 합으로 업데이트가 됩니다. TD(0) 가 n이 1인 1-step TD입니다. 앞에서 이야기한 업데이트 방식에 대한 내용을 수식으로 표현을 한 것입니다. 이를 n step에 대하여 일반화를 하면 중간에 식이 됩니다.n step TD에서의 value 함수는 n step에서 얻은 총 보상에서 기존 value 함수값과의 차이를 알파만큼 가중치하여 더함으로서 업데이트가 되게 됩니다. 그럼 n 이 몇일때가 가장 최고의.. 2017. 11. 29.
RL (강화학습) 기초 - 7. Temporal-Difference Learning TD 방식도 마찬가지로 직접적인 경험을 하면서 학습을 하는 알고리즘입니다.DP에서 사용하던 bootstrapping을 사용하고 MD에서 사용하던 Model-free 방식의 장점을 두루 갖추고 있는 것이 특징입니다. every-visit MC에서는 실제 에피소드가 끝나고 받게되는 보상을 사용해서 value function을 업데이트 하였습니다.하지만 TD에서는 실제 보상과 다음 step에 대한 미래추정가치를 사용해서 학습을 하게 됩니다.이때 사용하는 보상과 value function의 합을 TD target이라고합니다.그리고 이 TD target과 실제 V(S)와의 차이를 TD error 라고 하고 델타라고 표현을 합니다. MC에서의 value function이 업데이트 되는 과정을 위 왼쪽의 그림과 같이.. 2017. 11. 1.
RL (강화학습) 기초 - 5. Dynamic Programming 1. Introduce Dynamic 이라는 것은 연속적으로 발생되는 문제들을 푸는 것을 말하고, Programming 은 개발언어가 아니라 수학적인 문제를 의미합니다. Dynamic Programming 이라는 것은 이렇게 연속적으로 스탭 바이 스탭으로 발생되는 문제를 수학적으로 optimising 해서 풀어내는 것이라고 할 수 있습니다. 어떤 문제는 서브 문제들로 쪼개서 분석할 수 있고 이들을 풀어내는 과정에서 해결이 되는데 크게 두가지로 나눠 볼 수 있겠습니다. Dynamic Programming 은 풀어내고자하는 문제를 2가지 특성으로 접근합니다. 하나는 Optimal substructure 로서 최적화를 할 수 있다는 것인데 하나의 문제를 2개 이상의 하위문제로 쪼개고 각각을 최적화하게 되면 원.. 2017. 10. 23.
RL (강화학습) 기초 - 4. Markov Decision Processes (2) 3. Markov Decision Process 이전까지 살펴보았던 Markov reward process 에 의사결정에 대한 개념을 더 추가합니다. 이를 Markov decision process (MDP) 라고 합니다. 당연히 모든 state가 Markov 인 환경에서 이루어집니다. A 라고 하는 action이 가능한 집합을 표현하는 notation이 하나가 더 추가가 되었습니다. 이를 통해서 현재 상태 s 에서 a 라고 하는 action을 할 때 다음 상태 s' 로 가게 될 확률을 P 에 대한 내용으로 표현을 하게 됩니다. R 도 reward 에 대한 함수인데 마찬가지로 현재 상태 s 에서 a 라는 action을 할때 기대되어지는 보상을 표현하게 됩니다. 그외 나머지는 이전 내용과 동일하니까 생략합.. 2017. 8. 29.
RL (강화학습) 기초 - 3. Markov Decision Processes (1) 1. Markov Processes 이번에 다루게 될 MDP에 대해서 소개를 하면 RL, 강화학습에서 가장 중요한 핵심 이론이 됩니다. 이 강의에서는 전제조건으로 agent가 환경에서 발생되는 모든 정보를 볼 수 있다고 가정합니다. (fully observable) 설명을 하기 쉬운 환경이지만 실제로 우리가 살고 있는 환경은 그렇치 않죠. 우리는 아무리 노력을 해도 세상의 모든 뉴스를 다 보고 알수는 없기 때문입니다. 어떠한 현재 상태는 큰 프로세스가 진행이 되고 있는 과정 중에서 특정 시점이 될 것이고, 모든 환경을 다 볼 수 있기 때문에 완전히 특성들을 갖추고 있다고 볼 수 있겠습니다. Markov property에 대한 정의를 알아봅니다. agent가 environment에서 어떠한 action을 .. 2017. 8. 8.
RL (강화학습) 기초 - 2. Reinforcement Learning 소개 Deepmind에 David silver 교수님의 강의를 기반으로 하여 강화학습에 대한 이론적인 내용들을 하나씩 살펴 보겠습니다. 강의 영상과 자료들은 아래의 링크에서 볼 수 있습니다.http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching.html 1. About RL 강화학습(RL)은 1979년도에 처음 시작했다고 서튼 교수님의 책에서 말씀하시고 계십니다. 어떻게 생각하면 오래된 것이고 또 다르게 보면 얼마 안된 분야라고도 할 수 있겠지만, 제 인생만큼 같이 발전되어온 분야라고 하니 더욱 관심이 가네요^^ 강화학습은 컴퓨터 사이언스 분야에서 머신러닝의 한 분야에서 사용되기도 하지만, 그 외에 다른 다양한 분양에서도 다른 이름으로 비슷하게 적용이 되고 있습니다. 엔.. 2017. 7. 19.
RL (강화학습) 기초 - 1. OpenAI의 Gym 설치 및 예제 돌려보기 강화학습을 이론적으로 공부를 하기 위해서는 보통 Sutton 교수님의 책으로 시작을 하는데 이 책의 내용이 수학적이고 어려운 내용들이 많이 있다보니 접근하기가 쉽지는 않는 것 같습니다. 이후에는 이러한 이론적인 내용들도 시간이 되면 차근차근 정리해 보도록 할 것인데요. 이번에시작은 가볍고 재미있게 할 수 있는 방법으로 해보려고 합니다. openAI 에서 간단한 게임들을 통해서 강화학습을 테스트 할 수 있는 Gym 이라는 환경을 제공하고 있습니다. Gym을 설치하고 간단한 예제를 돌려보면서 강화학습이란 것이 어떤 것인지 먼저 감을 잡아 볼 수 있을 것 같습니다. 제가 맥북에서 주로 작업을 하다 보니 우선은 Mac OS를 기준으로 해보겠습니다.(Windows 에서도 설치해보니 동일한 방식으로 설치가 잘 됩니.. 2017. 7. 12.