분류 전체보기 44

Reinforcement Learning 책 읽고 공부하기(2-5, Exercise)

sutton 교수의 Reinforcement Learning An Introduction을 읽고 공부하기 챕터 2에서 본 연습문제들 풀어보기 Exercise 2.6 Mysterious Spikes 그림 2.3의 결과는 10-armed bandt 문제에서 각각 임의로 선택한 2000개 이상이므로 신뢰할 수 있어야 한다. 왜 진동과 스파이크가 optimistic 방법의 초기에 나타났는가? 다른말로는 왜 이 방법이 average 방법에 비해 초기에 성능이 더 좋거나 나쁜가? 일단 가져와 본 그림 2.3 Optimistic greedy에서는 초기값(initial estimate)에 의해 평향되어 있음. sample-average 방법은 이 편향이 사라지는데 constant average에서는 편향이 영구적인데 ..

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

sutton 교수의 Reinforcement Learning An Introduction을 읽고 공부하기 챕터 2에서 본 연습문제들 풀어보기 Exercise 2.1 \( \epsilon \)-greedy action 선택에서 두 개의 action을 선택해야 하는데 \( \epsilon \)=0.5인 경우 greedy action을 선택할 확률은 얼마인가? 일단 \( \epsilon \)-greedy action의 경우 \( \epsilon \)만큼의 확률로 greedy하지 않은 action을 선택하는 것임. 그리고 \( \epsilon \)-greedy에서는 optimal action을 선택할 확률이 1-\( \epsilon \)보다 큰 수렴, 즉 거의 확실하게 수렴함을 의미함. 그래서 여기서 greed..

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

