SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
시즌 RL - Deep
Reinforcement Learning
요약 정리
Reinforcement Learning with
Tensorflow & Open AI Gym
freepsw
Open AI Gym
Lec 3. Dummy Q Learning
단순히 action에 대한 reward와 다음 단계 Q의 최대값을 더함
• 초기 아무것도 알지 못하는 상황에서 Q라는 대상에게
action을 전달하면,
• Reward와 새로운 state, 게임 종료여부를 반환함.
• 이를 기반으로 가장 보상이 큰 action을 선택하도록
하는 방식
Dummy Q Learning 알고리즘
Q Table의 값을 갱신하고, 이를 기반으로 action을 선택
Lec 3. Dummy Q Learning 학습 과정
초기에는 reward 0이 반복, 이후 성공하면서 Q값을 업데이트
• 게임에 성공했을 때만 1을 reward로
받음
• 이후 다음 action 선택시에 Q Table에
서 가장 큰 action을 선택함
• 최종 Q table이 업데이트 된 결과
Lec 4. Q-Learning Exploit & Exploration
Action 선택시 다양한 선택이 가능하도록 하는 방법
Decaying E-greedy Random noise
• 랜덤으로 선택한 값이 일정 값(e) 이하이면, action을 랜덤
으로 선택, 이상이면 Q의 최대값 선택
• è 기존 값과 상관없이 완전히 새로운 선택 가능
• Decaying : 시간이 지나면 e값이 작아져서 기존 Q를 많이
활용하도록 함
• 기존 Q값에 랜덤으로 생성된 값을 추가한 후 최대값을 선택하
도록 변경
• è 기존 값에 영향을 받음
Discounted future reward
나중에 받을 reward가 미치는 영향을 줄이고, 현재 reward를 높임
• 위의 공식은 아래의 방식을 이용하여 도출
Lec 5. Q-learning on Nondeterministic Worlds
선택한 action이 불규칙하게 다른 action으로 변경된다면?
• Frozen Lake 게임을 예로 들면 내가 LEFT
를 선택했는데, 실제 action은 아무것도 안
하거나, RIGHT를 실행하는 경우
• 이런 상황에서 기존 Code를 실행해 보면
게임의 성공률이 10%도 안되게 나온다.
• 기존에는 다음 상태 Q의 state를 100% 따라서 Q Table의 state를 업
데이트 하였으나,
• 이제는 나의 선택(현재 상태 Q)의 결정을 많이 반영하고, 다음 상태 Q
의 결정은 조금만 반영한다.
• 이때 반영할 기준(수치)를 learning_rate로 설정
• 위와 같은 80*80 size의 화면에 2가지 색상인 경
우 2의 80*80승만큼의 공간이 필요함. à 불가
• 상태를 입력으로 받고,
• 상태에 따른 모든 action에 대한 가능성을 출력으로 구성하는 네트워크
Lec 5. Q-Network
Q Table에는 한계가 있으므로, 이를 Neural Network를 활용해 보자
1). 정답(y, target)은 기존 Q-learning으로 계산
2). 예측은 아래와 같은 NN을 이용하여 계산
à Ws(y)의 값이 정답이 되도록 학습
3). 정답(y)와 예측값(Ws, Q_pred, Q^)를 가능한 동일하게 해주는 Weight(𝛉)를
찾자
Q-pred
(Q^, 예측값)
4). Loss(Cost) 함수를 이용 𝛉하여 Weight 최적화
• Q^ : 𝛉가 주어졌을때 action, state에 대한 예측값
• Q* : Q-learnig에서의 출력값
Q-Network를 학습하는 방식
정답(Y)를 계산하는 함수를 제외하면 거의 동일하게 활용가능
• 초기 상태를 random 초기화
• 첫번째 상태를 저장
• ∅(s1)는 상태(s)를 전처리한다는 의미, 여기서는 별도의 전처리가
없으므로 s1과 동일
• Action 선택 (E-greedy 방식)
• Y(정답)은 2가지 방식으로 계산
• 목표(goad)에 도달 했을 때는 다음 상태가 없으므로 reward만 저장
• 다음 단계가 있을 때는 다음 단계에서의 가장 큰 값 (discount factor
적용)
그런데 왜 stochastic world에서 learing rate를 적용하여 target을 계산
하지 않을까?
Learning rate(α)가 아주 미세하게 변경되기 때문에 적용하지 않아도 결과적으로 큰 차이는 없음.
Q-Network알고리즘 정리
• 예측한 Y^의 Θ (Weight)를 업데이트하게되면, target의 Θ도 함께 변
경되게 된다.
• 즉 화살을 쏘는 순간 target도 함께 움직이게 되는 상황
Q Network는 network가 너무 적고, 변수간의 상관관계 및 고정되지 않는
Target으로 적용이 어렵다.
Lec 7. Q Network 문제점
• 저장된 상태 중에서 랜덤하게 몇개만 가져오면, 전체의 분포가 잘 반
영될 수 있음. (correlation이 제거될 수 잇음)
DQN의 해결방안
• Network의 깊이를 더 깊게하여 최적의 weight를 찾아가
도록 변경
• Target(Y)의 Θ (Weight)와 예측값(Y^)의 Θ를 분리한다
• 학습할때는 예측값의 Θ만 업데이트하고,
• 일정한 시간 후에 target의 Θ 에 복사한다.
DQN의 해결방안
Target Network가 현재 학습과정에서 영향을 받지 않도록 분리
DQN1 (NIPS 2013 적용)
위에서 제시한 3가지 중 2가지 해결방안을 적용
1단계. Go deep
• Layer를 추가하여 2개로 생성.
2단계. Replay Memory
• Action에 대한 결과(state, reward.. )를 buffer에 저장
• 매 10번째 episode에서 buffer에 저장된 상태를 10개씩 50번 학습함.
• 메모리(buffer)에서 받아온 정보를 stack에 저장하고, 이를 학습한다.
• 일단 for문으로 minibatch(10건) 만큼씩 정답과 예측에 필요한 상태(state)를 저장한다.
• 10개가 채워지면 실제 학습을 수행하는 dqn.update함수를 호출한다.
DQN2 (Nature 2015 적용)
NIPS 2013 모델
Go Deep
Capture and Replay
• 학습초기에는 위와 같은 결과가 발생함.
Nature 2015 모델
Go Deep
Capture and Replay
Separate Network
• 학습초기 (3~400 episode)부터 10,000
• 상태를 저장할 버퍼를 생성한다.
• Target과 예측에 사용될 네트워크 (Θ, Weight)를 각각 생성한다.
초기에는 2개의 값이 동일하다.
• Action 선택 및 실행 후 reward, env를 받아온다.
• Action에 의해 받아온 상태, reward를 바로 학습하지 않고, 일단
버퍼(D)에 저장한다.
• 버퍼에 저장된 데이터를 랜덤하게 가져와서 학습을 한다.
• 분리된 Target 네트워크 (Θ, Weight)를 이용한 값(Yi)와 학습에서 사용한
네트워크 (Θ)를 이용한 값을 비교하고,
• 비교 결과에 따라서 학습에 사용된 네트워크(Θ)를 업데이트 한다.
• 분리된 Target 네트워크 (Θ, Weight)를 이용한 값(Yi)와 학습에서 사용한
네트워크 (Θ)를 이용한 값을 비교하고,
• 비교 결과에 따라서 학습에 사용된 네트워크(Θ)를 업데이트 한다.
• 그리고 일정 단계 후에 Target 네트워크 (Θ)를 업데이트 한다.
Nature 2015 전체 알고리즘
1). 2개의 Network 생성 및 초기화 (2개 동일하게)
2). 학습 중에는 mainDQN만 업데이트 됨
--> 일정 간격마다 mainDQN = targetDQN으로 복사
3). 일정 간격마다 mainDQN = targetDQN으로 복사 (Weight 값을 복사)
Network를 분리하고, 복사하는 방식
초기 동일한 NW로 구성하고, 학습시에는 target NW를 변경하지 않고, 일
정 기간이후에 학습된 NW를 target NW에 복사

