인공지능 29

강화학습 기초내용 contents

팡요랩의 노승연님이 Tacademy에서 강연한 강화학습 기초내용 다시 보면서 개념 정립하기 좋았다. MDP의 정의나, MC, TD방식의 차이점이나 등등 가치함수를 어떻게 학습할지에 대한 방법론임. MC : 에피소드가 끝날때까지 가봐야하기 때문에 샘플링이 어려움. (리턴을 여러개 모아서(에피소드 샘플링) 그것의 평균으로 할거다) TD : 스탭 크기에 따라 다르지만 에피소드 끝까지 가는것보다 샘플링이 쉬움. 스탭단위로 학습. Expectation ( 기댓값 ) 이 잘 와닿지 않는데, 샘플들의 평균이라고 이해하는게 편함.

[PART5] 심층강화학습 DQN

DQN 두가지 버전 1. 아카이브(리뷰잉 과정들을 통해서 타당성 검증 없음) 2. 개선된 Nature버전. Alexnet 기존에 컴퓨터 비전보다 나은성능이라고 실험적으로 확인 DQN이 해결한(혹은 해결의 실마리를 제공한) 3가지 문제 Sensory인풋을 RL 에이전트에 적용하는 방법. DQN이전에는 난제였음. Moving Q-target : 기존의 table setup에서 학습을 하는것과는 달리 function approximation을 사용하게 되면 학습에 불안정성이 생기게 된다. DQN 한눈에 보기 sensory input에서 함수근사(여기선 CNN)를 통해 action을 아웃풋으로 내는 Q값을 학습했고, 추가적으로 Target network라는 트릭과 Experience replay라는 트릭을 사용..

딥러닝 모델 Class의 Forward 함수가 궁금했다.

자꾸.. Pytorch로 모델링 된 딥러닝 모델을 보면 forward함수를 빼놓을 수 없는데, 위의 model = LinearRegressionModel()로 객체를 생성하고 model.blahblah()로 함수를 부르는게 아니라 model(input_data)이런식으로 부르길레 이게 뭐야 하면서 뇌정지가 왔던 적이 있다. 내부적으로 어떻게 돌아가는진 모르겠지만 생성된 model instance에 train_data를 입력하면 알아서 불리는 메소드라고 하니 이렇게만 일단 이해하고 넘어가자.

Pytorch로 시작하는 딥러닝 입문 인터넷 링크

이전에 한번 슥봤던 RNN에 관심이 생겨서(아무래도 시계열과 관련된 딥러닝 모델이라..) 구글링으로 pytorch forward나 이것저것 검색해서 보고있는데 눈에 띈 사이트. 한글이기도 하고(번역느낌이 조금 나지만) 그림이랑 같이 잘 표현해 주고있어서 좋다. (압도적 감사) 위키독스 온라인 책을 제작 공유하는 플랫폼 서비스 wikidocs.net

Tensorflow-gpu 설치하기

랩실에서 2070을 줬는데 안쓰면 아까우니 tensorflow-gpu를 써봐야 하지 않겠나. 이분꺼 보면서 따라하며 설치했다. [Setup] 딥러닝 개발 환경 구축 한방에 끝내기 개요 딥러닝이라는 긴 여정을 위한 첫 단계. 딥러닝 개발 환경 구축을 위한 포스팅입니다. 환경설정으로 인한 시간낭비를 최소화 하고자 대부분의 내용을 총정리합니다. 목차 사전 확인사항 및 theorydb.github.io 내 환경 그래픽카드 : RTX 2070 쿠다 버전 : CUDA10.1 cuDNN 버전 : 8.0.5 ( 7.6인줄 알고 클릭했는데 8.0.5네..?) 해야하는거 1. 아나콘다 설치 2. Visual Studio 2019 설치 3. CUDA 10.1설치 4. cuDNN v8.0.5설치 5. 가상환경 만들면서 pyt..

LSTM관련글

