728x90
반응형

입실론 그리디 7

멀티암드밴딧 - (1-3) 확률적 밴딧: 적응적 탐색

확률적 밴딧 1.3 적응적 탐색 탐색-우선 기법과 입실론-그리디 기법 모두 탐색 스케쥴이 관측된 보상의 기록과는 관계 없다는 큰 결점이 존재한다. 하지만 탐색시에는 관측된 보상에 적응적으로 대응하는 것이 보통은 더 좋은 결과를 낸다. 비공식적으로, 우리는 "적응적"과 "비적응적" 탐색으로 분리한다. 이번 챕터에서 우리는 적응적 탐색을 구현하고 더 나은 에이전트를 얻기 위한 두가지 알고리즘을 소개한다. $K = 2$의 경우부터 시작해보자. 한가지 자연스로운 아이디어는 둘 중 하나의 슬롯이 다른 슬롯보다 더 월등하다는 것을 찾을때 까지 하나씩 번갈아하며 선택하는 방법이다. 하지만 우리는 어떻게 하나의 슬롯이 다른 슬롯보다 월등하다는 것을 정확하게 정의할 수 있을까? 1.3.1 완전이벤트와 신뢰범위 이전에 다..

멀티암드밴딧 - (1-2) 확률적 밴딧: 균등한 탐색

확률적 밴딧 1.2 균등한 탐색 간단한 아이디어로부터 시작한다: 이전에 관측된 결과가 무엇이든 슬롯을 균등하게(같은 비율로) 탐색(explore)하고, 경험적으로 최적의 슬롯을 활용(exploit)한다. "탐색-우선"으로 알려진 이 알고리즘은 첫 라운드 들을 탐색에 집중하게 하고, 나머지 라운드들을 활용에 사용한다. 알고리즘 1.1: 매개변수 N을 사용한 탐색-우선 알고리즘 1. 탐색 단계: 각 슬롯을 $N$번 선택에 시도한다; 2. 가장 높은 평균 보상을 주는 슬롯 $\hat{a}$를 선택한다 (동점시에는 임의의 선택을 따른다); 3. 활용 단계: 슬롯 $\hat{a}$를 나머지 모든 라운드에 사용한다. 매개변수 $N$은 미리 선정된 값이다. 추후에 이 값은 시간수평선 $T$와 슬롯의 수 $K$의 함수..

강화학습 - (25) 정책 근사

강화학습 정책 근사 정책 학습 정책은 에이전트가 어떻게 행동하는지를 정의한다. TD기반 기법들이 행동가치를 예측하는 것은 간단한 확률 기반의 입실론 그리디를 사용했기 때문이다. 하지만 행동가치를 예측하기 전에, 정책 또한 함수로서 근사가 가능하다. 정책을 함수로서 표현한다면, 상태의 표현을 받아 행동을 할 확률을 내는것이라 말할 수 있다. 예제) 강화학습에서 유명한 게임중 하나인 Mountin Car라는 게임을 예로 들어본다. 자동차가 언덕 위의 깃발에 도달해야한다고 할 떄, 위와 같은 두가지의 행동을 하는 정책을 정의할 수 있다. 정책 함수 근사 정책 함수를 근사하는 파라미터는 위와 같이 $\theta$로 표현한다. 위 함수는 모든 상태에 대해 모든 행동들에 대한 확률을 반환해야 한다. 따라서 모든 행..

강화학습 - (24-2) Deep SARSA 코드예제 2

강화학습 패키지 설치¶ 다음 코드는 세가지 패키지가 선행 되어야 합니다. sudo apt-get install ffmpeg pip install gym pip install gym_minigrid gym.render() 코드가 에러를 발생할 경우, 다음 패키지를 설치하고: sudo apt-get install xvfb 주피터 노트북을 다음 명령어를 통해 실행합니다: xvfb-run -s "-screen 0 1400x900x24" jupyter notebook In [1]: import warnings; warnings.filterwarnings('ignore') import numpy as np import pandas as pd import random import gym import matplotli..

카테고리 없음 2020.12.16

강화학습 - (24-1) Deep SARSA 코드예제

강화학습 패키지 설치¶ 다음 코드는 세가지 패키지가 선행 되어야 합니다. sudo apt-get install ffmpeg pip install gym pip install gym_minigrid gym.render() 코드가 에러를 발생할 경우, 다음 패키지를 설치하고: sudo apt-get install xvfb 주피터 노트북을 다음 명령어를 통해 실행합니다: xvfb-run -s "-screen 0 1400x900x24" jupyter notebook In [1]: import numpy as np import pandas as pd import random from collections import defaultdict import gym import torch import torch.nn as..

강화학습 - (20) Q러닝

강화학습 Q러닝 Q러닝 알고리즘은 SARSA와 많이 유사하다. 위 알고리즘을 보면 SARSA와는 다르게, 행동가치함수를 갱신할 때 최댓값(maximum)을 취한다. 그렇다면 왜 Q러닝은 다음 상태-행동 페어 대신 최댓값을 취할까? 다시한번 행동가치함수 벨만방정식을 살펴보자. $q_{\pi}(s,a) = \sum_{s',r} p(s',r|s,a) \left (r + \gamma \sum_{a'} \pi(a'|s') q_{\pi} (s',a')\right)$ 아래는 이에 기반한 SARSA의 갱신 수식이다. $Q(S_t,A_t) \leftarrow Q(S_t,A_t) + \alpha (R_{t+1} + \gamma Q(S_{t+1},A_{t+1})-Q(S_t,A_t))$ 하지만 Q러닝은 기본적인 벨만방정식이 ..

강화학습 - (19-1) SARSA 코드예제

강화학습 SARSA 코드예제 패키지 설치¶ 다음 코드는 세가지 패키지의 설치가 선행 되어야 합니다. sudo apt-get install ffmpeg pip install gym pip install gym_minigrid In [1]: import numpy as np import pandas as pd import random from collections import defaultdict import gym import gym_minigrid import matplotlib.pyplot as plt %matplotlib inline 환경¶ 예제 코드는 그리드월드 예제에서 SARSA에이전트가 학습하는 코드 입니다. 에이전트가 최종 지점에 도달하면 보상을 받고, 에이전트가 취할 수 있는 행동은 다음 세..

카테고리 없음 2020.11.01
728x90
반응형