강화학습 38

HER 논문 리뷰

Hindsight Experience Replay - NIPS 2017 논문의 핵심 - sparse and binary reward 환경을 위한 방법 - 복잡한 reward design 대신 replay buffer에 샘플을 더 추가하는 방법을 사용 - 에이전트에게 하나의 골이 아닌 여러개의 goal을 주는 방법 Introduction Reward design RL에서 reward design은 task마다 조심스럽게 다뤄야 하는 문제. 따라서 RL expertise와 domain-specific knowledge가 필요. 사람의 학습방법에서 영감을 얻어서... 사람은 보통 실패에서도 학습 가능함. 예를 들어 축구공을 차서 골대에 넣어야하는 경우를 생각해보면, 우리는 어떻게 차야지 골대에 공이 들어가는지..

DDPG 논문 리뷰

CONTINOUS CONTROL WITHT DEEP REINFORCEMENT LEARNING - ICLR 2016 논문의 핵심 - DQN을 continous action domain으로 확장 - off-polciy algorithm actor-critic 사용 Introduction 이전 연구 DQN은 high-dimensional observation space에서의 문제(예를 들어 아타리)를 풀어냈는데, discrete and low-dimensional action space에서만 사용 가능하다는 문제점이 존재. 왜냐하면 DQN은 continous and high-dimensional action space에 그대로 적용할 수가 없음. 그래서 DDPG는... model-free, off-policy..

Reinforcement Learning 책 읽고 공부하기(4-2)

sutton 교수의 Reinforcement Learning An Introduction을 읽고 공부하기 4.3 Policy Iteration 일단 policy \( \pi \)는 더 좋은 policy \( \pi' \)를 만들기 위해 \( v_{\pi} \)를 사용해 개선되었고, 우리는 \( v_{\pi'} \)를 계산해서 더 나은 \( \pi'' \)을 만들기 위해 다시 개선할 수 있다. 따라서 다음과 같이 단조롭게 개선되고 있는 policy와 value function을 얻을 수 있다. 여기서 \( \overset{E}{\rightarrow} \)는 policy evaluation을 나타내고 \( \overset{I}{\rightarrow} \)는 policy improvement를 나타낸다. 각 ..

모두를 위한 RL강좌 정리하기(Lecture7 ~ Lab7)

앞에서는 큐네트워크를 이용해 CartPole문제를 풀려고 했지만 잘 풀리지 않는 것을 보았다. 그건 강화학습+신경망의 문제 때문인데 그 문제는 각 샘플들간의 상관관계와 target이 유동적이기 때문이다. 이 두개가 정말 큰 문제이다. 근데 DQN을 만든 딥마인드는 이 문제들을 풀어냈고 이 것들을 어떻게 풀어냈는지 보자. 일단 첫번째로 샘플들간의 상관관계가 있는데 내가 카트폴을 training 시킨다고 했을 때, 카트폴이 움직일 때 정말 조금조금씩 움직이므로 이렇게 연속적으로 받은 데이터들은 굉장히 유사할 것이다. 그래서 이 데이터(샘플)들 간에 연관성이 있다는 얘기이다. 예를 들어 데이터의 분포가 위와 같을 때 인접한 데이터들끼리만 학습을 시킨다고 하면 그림처럼 전체 데이터와는 아주 다르게 학습을 할 것..

모두를 위한 RL강좌 정리하기(Lecture 6 ~ Lab 6)

이전까지는 강화학습 에이전트를 학습시킬 때 큐테이블을 사용해서 학습시켰다. 이전의 Frozen Lake는 state는 16개, 각각의 action은 4개가 있는 테이블로 만들 수가 있었다. 근데 과연 큐테이블을 Frozen Lake뿐만 아니라 좀 더 어려운 예제에 적용시킬 수가 있을까 답은 힘들다. 이 큐테이블은 실생활의 더 어려운 예제에는 적용하기가 힘들다. 예를 들어 100x100의 미로는 100x100x4의 큐테이블로 표현할 수 있지만 만약 그림같은 게임이라면 이는 엄청나게 커지기 때문에 큐 테이블로는 표현하기가 힘들다. 그렇다면 큐테이블을 안쓰고 어떻게 큐함수들을 표현할 수 있을까? 그래서 신경망을 이용해 큐테이블을 근사한다. 이 신경망은 마치 큐테이블처럼 다음과 같이 어떤 state가 input..

모두를 위한 RL강좌 정리하기(Lecture 5 ~ Lab 5)