Contenu connexe

Tendances

Differentiable Neural Computer
Differentiable Neural ComputerDifferentiable Neural Computer
Differentiable Neural ComputerTaehoon Kim
 
Focal loss의 응용(Detection & Classification)
Focal loss의 응용(Detection & Classification)Focal loss의 응용(Detection & Classification)
Focal loss의 응용(Detection & Classification)홍배 김
 
서포트 벡터머신
서포트 벡터머신서포트 벡터머신
서포트 벡터머신Sunggon Song
 
[머가]Chap11 강화학습
[머가]Chap11 강화학습[머가]Chap11 강화학습
[머가]Chap11 강화학습종현 최
 
파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강Woong won Lee
 
RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기Woong won Lee
 
Introduction toDQN
Introduction toDQNIntroduction toDQN
Introduction toDQNCurt Park
 
밑바닥부터 시작하는 딥러닝_신경망학습
밑바닥부터 시작하는 딥러닝_신경망학습밑바닥부터 시작하는 딥러닝_신경망학습
밑바닥부터 시작하는 딥러닝_신경망학습Juhui Park
 
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01Kwang Woo NAM
 
From maching learning to deep learning
From maching learning to deep learningFrom maching learning to deep learning
From maching learning to deep learningYongdae Kim
 
4.convolutional neural networks
4.convolutional neural networks4.convolutional neural networks
4.convolutional neural networksHaesun Park
 