sutton 교수의 Reinforcement Learning An Introduction을 읽고 공부하기 2.7 Upper-Confidence-Bound Action Selection action-value 추정치의 정확도가 항상 불확실하기 때문에 exlporation은 필요하다. \( \epsilon \)-greedy action 선택은 non-greedy action을 선택할 수 있게 한다. 실제로 optimal일 가능성에 따라 non-greedy action을 선택하는 것이 좋다. 여기서 추정치가 최대치에 얼마나 근접한지, 그리고 그 추정치의 부확실성을 고려해 action을 선택한다. 이렇게 action을 선택하는 하나의 효과적인 방법은 아래와 같다. $$ {A}_{t} \doteq \left[ {..

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

sutton 교수의 Reinforcement Learning An Introduction을 읽고 공부하기 2.4 Incremental Implementation 모든 action-value의 추정값은 관찰한 reward들의 sample average값이다. 이러한 평균을 효과적으로 계산할 수 있는 방법을 알아본다. 단일 action에만 집중하기 위해 표기를 단순화한다. \( {R}_{i} \)는 i번째 action을 선택한 후 받는 reward다. \( {Q}_{n} \)은 n-1번째까지 action을 선택한 후의 action value의 추정값이다. 아래와 같이 쓸 수 있다. $$ {Q}_{n} \doteq \frac{ {R}_{1}+{R}_{2}+ \cdot\cdot\cdot + {R}_{n-1} }..

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

sutton 교수의 Reinforcement Learning An Introduction을 읽고 공부하기 Chapter 2 Multi-armed Bandits 강화학습이 다른 타입의 학습방법들과 구분되는 특징은 올바른 action으로 학습하는 것이 아니라 선택한 action을 평가한 것을 훈련 정보로 사용하는 것이다. 이는 좋은 행동을 찾기 위한 적극적인 exploration의 필요성을 말해준다. Evaluative feedback은 에이전트가 선택한 action이 얼마나 좋은지를 말해주지만 이 action이 가능한 best인지 worst인지는 말해주지 않는다. Instructive feedback은 반면에, 실제로 선택한 action과 독립적으로 선택해야 하는 올바른 action을 가리킨다. 이 두 f..

Reinforcement Learning 책 읽고 공부하기(1-2, Exercise)

sutton 교수의 Reinforcement Learning An Introduction을 읽고 공부하기 이번에는 챕터1에서 봤던 exercise들을 풀어봄 Exercise 1.1: Self-Play 학습하는 에이전트가 스스로와 틱택토게임을 하면 어떤 일이 일어날까? 에이전트는 action을 선택할 때 서로 다른 policy를 학습할까? 그러니까 알파고는 알파고 스스로와 게임을 했다고 하는데 마치 알파고처럼 스스로와 게임을 하면 그렇지 않은 상태와 비교해 각각의 알파고는 다른 policy를 학습할까?라고 물어보는 것 같다. 틱택토 게임의 경우 X가 먼저두고 O이 나중에 둔다. 아무것도 놓지 않은 틱택토의 초기 상태는 모든 state 테이블이 0.5의 값을 가지고 있다. 하지만 X가 먼저 게임을 시작하면 ..

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

sutton 교수의 Reinforcement Learning An Introduction을 읽고 공부하기 Introduction 환경과 상호작용을 통해 학습하는 것은 아주 기본적인 아이디어다 의심의 여지 없이 우리의 삶에서 환경과 상호작용하며 학습하는 것은 환경과 우리 자신에 더 잘 알 수 있는 방법이다 이 책에서는 이러한 상호작용으로 목표에 달성하는 다양한 learning method들을 평가한다 reinforcement learning은 다른 어떠한 머신러닝 알고리즘보다 목표지향적인 알고리즘이라 할 수 있다 1.1 Reinforcement Learning Reinforcement Learning은 reward signal을 최대화 시키면서 학습한다. 에이전트는 어떤 action을 해야하는지가 아니라 ..

[강화학습] 딥살사, 폴리시 그레디언트

다이내믹 프로그래밍에서의 한계는 1. 계산 복잡도, 2. 차원의 저주 3. 환경에 대한 정보 이 세가지 몬테카를로 예측, 살사, 큐러닝에서는 3번 문제만 해결했음 1, 2번 문제를 해결하기 위해 다른 방법이 필요 인공신경망을 사용하자, 기존의 살사 알고리즘의 큐함수를 인공신경망으로 근사 --> 딥살사 살사의 큐함수 업데이트식은 이랬음 딥살사에서 인공신경망의 업데이트는 경사하강법 이용, 오차함수는 MSE를 사용 강화학습은 지도학습이 아니라 정답이 없으므로 정답으로 살사의 큐함수 업데이트에서 정답 역할을 하던 것을 정답으로 사용, 그게 바로 이 식 그리고 예측 역할을 하던 것은 이제 정답과 예측을 MSE에 집어넣어 오차함수를 만들기 이제 큐함수를 근사하는 인공신경망을 오차함수 MSE를 통해 업데이트 시킬 수..

강화학습 2020.01.18

[강화학습] 살사, 큐러닝

몬테카를로 예측 다이내믹 프로그래밍 --> 강화학습 넘어가는 아이디어를 제공 에피소드를 진행하고 받은 실제 반환값을 구해 이 반환값들로 각 상태의 가치함수 업데이트 가치함수 업데이트 위해 하나의 에피소드를 다 진행해야 함 다이내믹 프로그래밍은 상태와 차원이 증가할수록 계산복잡도가 증가 계산을 통한 가치함수 업데이트가 아닌 에이전트의 경험으로 참 가치함수를 업데이트 하자! 몬테카를로 예측은 원래 값 모르지만 샘플을 통해 원래의 값을 추정하는 것 정책 이터레이션의 정책 평가를 몬테카를로 근사로 가치함수 추정, 가치함수를 추정할 때 에이전트가 한번의 에피소드를 진행한게 샘플링 샘플링으로 얻은 샘플링 평균으로 참 가치함수 추정, 이 때 몬테카를로 근사를 사용하므로 몬테카를로 예측이라 부름 가치함수는 이렇게 생겼..

강화학습 2020.01.18

[강화학습]다이내믹 프로그래밍

다이내믹 프로그래밍 다이내믹 프로그래밍을 이용해 벨만 방정식을 풀기 가치함수를 구하는 과정을 작은 과정 여러개로 쪼개어 반복 계산 모든 상태에 대해 한번 가치함수 업데이트 다음 계산 때는 업데이트 된 가치함수를 이용해 다시 모든 상태에 대해서 가치함수 업데이트 이걸 반복 가치함수에 대한 방정식 벨만 기대 방정식 --> 정책 이터레이션 벨만 최적 방정식 --> 가치 이터레이션 정책/가치 이터레이션 --> SARSA --> 큐러닝 정책 이터레이션 정책 이터레이션에서는 정책을 평가하는 도구로 가치함수 사용, 이터레이션을 반복할수록 최적에 도달 정책과 가치함수를 분리시킴 벨만 기대 방정식을 이용해 강화학습 문제 품, 가장 높은 보상을 얻게 하는 정책을 알고 싶은데 처음에는 알 수가 없음 그래서 무작위 정책으로 ..

강화학습 2020.01.15