사실 Frozen Lake라는 환경은 바람도 많이 불고 빙판길을 걸어가다가 미끄러질 수 있는 변수가 많은 환경이다. 그래서 에이전트는 자신이 원하는 곳으로 마음껏 갈 수 있는 것이 아니다. 그러니까 에이전트가 오른쪽으로 가고 싶다고 해서 항상 오른쪽으로 가는 것이 아니라 갑자기 왼쪽으로도 갈 수 있는 환경이 Frozen Lake라는 환경이다. 이번에는 이런 변수가 많은 환경에서 큐러닝을 적용시켜 본다. 위와 같이 변수가 많은 Frozen Lake 환경은 stochastic model이다. 대충 확률론적인 모델이라고 번역할 수 있는데 말했다시피 에이전트가 오른쪽으로 가는 action을 취했다고 해서 반드시 오른쪽으로 갈 수 있는 것이 아니다. 이와 반대로 deterministic model은 변수가 없는 ..

모두를 위한 RL강좌 정리하기(Lecture 4 ~ Lab 4)

Lecture 3에서 프로토타입(?)같은 큐러닝을 배웠다면 여기서는 완전한 큐러닝을 배워보자 일단 저번시간에 본 큐테이블이다. 위의 경우는 에이전트가 우연히 발견한 길인데 딱 보기에도 에이전트가 목표지점에 가는 최적화된 길이 아님을 알 수 있다. 근데 이전에 배웠던 큐함수 식으로 큐값을 업데이트하게 된다면 랜덤하게 길을 찾고 한번 발견한 길로만 계속 가기 때문에 더 좋은 길이 있어도 그 길로 가지 않는다. 그래서 기존의 길이 아닌 새로운 길을 탐험하는 exploration이 필요하다. 강의에서는 이 exploit과 exploration을 음식점을 고르는 것에 비유했다. 내가 음식점을 가던 곳만 가면 더 맛있고 괜찮은 곳이 있어도 알 수가 없다. 그러니까 exploration을 해서 더 좋은 곳을 찾는다는..

모두를 위한 RL강좌 정리하기(Lecture 3 ~ Lab 3)

이번에는 Q러닝에 대해서 배운다.에이전트가 목표를 찾아가는데 있어서 에이전트는 환경을 모르기 때문에 목표까지 어떻게 찾아갈 것인지를 정해야한다. 일단 첫번째로 에이전트는 랜덤하게 이동하면서 목표를 찾아갈 수 있다. 근데 다만, 이것보다는 이제부터 목표를 찾아가는 새로운 기준이 생기는데 그게 바로 Q다.Q는 에이전트에게 현재 상태에서 어디로 가야할지를 알려주는 것이라고 할 수 있다. 에이전트는 환경에 대해서는 잘 모르지만 Q를 알고 이 정보를 가지고 어디로 갈지를 결정하게 된다.Q함수는 다음과 같이 이루어져 있다. 즉 어떤 상태(state)와 행동(action)을 인풋으로 주면 그에 맞는 Q값이 리턴되는 것이다. 이런 함수같은 구조 때문에 Q함수라고도 부른다. 큐함수를 아는 에이전트는 그러면 이를 어떻게 ..

모두를 위한 RL강좌 정리하기(Lecture 1 ~ Lab 2)

강화학습을 혼자서 책만 보고 공부하는 것은 힘들다. 다양한 매체들을 이용해 공부를 시작해보자. 첫번째로 홍콩과기대 김성훈 교수님의 모두를 위한 RL 강좌를 보고 내용을 정리하며 공부. 강의 유튜브: https://www.youtube.com/user/hunkims/featured Lecture 1: 강화학습 소개 Reinforce라는 개념은 머신러닝뿐만 아니라 여러분야에서도 사용된다. 예를 들어 개를 훈련킬 때 Positive Reinforcement를 사용할 수 있는데, 개가 잘하면 거기에 맞는 reward를 주는 방식으로 개를 훈련시킬 수 있다. 사실 reinforce라는 아이디어는 우리가 그동안 학습해오던 모든 것들과 비슷하다. 우리는 환경과의 상호작용을 통해 칭찬을 받는다던지 그 밖의 부정적인 것..

Reinforcement Learning 책 읽고 공부하기(4)

sutton 교수의 Reinforcement Learning An Introduction을 읽고 공부하기 Dynamic Programming Dynamic programming(DP)는 MDP로 환경의 완벽한 모델이 주어졌을 때 optimal policy를 계산하기 위한 알고리즘들의 collection이다. 전통적인 DP 알고리즘들은 완벽한 모델의 대한 가정과 엄청난 계산량 때문에 강화학습에서의 활용성은 제한되었다. 하지만 이론적으로는 여전히 중요하다. DP는 이 책에 나머지 부분에 설명되는 방법들을 이해하기 위한 필수적인 기초를 제공해준다. 사실 이러한 모든 방법들은 계산을 덜하고 환경에 대한 완벽한 정보없이, DP와 동일한 효과를 달성하기 위한 시도들이라고 볼 수도 있다. 우리는 보통 환경을 fini..