3.neural networks
3.neural networks3.neural networks
3.neural networksHaesun Park
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks ISang Jun Lee
 
boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)SANG WON PARK
 
keras 빨리 훑어보기(intro)
keras 빨리 훑어보기(intro)keras 빨리 훑어보기(intro)
keras 빨리 훑어보기(intro)beom kyun choi
 
한국인공지능연구소 강화학습랩 결과보고서
한국인공지능연구소 강화학습랩 결과보고서한국인공지능연구소 강화학습랩 결과보고서
한국인공지능연구소 강화학습랩 결과보고서Euijin Jeong
 
3.unsupervised learing
3.unsupervised learing3.unsupervised learing
3.unsupervised learingHaesun Park
 
Lecture 2: Supervised Learning
Lecture 2: Supervised LearningLecture 2: Supervised Learning
Lecture 2: Supervised LearningSang Jun Lee
 
강화학습 알고리즘의 흐름도 Part 2
강화학습 알고리즘의 흐름도 Part 2강화학습 알고리즘의 흐름도 Part 2
강화학습 알고리즘의 흐름도 Part 2Dongmin Lee
 

Tendances (20)

Differentiable Neural Computer
Differentiable Neural ComputerDifferentiable Neural Computer
Differentiable Neural Computer
 
Focal loss의 응용(Detection & Classification)
Focal loss의 응용(Detection & Classification)Focal loss의 응용(Detection & Classification)
Focal loss의 응용(Detection & Classification)
 
서포트 벡터머신
서포트 벡터머신서포트 벡터머신
서포트 벡터머신
 
[머가]Chap11 강화학습
[머가]Chap11 강화학습[머가]Chap11 강화학습
[머가]Chap11 강화학습
 
파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강
 
RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기
 
Introduction toDQN
Introduction toDQNIntroduction toDQN
Introduction toDQN
 
밑바닥부터 시작하는 딥러닝_신경망학습
밑바닥부터 시작하는 딥러닝_신경망학습밑바닥부터 시작하는 딥러닝_신경망학습
밑바닥부터 시작하는 딥러닝_신경망학습
 
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
 
From maching learning to deep learning
From maching learning to deep learningFrom maching learning to deep learning
From maching learning to deep learning
 
4.convolutional neural networks
4.convolutional neural networks4.convolutional neural networks
4.convolutional neural networks
 
3.neural networks
3.neural networks3.neural networks
3.neural networks
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks I
 
boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)
 
keras 빨리 훑어보기(intro)
keras 빨리 훑어보기(intro)keras 빨리 훑어보기(intro)
keras 빨리 훑어보기(intro)
 
한국인공지능연구소 강화학습랩 결과보고서
한국인공지능연구소 강화학습랩 결과보고서한국인공지능연구소 강화학습랩 결과보고서
한국인공지능연구소 강화학습랩 결과보고서
 
3.unsupervised learing
3.unsupervised learing3.unsupervised learing
3.unsupervised learing
 
DL from scratch(6)
DL from scratch(6)DL from scratch(6)
DL from scratch(6)
 
Lecture 2: Supervised Learning
Lecture 2: Supervised LearningLecture 2: Supervised Learning
Lecture 2: Supervised Learning
 
강화학습 알고리즘의 흐름도 Part 2
강화학습 알고리즘의 흐름도 Part 2강화학습 알고리즘의 흐름도 Part 2
강화학습 알고리즘의 흐름도 Part 2
 

En vedette

기술적분석 16 trix
기술적분석 16 trix기술적분석 16 trix
기술적분석 16 trixAnt House
 
Concurrent Programming (Java thread 다루기)
Concurrent Programming (Java thread 다루기)Concurrent Programming (Java thread 다루기)
Concurrent Programming (Java thread 다루기)JungGeun Lee
 
[한국어] Multiagent Bidirectional- Coordinated Nets for Learning to Play StarCra...
[한국어] Multiagent Bidirectional- Coordinated Nets for Learning to Play StarCra...[한국어] Multiagent Bidirectional- Coordinated Nets for Learning to Play StarCra...
[한국어] Multiagent Bidirectional- Coordinated Nets for Learning to Play StarCra...Kiho Suh
 
알파고 해부하기 3부
알파고 해부하기 3부알파고 해부하기 3부
알파고 해부하기 3부Donghun Lee
 
20160409 microsoft 세미나 머신러닝관련 발표자료
20160409 microsoft 세미나 머신러닝관련 발표자료20160409 microsoft 세미나 머신러닝관련 발표자료
20160409 microsoft 세미나 머신러닝관련 발표자료JungGeun Lee
 
STRONG KOREA 20130609
STRONG KOREA 20130609STRONG KOREA 20130609
STRONG KOREA 20130609Leo Kim
 
