유행은 지낫지만 여전히 만연한 MBTI로 말하자면, 나는 타고난 P다. 사람 성격에 좋고 나쁘고가 어디 있겠냐만은, 양 극단은 문제가 된다. 그리고 나는 아주 극단적인 P이고, 이는 내가 공부를 하거나 일을 할 때 단점으로 작용한적이 많다. P가 뭔 블로그여 라고 할
(1)에서 계속 . . . 만약 플레이어가 infoset I에 대하여 매번 regret matching을 반복하면, iteration T에서, $$R^T(I)\leq \triangle\sqrt {\left| A(I) \right|}\sqrt T$$ 이다(대충 uppe
Deep Counterfacutal Regret Minimization Abstract Counterfactual Regret Minimization(CFR)은 규모가 큰 불완전 정보 게임을 풀기위한 선도적인 프레임워크이다. cfr은 반복적으로 게임트리를 돌면서 eq
Tianshou 는 강화학습 학습 절차를 다음과 같이 나눈다: Trainer, Collector, Policy, and Data Buffer. 일반적인 과정은 다음과 같다.좀 더 자세하게 표현하자면 다음과 같다. 여기서 Env 는 환경이고, Model 은 신경망이다.T
강화학습은 여러 분야에서 많은 성공을 거뒀고, DQN은 그 첫번째 사례이다. 이번 튜토리얼에서는 Tianshou를 이용하여 DQN Agent로 Cartpole 환경을 차근차근 학습해볼것이다. hyper-parameter, network 등의 specification
우리는 DQN의 성공에 깔려있는 아이디어들을 차용해서 연속적인 액션 공간(continous action domain)으로 옮겼다. 우리는 확정적 정책 그라디언트(Deterministic Policy Gradient)에 기반한 연속적인 액션 공간에서 사용할 수 있는 Ac
미리 말하자면, 위 분류는 완벽하지 않다. RL의 특성 상 트리 구조로 엄밀하게 분류하기가 힘들기 때문이다. 예를들어 Policy Gradient 와 Value Function을 둘다 사용하는 DDPG, TD3, SAC는 세부적으로 다르게 작동하지만 트리구조 상에서는
Intro 1편에 이어 2편도 바로 작성하게 됐다. 기본적으로 내 머릿속 정리를 위해 쓰는거라 다소 배려가 부족하긴 하지만, 그래도 최대한 보는사람도 도움을 얻을 수 있게끔 쓰도록 노력하겠다. RL Problem > 정책의 종류나 리턴 측정의 종류에 상관없이, RL의
통계학에서의 likelihood는 이해하기 힘들고 어려운데 다행히 DL/RL에서는 likelihood를 굉장히 한정적으로 쓴다.DL/RL의 관점에서 likelihood는 우리가 직관적으로 '확률이라고 느껴지는것'과 동의어로 쓰인다.예를들어 위 종모양의 표준정규분포에서
최근 몇개월 RL공부를 열심히 하다보니, 기본적인 용어나 개념이 헷갈리는 경우가 종종 있어서이참에 기본부터 개념정리를 싹 하고자 한다. 본 글은 OpenAi Spinning Up - Introduction to RL을 바탕으로 작성하였다.RL(Reinforcement
torch.nn.functional.log_softmax(input, dim=None, \_stacklevel=3, dtype=None)input (Tensor) – inputdim (int) – A dimension along which log_softmax will
Data Normalization 은 데이터의 범위를 사용자가 원하는 범위로 제한하는 것이다. 이미지 데이터의 경우 픽셀 정보를 0~255 사이의 값으로 가지는데, 이를 255로 나누어주면 0~1.0 사이의 값을 가지게 될 것이다.$$v = {v\\over max(∥v
Neural Network에서 parameter들을 업데이트 할때 우리는 zero_grad()를 습관적으로 사용한다.zero_grad()의 의미가 뭔지, 왜 사용하는지 알아보장Optimizer.zero_grad(set_to_none=False)\[source]Sets
딥러닝에서 멀티프로세싱은 연산량이 방대한 backpropagation에 주로 활용된다. 일단 pseudo code로 대충 시나리오를 보자 사실 너무 당연한 소리지만, 이렇게 해야 효율적으로 학습이 가능하다. model의 parameter 들을 공유하지 않으면 프로세
멀티 스레딩은 한 사람이 여러 작업을 동시에 진행하는것과 비슷하다. 사람처럼 멀티 스레딩도 한한 번에 한 가지 일만 할 수 있다. 다만 한 작업이 뭔가를 기다리는 동안 다른 작업으로 전환하므로써 여러 일을 동시에 처리하는 것처럼 보일 뿐이다.멀티 프로세싱에서는 다수의
강화학습에서 부트스트래핑이란, 예측값을 이용해 또다른 값을 에측하는것을 말한다.위 예시에서는 내일 날씨라는 예측값을 가지고 모레의 날씨를 예측했으므로, 부트스트래핑을 했다고 할 수 있다. DQN에서 Q value를 업데이트하는 식을 살펴보자$$Q(s,a)←Q(s,a)+
구글 딥마인드사에서 Atari게임을 위한 DQN을 구현할때 성능 개선을 위해 사용한 기법으로, supervised learning에서의 Batch Training과 같은 맥락으로 볼 수 있다.하나의 episode는 여러개의 상태 전이(transition)으로 이루어져있