ML&DL 13

Basic RL

목차 강화학습의 적용분야는 상당히 넓다. Optimal decision making하는 분야라면 다 적용가능하다! RL과 다른 머신러닝의 차이점은 agent가 action(환경과의 상호작용)을 통해 얻는 reward signal(delay 될 수 있음)이다. Reward agent 가 받는 피드백으로, 현재 timestep t에서 얼마나 잘했는가를 알 수 있다. agent는 cumulative reward를 최대화해야한다. RL reward hypothesis : 모든 goal은 expected cumulative reward의 최대화로 표현 가능하다. (동의하는가?!) History 현재 timestep t까지의 일련의 observation, action, reward를 의미한다. H_t = O_1, ..

6. Latent Variable Models PCA & FA & MFA

목차 1. Latent Variable Model 2. PCA 3. FA & MFA Latent Variable Model 이번 포스팅에서는 Expectation maximization, EM알고리즘을 자세히 알아보도록 합시다. 1. Latent Variable Model ff 2. Principal Component Analysis (PCA) PCA는 데이터의 dimension을 줄이기 위한 대표적인 방법입니다. 원래의 데이터셋의 특징은 잘 살리면서도, 차원을 줄이기 위해선 어떻게 해야할까요? 원래의 데이터를 새로운, 더 작은 차원의 projected space에 투영 시켰을 때, 데이터셋의 분산을 가장 크게 하는 orthogonal projection을 찾는 것이 핵심 아이디어입니다. '분산을 크게 ..

5. Expectation Maximization(EM)

목차 1. Mathematical preliminaries 2. EM Algorithm EM Algorithm 이번 포스팅에서는 Expectation maximization, EM알고리즘을 자세히 알아보도록 합시다. 이전 포스팅에서 latent variable이 있는 MoG를 EM알고리즘으로 풀었고, 2개의 의문을 남겼습니다. (1) 왜 complete data log likelihood를 사용하는지. (2) E-step에서 왜 posterior distribution을 사용하는지. 이번 포스팅에서 샅샅이 밝혀보도록 하겠습니다!! 1. Mathematical preliminaries 우선, EM 알고리즘을 이해하기 위해 필요한 선수 지식을 소개합니다. (1) Jensen's Inequality, (2) ..

4. Clustering

목차 1. k-Means 2. Mixture of Gaussians 3. k-Means & MoG Clustering Clustering이란 라벨이 없는 데이터들을 미리 지정해둔 k개 그룹에 분리하는 작업입니다. 각 그룹으로 묶인 데이터는 유사한 성질을 가져야 합니다. 이때, 유사함을 측정하는 지표로 사용되는 distance measure에 따라 clustering 결과가 달라질 수 있습니다. 이번 포스팅에서는 k-Means와 Mixture of Gaussians Clustering(MoG) Clustering에 다룹니다. 각각의 방법을 이해한 뒤, k-Means가 MoG를 간략히 한 버전임을 이해해봅시다!! 1. k-Means Clustering의 가장 기본적인 알고리즘은 k-Means입니다. 말 그대..

3. Density Estimation

목차 1. MLE 2. MAP 3. Bayesian Inference Density Estimation이란,, $\;\;$Density Estimation 이란, observation 데이터셋 $x_1, \cdots, x_N$가 주어졌을 때, random variable $x$의 probability distribution $p(x)$를 찾는 것(modeling) 입니다. 이때, 각각의 데이터는 I.I.D(independent and identically distributed)를 가정하고 있습니다. Parametric estimation vs Nonparametric estimation $\;\;$Density Estimation에는 크게 2가지 접근이 가능합니다. $\rightarrow$ Paramet..

PolicyGradient + REINFORCE + ActorCritic +A3C