[BIZ+005 스타트업 투자/법률 기초편] 첫 투자를 위한 스타트업 기초상식 | 비즈업 조가연님
[BIZ+005 스타트업 투자/법률 기초편] 첫 투자를 위한 스타트업 기초상식 | 비즈업 조가연님 [BIZ+005 스타트업 투자/법률 기초편] 첫 투자를 위한 스타트업 기초상식 | 비즈업 조가연님
[BIZ+005 스타트업 투자/법률 기초편] 첫 투자를 위한 스타트업 기초상식 | 비즈업 조가연님 BIZ+
 
주식 기술적 분석#3 (추세선)
주식 기술적 분석#3 (추세선)주식 기술적 분석#3 (추세선)
주식 기술적 분석#3 (추세선)Ant House
 
Machine Learning Foundations (a case study approach) 강의 정리
Machine Learning Foundations (a case study approach) 강의 정리Machine Learning Foundations (a case study approach) 강의 정리
Machine Learning Foundations (a case study approach) 강의 정리SANG WON PARK
 
머피의 머신러닝: Undirencted Graphical Model
머피의 머신러닝: Undirencted Graphical Model머피의 머신러닝: Undirencted Graphical Model
머피의 머신러닝: Undirencted Graphical ModelJungkyu Lee
 