brunch.co.kr/@chris-song/9 LSTM(RNN) 소개 Recurrent Neural Network의 대표적인 LSTM 알고리즘 | 안녕하세요. 송호연입니다. 요즘.. 딥러닝에 푹 빠져있어서.. 퇴근후 RNN 공부할겸 아래 블로그 글을 한글로 번역하였습니다. 원 저작자, Google Brain brunch.co.kr 좀 읽어보기. 옛날에 한번 배웠는데, Recurrent 구조다보니 헷갈림 step by step으로 되어있어서 읽기 편하다.

[PART 3] Ch 02. Pytorch로 선형회귀 모델 만들기

requires_grad= True로 줌으로써 이 변수는 나중에 편미분을 해야한다고 알려줌. 이게 뭐해준걸까 ? 1개의 연산을 한번에 진행한 것이다. torch.ones(3,10)으로 바꾸면 [[1,1,1,1,1,1,1,1,1,1]*3개]가 되는것이고, 각각의 row에 대해서 Wx+b를 수행해서 10+5가 3개 만들어진다. 즉, 각각의 row를 data라고 할 때, 3번의 연산을 한번에 수행한 것이다. 여기에서 view함수는 reshape함수와 비슷하다. 즉, view(-1,1)은 데이터가 얼마나 들어올진 모르겠지만 (1,100)이던 뭐던, 잘 모르겠고 벡터화 좀 시켜줘라 (1,15) => (15,1) float()을 해주는 이유는 numpy에서는 float64를 이용하는데, torch에서는 float3..

[PART 03] CH02. 심층 신경망을 활용한 함수근사(선형근사)

"선형" 가정이 타당한가 ? 가치함수 V나 행동가치함수 Q를 주어진 데이터로부터 함수근사를 이용해서 잘 추산할 수 있을까?가 목적인데 선형으로 가정하고 근사하는게 타당할까 ? 모델에 어떠한 가정도 하지 않고 순수하게 데이터로부터 함수를 배우는 방법이 존재하는가? 심층신경망 Tree, Random Forest모델도 데이터로부터 함수를 배울 수 있다. 그러나 함수근사기법에서 심층 신경망 만큼 잘 배우는 것은 없다고 봐도 무방하다. 심층 신경망 종류 다층 퍼셉트론 모델(Multilayer Perceptron : MLP) MLP의 "Forward" 계산과정 선형과 비선형 operator의 합성함수라고 생각 σ : identity 비선형 모델링도 할 수 있음. 활성함수(Activation function) ReL..

[PART3] CH01. 함수근사 소개

함수 근사란? 파라미터Θ를 조정해서 (x,y)페어를 잘 표현하는 함수를 찾고싶다. 왜 RL강의에서 "함수 근사" 를 배우는가 ? 크게 2가지로 함수근사를 사용하고 배우게 됨. 1. 파트4 정책 최적화에서 정책함수 π를 표현하기 위해서. 2. 파트5 심층강화학습에서 사용하기 위해서 함수근사 사용 효과가 굉장히 좋음. 데이터로부터 함수 근사를 수행할 수 있음. 선형회귀같은 경우에 데이터가 선형이라는 가정을 하고 시작하기 때문에(함수에 대한 구조 가정) 실제 데이터가 선형이 아니라면 정확도가 떨어진다. 그러나 딥러닝같은 경우에는 이런 가정 없이, 충분히 데이터가 많다면 함수를 근사할 수 있다. 데이터를 함축적으로 잘 표현하는 좋은 representation을 배울 수있음 (나중에 배워보자) 좋은 represe..

[Part2] CH05. Off-policy TD contorl과 Q-Learning

복습 TD로도 Off-policy를 할 수 있겠구나. TD(0) (복습) TD(0) 현재 보상인 Rt+1과 한번 감가한 다음state의 value fucntion Off-policy MC(복습) Off-policy를 하는데 Correction term이 존재했다. Importance sampling for Off-Policy TD Importance sampling의 단점 Q-Learning : An Off-Policy TD Control Q-Learning이 TD의 유일한 Off-Policy 방법은 아니다. TD의 다양한 Off-Policy 방법이 존재하나 Q-Learning이 가장 구현이 쉽다. 어떤 정책을 사용하든 행동 a를 구했다고 생각하고 행동 a를 환경에 가한 후 , 환경으로부터 보상과 다음상..