다음 강의와 '파이썬과 케라스로 배우는 강화학습' 도서를 보고 정리한 내용입니다 : ) www.youtube.com/watch?v=gINks-YCTBs 'RLCode와 A3C 쉽고 깊게 이해하기' Asynchronous Advantage Actor-Critic, A3C가 강화학습의 새로운 베이스라인으로 자리잡았다. DQN의 장단점 + 게임 화면 이미지 자체를 input으로 받아 CNN을 통해 학습 + 샘플 간 높은 상관관계의 문제를 '리플레이 메모리'를 통해 해결 - 많은 메모리 사용 - 느린 학습속도 - 가치함수에 대한 Greedy Policy로 학습이 다소 불안정 A3C + 샘플 간 높은 상관관계의 문제를 '비동기 업데이트'로 해결 -> 리플레이 메모리 더이상 사용 X + Policy gradient..

LEC 07. DQN

LEC 07 앞선 강의에서 Qnetwork 방법만으로는 Cart Pole 문제가 잘 풀리지 않았다. 두가지 문제점이 있는데, 1) 샘플 간의 상관관계와 2)타겟값이 고정이 안된다는 것이다. (1) 다음과 같이 상관관계가 높은 샘플만으로 학습을 시키면 목표하는 값과 상당히 다른 결과를 가진다. (2) Yhat 이 Y 가 될 수 있도록 θ를 업데이트 한다. 하지만, 예측과 target 이 모두 같은 네트워크를 사용하기 때문에, 학습과정에서 씨타를 업데이트 하는 순간, 동시에 target Y도 영향을 받아 움직이게 된다. 강의에서는 과녁을 보고 화살을 쏜 순간, 과녁이 움직여버린다고 하였다. 이런 이유 떄문에 학습이 어렵다. Google Deep Mind팀은 다음 3가지 방법으로 문제를 해결하였다. 1) Go..

LEC 06. Q-Network

LEC 06 Q-table은 입력의 크기가 큰 실생활 예제에서는 적용이 어렵다. 퍼즐 80*80 pixel + 2color(black/white) => pow(2,80*80)만 해도 수가 엄청나게 크기에 table로 표현하기가 힘들다. 따라서, Q-Network, 신경망을 사용하여 Q 테이블을 근사한다. Q-network, 신경망 구축은 '상태'만 input으로 주고 모든 가능한 행동의 확률값을 output으로 받는다. 다음, Linear Regression 방식으로 문제를 해결한다. 1) 신경망 예측값 = 입력 s에 대해서 weights(W)를 적용한 출력값 -> W*s 2) 실제 목표 target, label = optimal Q => (reward + dis*max(Q(s',a')) 이제, loss..

LEC 05. Q-learning on Nondeterministic Worlds!

LEC 05 실제 미끄러운 Frozen Lake, Stochastic 환경에서는 어떻게 해야할까? - Deterministric [ is_slippery: False 환경 ] 특정 행동에 대해 항상 같은 결과(이동방향 및 reward)를 냄. vs - Stochastic(non-deterministic) [ is_slippery : True (혹은 env = gym.make('FrozenLake-v0') ) 환경] 미끄러지기도 하면서 내 의도(키보드 입력)와 다르게 움직일 수도 있음. Stochastic환경에서는 기존의 방식의 알고리즘이 잘 작동하지 않는다. Stochastic환경에서는 Q형님이 Frozen Lake에서 미끄려져 우연히 이동한 결과값 일 수도 있기에, Q형님 말만 믿고 따라가면 위험하다...

LEC 04. Q-learning (table)

LEC 04 1) Exploit&Exploration 2) Random Noise 3) Discounted Future Reward 1) Exploit & Exploration 알고리즘 Lec 03에서의 dumy Q-learning 방식으로는 한 가지 길로만 가게 된다. 따라서, E&E알고리즘(Exploit & Exploration)을 도입하여 여러 경우의 수를 만들어야 한다. Exploit는 이미 알고있는 확률값을 사용하여 액션을 선택하는 것이고, Exploration은 랜덤하게 새로운 도전으로 값을 선택하는 방식이다. Explot과 Exploration의 채택 비중은 E-greedy 방식을 사용하여 정할 수 있다. 슬라이드와 같이 e값을 0.1로 고정한다면, Exploit 90% VS Explorat..