[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement LearningKiho Suh
 
1차시 smart education
1차시 smart education1차시 smart education
1차시 smart educationJaechoon Jo
 
기계 학습의 현재와 미래
기계 학습의 현재와 미래기계 학습의 현재와 미래
기계 학습의 현재와 미래Joon Kim
 
파이썬으로 나만의 강화학습 환경 만들기
파이썬으로 나만의 강화학습 환경 만들기파이썬으로 나만의 강화학습 환경 만들기
파이썬으로 나만의 강화학습 환경 만들기정주 김
 
기술적분석16 sonar
기술적분석16 sonar기술적분석16 sonar
기술적분석16 sonarAnt House
 
알파고 학습 이해하기
알파고 학습 이해하기알파고 학습 이해하기
알파고 학습 이해하기도형 임
 
[비즈클래스 3기] IP를 활용한 해외진출사례 | 핑크퐁 이승규 CFO
[비즈클래스 3기]  IP를 활용한 해외진출사례 | 핑크퐁 이승규 CFO[비즈클래스 3기]  IP를 활용한 해외진출사례 | 핑크퐁 이승규 CFO
[비즈클래스 3기] IP를 활용한 해외진출사례 | 핑크퐁 이승규 CFOBIZ+
 

En vedette (20)

기술적분석 16 trix
기술적분석 16 trix기술적분석 16 trix
기술적분석 16 trix
 
Concurrent Programming (Java thread 다루기)
Concurrent Programming (Java thread 다루기)Concurrent Programming (Java thread 다루기)
Concurrent Programming (Java thread 다루기)
 
[한국어] Multiagent Bidirectional- Coordinated Nets for Learning to Play StarCra...
[한국어] Multiagent Bidirectional- Coordinated Nets for Learning to Play StarCra...[한국어] Multiagent Bidirectional- Coordinated Nets for Learning to Play StarCra...
[한국어] Multiagent Bidirectional- Coordinated Nets for Learning to Play StarCra...
 
인공지능을 위한 뇌과학
인공지능을 위한 뇌과학인공지능을 위한 뇌과학
인공지능을 위한 뇌과학
 
알파고 해부하기 3부
알파고 해부하기 3부알파고 해부하기 3부
알파고 해부하기 3부
 
4차산업혁명
4차산업혁명4차산업혁명
4차산업혁명
 
파이썬으로 익히는 딥러닝
파이썬으로 익히는 딥러닝파이썬으로 익히는 딥러닝
파이썬으로 익히는 딥러닝
 
20160409 microsoft 세미나 머신러닝관련 발표자료
20160409 microsoft 세미나 머신러닝관련 발표자료20160409 microsoft 세미나 머신러닝관련 발표자료
20160409 microsoft 세미나 머신러닝관련 발표자료
 
STRONG KOREA 20130609
STRONG KOREA 20130609STRONG KOREA 20130609
STRONG KOREA 20130609
 
[BIZ+005 스타트업 투자/법률 기초편] 첫 투자를 위한 스타트업 기초상식 | 비즈업 조가연님
[BIZ+005 스타트업 투자/법률 기초편] 첫 투자를 위한 스타트업 기초상식 | 비즈업 조가연님 [BIZ+005 스타트업 투자/법률 기초편] 첫 투자를 위한 스타트업 기초상식 | 비즈업 조가연님
[BIZ+005 스타트업 투자/법률 기초편] 첫 투자를 위한 스타트업 기초상식 | 비즈업 조가연님
 
주식 기술적 분석#3 (추세선)
주식 기술적 분석#3 (추세선)주식 기술적 분석#3 (추세선)
주식 기술적 분석#3 (추세선)
 
Machine Learning Foundations (a case study approach) 강의 정리
Machine Learning Foundations (a case study approach) 강의 정리Machine Learning Foundations (a case study approach) 강의 정리
Machine Learning Foundations (a case study approach) 강의 정리
 
머피의 머신러닝: Undirencted Graphical Model
머피의 머신러닝: Undirencted Graphical Model머피의 머신러닝: Undirencted Graphical Model
머피의 머신러닝: Undirencted Graphical Model
 
[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning
 
1차시 smart education
1차시 smart education1차시 smart education
1차시 smart education
 
기계 학습의 현재와 미래
기계 학습의 현재와 미래기계 학습의 현재와 미래
기계 학습의 현재와 미래
 
파이썬으로 나만의 강화학습 환경 만들기
파이썬으로 나만의 강화학습 환경 만들기파이썬으로 나만의 강화학습 환경 만들기
파이썬으로 나만의 강화학습 환경 만들기
 
기술적분석16 sonar
기술적분석16 sonar기술적분석16 sonar
기술적분석16 sonar
 
알파고 학습 이해하기
알파고 학습 이해하기알파고 학습 이해하기
알파고 학습 이해하기
 
[비즈클래스 3기] IP를 활용한 해외진출사례 | 핑크퐁 이승규 CFO
[비즈클래스 3기]  IP를 활용한 해외진출사례 | 핑크퐁 이승규 CFO[비즈클래스 3기]  IP를 활용한 해외진출사례 | 핑크퐁 이승규 CFO
[비즈클래스 3기] IP를 활용한 해외진출사례 | 핑크퐁 이승규 CFO
 

Similaire à Reinforcement learning v0.5

ML + 주식 phase 2
ML + 주식  phase 2ML + 주식  phase 2
ML + 주식 phase 2HoChul Shin
 
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)Kyunghwan Kim
 
Deep learning seminar_snu_161031
Deep learning seminar_snu_161031Deep learning seminar_snu_161031
Deep learning seminar_snu_161031Jinwon Lee
 
Imagination-Augmented Agents for Deep Reinforcement Learning
Imagination-Augmented Agents for Deep Reinforcement LearningImagination-Augmented Agents for Deep Reinforcement Learning
Imagination-Augmented Agents for Deep Reinforcement Learning성재 최
 
밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장Sunggon Song
 
Policy gradient
Policy gradientPolicy gradient
Policy gradient태영 정
 
생체 광학 데이터 분석 AI 경진대회 1위 수상작
생체 광학 데이터 분석 AI 경진대회 1위 수상작생체 광학 데이터 분석 AI 경진대회 1위 수상작
생체 광학 데이터 분석 AI 경진대회 1위 수상작DACON AI 데이콘
 
Deep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learningDeep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learningJinSooKim80
 
[밑러닝] Chap06 학습관련기술들
[밑러닝] Chap06 학습관련기술들[밑러닝] Chap06 학습관련기술들
[밑러닝] Chap06 학습관련기술들종현 최
 
Dsh data sensitive hashing for high dimensional k-nn search
Dsh  data sensitive hashing for high dimensional k-nn searchDsh  data sensitive hashing for high dimensional k-nn search
Dsh data sensitive hashing for high dimensional k-nn searchWooSung Choi
 
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝Jinwon Lee
 
Nationality recognition
Nationality recognitionNationality recognition
Nationality recognition준영 박
 
딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해Hee Won Park
 
Forward-Forward Algorithm
Forward-Forward AlgorithmForward-Forward Algorithm
Forward-Forward AlgorithmDong Heon Cho
 
Gaussian Mixture Model
Gaussian Mixture ModelGaussian Mixture Model
Gaussian Mixture ModelKyeongUkJang
 
세그먼트 트리 느리게 업데이트하기 - Sogang ICPC Team, 2020 Winter
세그먼트 트리 느리게 업데이트하기 - Sogang ICPC Team, 2020 Winter세그먼트 트리 느리게 업데이트하기 - Sogang ICPC Team, 2020 Winter
세그먼트 트리 느리게 업데이트하기 - Sogang ICPC Team, 2020 WinterSuhyun Park
 
Bag of Tricks for Image Classification with Convolutional Neural Networks (C...
Bag of Tricks for Image Classification  with Convolutional Neural Networks (C...Bag of Tricks for Image Classification  with Convolutional Neural Networks (C...
Bag of Tricks for Image Classification with Convolutional Neural Networks (C...gohyunwoong
 

Similaire à Reinforcement learning v0.5 (20)

ML + 주식 phase 2
ML + 주식  phase 2ML + 주식  phase 2
ML + 주식 phase 2
 
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
 
Dqn break
Dqn breakDqn break
Dqn break
 
Rl
RlRl
Rl
 
Deep learning seminar_snu_161031
Deep learning seminar_snu_161031Deep learning seminar_snu_161031
Deep learning seminar_snu_161031
 
Imagination-Augmented Agents for Deep Reinforcement Learning
Imagination-Augmented Agents for Deep Reinforcement LearningImagination-Augmented Agents for Deep Reinforcement Learning
Imagination-Augmented Agents for Deep Reinforcement Learning
 
밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장
 
Policy gradient
Policy gradientPolicy gradient
Policy gradient
 
생체 광학 데이터 분석 AI 경진대회 1위 수상작
생체 광학 데이터 분석 AI 경진대회 1위 수상작생체 광학 데이터 분석 AI 경진대회 1위 수상작
생체 광학 데이터 분석 AI 경진대회 1위 수상작
 
Deep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learningDeep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learning
 
[밑러닝] Chap06 학습관련기술들
[밑러닝] Chap06 학습관련기술들[밑러닝] Chap06 학습관련기술들
[밑러닝] Chap06 학습관련기술들
 
Dsh data sensitive hashing for high dimensional k-nn search
Dsh  data sensitive hashing for high dimensional k-nn searchDsh  data sensitive hashing for high dimensional k-nn search
Dsh data sensitive hashing for high dimensional k-nn search
 
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝
 
Rnn keras
Rnn kerasRnn keras
Rnn keras
 
Nationality recognition
Nationality recognitionNationality recognition
Nationality recognition
 
딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해
 
Forward-Forward Algorithm
Forward-Forward AlgorithmForward-Forward Algorithm
Forward-Forward Algorithm
 
Gaussian Mixture Model
Gaussian Mixture ModelGaussian Mixture Model
Gaussian Mixture Model
 
세그먼트 트리 느리게 업데이트하기 - Sogang ICPC Team, 2020 Winter
세그먼트 트리 느리게 업데이트하기 - Sogang ICPC Team, 2020 Winter세그먼트 트리 느리게 업데이트하기 - Sogang ICPC Team, 2020 Winter
세그먼트 트리 느리게 업데이트하기 - Sogang ICPC Team, 2020 Winter
 
Bag of Tricks for Image Classification with Convolutional Neural Networks (C...
Bag of Tricks for Image Classification  with Convolutional Neural Networks (C...Bag of Tricks for Image Classification  with Convolutional Neural Networks (C...
Bag of Tricks for Image Classification with Convolutional Neural Networks (C...
 

Plus de SANG WON PARK

Trends_of_MLOps_tech_in_business
Trends_of_MLOps_tech_in_businessTrends_of_MLOps_tech_in_business
Trends_of_MLOps_tech_in_businessSANG WON PARK
 
Cloud DW technology trends and considerations for enterprises to apply snowflake
Cloud DW technology trends and considerations for enterprises to apply snowflakeCloud DW technology trends and considerations for enterprises to apply snowflake
Cloud DW technology trends and considerations for enterprises to apply snowflakeSANG WON PARK
 
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)SANG WON PARK
 
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )SANG WON PARK
 
AWS EMR Cost optimization
AWS EMR Cost optimizationAWS EMR Cost optimization
AWS EMR Cost optimizationSANG WON PARK
 
Understanding of Apache kafka metrics for monitoring
Understanding of Apache kafka metrics for monitoring Understanding of Apache kafka metrics for monitoring
Understanding of Apache kafka metrics for monitoring SANG WON PARK
 
Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3SANG WON PARK
 
Optane DC Persistent Memory(DCPMM) 성능 테스트
Optane DC Persistent Memory(DCPMM) 성능 테스트Optane DC Persistent Memory(DCPMM) 성능 테스트
Optane DC Persistent Memory(DCPMM) 성능 테스트SANG WON PARK
 
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안SANG WON PARK
 
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...SANG WON PARK
 
코드로 이해하는 Back_propagation(cs231n)
코드로 이해하는 Back_propagation(cs231n)코드로 이해하는 Back_propagation(cs231n)
코드로 이해하는 Back_propagation(cs231n)SANG WON PARK
 
Rancher Simple User Guide
Rancher Simple User GuideRancher Simple User Guide
Rancher Simple User GuideSANG WON PARK
 
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)SANG WON PARK
 
Hadoop eco story 이해
Hadoop eco story 이해Hadoop eco story 이해
Hadoop eco story 이해SANG WON PARK
 

Plus de SANG WON PARK (14)

Trends_of_MLOps_tech_in_business
Trends_of_MLOps_tech_in_businessTrends_of_MLOps_tech_in_business
Trends_of_MLOps_tech_in_business
 
Cloud DW technology trends and considerations for enterprises to apply snowflake
Cloud DW technology trends and considerations for enterprises to apply snowflakeCloud DW technology trends and considerations for enterprises to apply snowflake
Cloud DW technology trends and considerations for enterprises to apply snowflake
 
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
 
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
 
AWS EMR Cost optimization
AWS EMR Cost optimizationAWS EMR Cost optimization
AWS EMR Cost optimization
 
Understanding of Apache kafka metrics for monitoring
Understanding of Apache kafka metrics for monitoring Understanding of Apache kafka metrics for monitoring
Understanding of Apache kafka metrics for monitoring
 
Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3
 
Optane DC Persistent Memory(DCPMM) 성능 테스트
Optane DC Persistent Memory(DCPMM) 성능 테스트Optane DC Persistent Memory(DCPMM) 성능 테스트
Optane DC Persistent Memory(DCPMM) 성능 테스트
 
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
 
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
 
코드로 이해하는 Back_propagation(cs231n)
코드로 이해하는 Back_propagation(cs231n)코드로 이해하는 Back_propagation(cs231n)
코드로 이해하는 Back_propagation(cs231n)
 
Rancher Simple User Guide
Rancher Simple User GuideRancher Simple User Guide
Rancher Simple User Guide
 
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
 
Hadoop eco story 이해
Hadoop eco story 이해Hadoop eco story 이해
Hadoop eco story 이해
 

Reinforcement learning v0.5

  • 1. 시즌 RL - Deep Reinforcement Learning 요약 정리 Reinforcement Learning with Tensorflow & Open AI Gym freepsw
  • 3. Lec 3. Dummy Q Learning 단순히 action에 대한 reward와 다음 단계 Q의 최대값을 더함 • 초기 아무것도 알지 못하는 상황에서 Q라는 대상에게 action을 전달하면, • Reward와 새로운 state, 게임 종료여부를 반환함. • 이를 기반으로 가장 보상이 큰 action을 선택하도록 하는 방식
  • 4. Dummy Q Learning 알고리즘 Q Table의 값을 갱신하고, 이를 기반으로 action을 선택
  • 5. Lec 3. Dummy Q Learning 학습 과정 초기에는 reward 0이 반복, 이후 성공하면서 Q값을 업데이트 • 게임에 성공했을 때만 1을 reward로 받음 • 이후 다음 action 선택시에 Q Table에 서 가장 큰 action을 선택함 • 최종 Q table이 업데이트 된 결과
  • 6. Lec 4. Q-Learning Exploit & Exploration Action 선택시 다양한 선택이 가능하도록 하는 방법 Decaying E-greedy Random noise • 랜덤으로 선택한 값이 일정 값(e) 이하이면, action을 랜덤 으로 선택, 이상이면 Q의 최대값 선택 • è 기존 값과 상관없이 완전히 새로운 선택 가능 • Decaying : 시간이 지나면 e값이 작아져서 기존 Q를 많이 활용하도록 함 • 기존 Q값에 랜덤으로 생성된 값을 추가한 후 최대값을 선택하 도록 변경 • è 기존 값에 영향을 받음
  • 7. Discounted future reward 나중에 받을 reward가 미치는 영향을 줄이고, 현재 reward를 높임 • 위의 공식은 아래의 방식을 이용하여 도출
  • 8. Lec 5. Q-learning on Nondeterministic Worlds 선택한 action이 불규칙하게 다른 action으로 변경된다면? • Frozen Lake 게임을 예로 들면 내가 LEFT 를 선택했는데, 실제 action은 아무것도 안 하거나, RIGHT를 실행하는 경우 • 이런 상황에서 기존 Code를 실행해 보면 게임의 성공률이 10%도 안되게 나온다. • 기존에는 다음 상태 Q의 state를 100% 따라서 Q Table의 state를 업 데이트 하였으나, • 이제는 나의 선택(현재 상태 Q)의 결정을 많이 반영하고, 다음 상태 Q 의 결정은 조금만 반영한다. • 이때 반영할 기준(수치)를 learning_rate로 설정
  • 9. • 위와 같은 80*80 size의 화면에 2가지 색상인 경 우 2의 80*80승만큼의 공간이 필요함. à 불가 • 상태를 입력으로 받고, • 상태에 따른 모든 action에 대한 가능성을 출력으로 구성하는 네트워크 Lec 5. Q-Network Q Table에는 한계가 있으므로, 이를 Neural Network를 활용해 보자
  • 10. 1). 정답(y, target)은 기존 Q-learning으로 계산 2). 예측은 아래와 같은 NN을 이용하여 계산 à Ws(y)의 값이 정답이 되도록 학습 3). 정답(y)와 예측값(Ws, Q_pred, Q^)를 가능한 동일하게 해주는 Weight(𝛉)를 찾자 Q-pred (Q^, 예측값) 4). Loss(Cost) 함수를 이용 𝛉하여 Weight 최적화 • Q^ : 𝛉가 주어졌을때 action, state에 대한 예측값 • Q* : Q-learnig에서의 출력값 Q-Network를 학습하는 방식 정답(Y)를 계산하는 함수를 제외하면 거의 동일하게 활용가능
  • 11. • 초기 상태를 random 초기화 • 첫번째 상태를 저장 • ∅(s1)는 상태(s)를 전처리한다는 의미, 여기서는 별도의 전처리가 없으므로 s1과 동일 • Action 선택 (E-greedy 방식) • Y(정답)은 2가지 방식으로 계산 • 목표(goad)에 도달 했을 때는 다음 상태가 없으므로 reward만 저장 • 다음 단계가 있을 때는 다음 단계에서의 가장 큰 값 (discount factor 적용) 그런데 왜 stochastic world에서 learing rate를 적용하여 target을 계산 하지 않을까? Learning rate(α)가 아주 미세하게 변경되기 때문에 적용하지 않아도 결과적으로 큰 차이는 없음. Q-Network알고리즘 정리
  • 12. • 예측한 Y^의 Θ (Weight)를 업데이트하게되면, target의 Θ도 함께 변 경되게 된다. • 즉 화살을 쏘는 순간 target도 함께 움직이게 되는 상황 Q Network는 network가 너무 적고, 변수간의 상관관계 및 고정되지 않는 Target으로 적용이 어렵다. Lec 7. Q Network 문제점
  • 13. • 저장된 상태 중에서 랜덤하게 몇개만 가져오면, 전체의 분포가 잘 반 영될 수 있음. (correlation이 제거될 수 잇음) DQN의 해결방안 • Network의 깊이를 더 깊게하여 최적의 weight를 찾아가 도록 변경
  • 14. • Target(Y)의 Θ (Weight)와 예측값(Y^)의 Θ를 분리한다 • 학습할때는 예측값의 Θ만 업데이트하고, • 일정한 시간 후에 target의 Θ 에 복사한다. DQN의 해결방안 Target Network가 현재 학습과정에서 영향을 받지 않도록 분리
  • 15. DQN1 (NIPS 2013 적용) 위에서 제시한 3가지 중 2가지 해결방안을 적용 1단계. Go deep • Layer를 추가하여 2개로 생성.
  • 16. 2단계. Replay Memory • Action에 대한 결과(state, reward.. )를 buffer에 저장 • 매 10번째 episode에서 buffer에 저장된 상태를 10개씩 50번 학습함. • 메모리(buffer)에서 받아온 정보를 stack에 저장하고, 이를 학습한다. • 일단 for문으로 minibatch(10건) 만큼씩 정답과 예측에 필요한 상태(state)를 저장한다. • 10개가 채워지면 실제 학습을 수행하는 dqn.update함수를 호출한다.
  • 17. DQN2 (Nature 2015 적용) NIPS 2013 모델 Go Deep Capture and Replay • 학습초기에는 위와 같은 결과가 발생함. Nature 2015 모델 Go Deep Capture and Replay Separate Network • 학습초기 (3~400 episode)부터 10,000
  • 18. • 상태를 저장할 버퍼를 생성한다. • Target과 예측에 사용될 네트워크 (Θ, Weight)를 각각 생성한다. 초기에는 2개의 값이 동일하다. • Action 선택 및 실행 후 reward, env를 받아온다. • Action에 의해 받아온 상태, reward를 바로 학습하지 않고, 일단 버퍼(D)에 저장한다. • 버퍼에 저장된 데이터를 랜덤하게 가져와서 학습을 한다. • 분리된 Target 네트워크 (Θ, Weight)를 이용한 값(Yi)와 학습에서 사용한 네트워크 (Θ)를 이용한 값을 비교하고, • 비교 결과에 따라서 학습에 사용된 네트워크(Θ)를 업데이트 한다. • 분리된 Target 네트워크 (Θ, Weight)를 이용한 값(Yi)와 학습에서 사용한 네트워크 (Θ)를 이용한 값을 비교하고, • 비교 결과에 따라서 학습에 사용된 네트워크(Θ)를 업데이트 한다. • 그리고 일정 단계 후에 Target 네트워크 (Θ)를 업데이트 한다. Nature 2015 전체 알고리즘
  • 19. 1). 2개의 Network 생성 및 초기화 (2개 동일하게) 2). 학습 중에는 mainDQN만 업데이트 됨 --> 일정 간격마다 mainDQN = targetDQN으로 복사 3). 일정 간격마다 mainDQN = targetDQN으로 복사 (Weight 값을 복사) Network를 분리하고, 복사하는 방식 초기 동일한 NW로 구성하고, 학습시에는 target NW를 변경하지 않고, 일 정 기간이후에 학습된 NW를 target NW에 복사