목록대학원 수업/강화학습 (11)
공부 정리 블로그

Off- policy 혁신적이고 diverse한 탐험 가능 문제점 : 실제 나의 action과 관찰 action이 많이 벌어질 때, 해결하기 위해 importance sampling monte model free 부트스트래핑 다음 state v,q값의 value를 계산 Policy를 만든다는 것은 Q table을 업데이트 해감 Q table에서 s,a의 최대값을 취하니까 Q table 업데이트 초기 p 로 부터 출발해서 ep를 run 해서 action에 대한 Q값을 계속 업데이트 해가면서 진행 On-policy TD control - SARSA Off-policy TD control - Q-learning On-Policy TD Control: SARSA next state의 value를 알아야 업데이트..

Off - policy 실제 play, optimize policy가 다름 behavior policy b - random policy target policy π - optimize policy policy를 이용해서 Q값을 업데이트하는 policy는 pi, 내가 직접 플레이를 하면서 개션하는가 다른 사람들의 플레이(tv에서 잘하는 사람을 참고) 보면서 내 policy를 improve하는가, Off policy 장점 내 policy를 계속해서 변화시켜나기 때문에 내 policy에 벗어나기 쉽다 그렇기 때문에 혁신적이고 스타일이 다른 diverse한 탐험을 할 수 있다 하지만 당연히 단점도 있지 실제 에피소드 만드는 policy와 참고하는 policy의 행동이 너무 다르면 어떤 상황에서의 Q값을 계산하면..

model free - 자율주행차/공장차 model based - 게임/ 모델링된 환경 Arithmetic mean Incremental mean total return 100, 200, 300, 400, 500일 때, V(s)? Arithmetic mean : (100+200+300+400+500)/5 = 300 Incremental mean: (100+(200-100)/2, 150+(300-150)/3, ….) alpha = 1/n(t)일 때는 Arithmetic mean, Incremental mean동일 alpha = 0.3(특정 상수로 주어졌을 때) weighted average v(s) = v(s) + 0.3 R(t) - 0.3V(s) = 0.7v(s) + 0.3 R(t) #weighted a..

내가 시행해보고 만번 굴려보고 만번 나눳다 expectation V,Q 값을 계산으로 구할 순 없고 직접 해봐야함 - 추정 Monte Carlo ! 추정(근사치)를 많이 할 수록 실제 값에 가까워짐 environmnet에 대한 V,Q값이 없는 상황에서 어떻게 가야하지? - model free Random policy로 해본다. 동일한 policy를 유지하지만 stochastic environmnet이기 때문에 V(s)값이 다르게 나옴 그랬더니 V(a)가 각 4점, 3점, 2점 따라서 3.3점 나옴 1. [:t] -> [t:] (오타 정정) 한 episode 갈 때, 같은 곳을 여러번 거쳐 갔을 때 처리 방법 First-visit Monte Carlo 처음 값만 function 계산에 사용하겠다. 최상단 ..

Dynamic Programming- model based - policy, 등을 알고있는 상태 ( monte carlo) policy iteration 모든 경우의 수를 다 구하지 않고 policy를 하나만 정하고 거기로 부터 그 policy에대한 각 state에 대한 value값 정하고 그 value값으로 부터 policy를 update (뭐가 이리 복잡누..) 1. policy를 random하게 정함 pi0 그때 그때 random하게 정하는 건 아니고 '한' policy를 random하게 정함 2. 그 policy에 대한 state value값 정함 3. 정해진 value들로 부터 새로운 policy pi1 update 4. 반복 밖 - policy를 계속 없데이트 안 - value를 iterati..

Dynamic Programming - Value Iteration V값을 계산 iterative하게 진행(계속해서 반복해서 값을 update) 1. 초기값을 random값으로 2. value값을 가지고 Q table 만듦. 3. 앞의 iteration과 뒤의 iteration차이가 거의 없을 때까지 반복 한 번 더 value값으로 Q값을 계산 - 목적은? action을 정하기 위해, policy를 정하기 위해 차이가 threshold(1e-20)값 이하면 그만 하겠다. gamma = 0.99 value_tabel = np.zeros(env.observation_space.n) #16개 벡터를 0으로 초기화 for s in range(env.observation_space.n) : #각 state에 대하..

value function 어떤 state의 가치 - 현재 state를 초기 상태로 하고 끝까지 갔을 때의 return 의 기대값 가치가 높은 상태로 가는 것이 좋음 어떤 상태에서 어떤 행동을 결정했을 때, 나에게 주어지는 return의 기대값 어떻게 계산하는가? 어떤 state에서 출발해서 가보면 알지만 policy, environment stochastic할 수 있다. stochastic environmnet- 내가 행동을 취했을 때, 내가 state가 이쪽으로 갈 수도 있고 저쪽으로 갈 수도 있는 확률값이 주어지는 환경 stochastic policy - 어떤 action을 정할 때, 70%로 오른쪽(action) 30%로 왼쪽(action)으로 결정 stochastic이 존재하는 상황 속에서 어떻..

the simpler version 3개의 밴딩 머신이 있을 때, best ram 은 어떻게 best arm을 찾을 것인가? best arm을 결정할 때까지 드는 cost를 regret이라고 한다. regret을 적게해서 best arm을 찾는 것이 최적이다 state의 변화가 없음 항상 똑같은 state로 돌아온다. The multi-armed bandit problem 4가지 전략이 어떻게 다르고 코드를 읽고 어떤 건지 판단 Exploration Strateges Epsilon-greedy Softmax exploration softmax를 사용한 탐색 epsilon greedy가 1등만 기억하는 더러운 세상이었다면 softmax는 점수에 따라 가중치를 부여한다. 모든 합이 1이 되도록 Softmax..