SlideShare a Scribd company logo
시즌 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에 복사

More Related Content

What's hot (20)

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

Viewers also liked (20)

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

Similar to Reinforcement learning v0.5 (20)

PPTX
ML + 주식 phase 2
HoChul Shin
 
PDF
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
Kyunghwan Kim
 
PDF
Dqn break
Juntae Kim
 
PPTX
Deep learning seminar_snu_161031
Jinwon Lee
 
PPTX
Imagination-Augmented Agents for Deep Reinforcement Learning
성재 최
 
PPTX
13-DfdasdfsafdsafdasfdasfdsadfasfdsafNN.pptx
HinPhmXun1
 
PDF
밑바닥부터 시작하는딥러닝 8장
Sunggon Song
 
PDF
Policy gradient
태영 정
 
PDF
생체 광학 데이터 분석 AI 경진대회 1위 수상작
DACON AI 데이콘
 
PDF
Deep Learning from scratch 4장 : neural network learning
JinSooKim80
 
PDF
[밑러닝] Chap06 학습관련기술들
종현 최
 
PPTX
Dsh data sensitive hashing for high dimensional k-nn search
WooSung Choi
 
PPTX
인공지능, 기계학습 그리고 딥러닝
Jinwon Lee
 
PDF
Rnn keras
Park Seong Hyeon
 
PDF
Nationality recognition
준영 박
 
PDF
딥러닝 기본 원리의 이해
Hee Won Park
 
PDF
Forward-Forward Algorithm
Dong Heon Cho
 
PDF
Gaussian Mixture Model
KyeongUkJang
 
PDF
세그먼트 트리 느리게 업데이트하기 - Sogang ICPC Team, 2020 Winter
Suhyun Park
 
ML + 주식 phase 2
HoChul Shin
 
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
Kyunghwan Kim
 
Dqn break
Juntae Kim
 
Deep learning seminar_snu_161031
Jinwon Lee
 
Imagination-Augmented Agents for Deep Reinforcement Learning
성재 최
 
13-DfdasdfsafdsafdasfdasfdsadfasfdsafNN.pptx
HinPhmXun1
 
밑바닥부터 시작하는딥러닝 8장
Sunggon Song
 
Policy gradient
태영 정
 
생체 광학 데이터 분석 AI 경진대회 1위 수상작
DACON AI 데이콘
 
Deep Learning from scratch 4장 : neural network learning
JinSooKim80
 
[밑러닝] Chap06 학습관련기술들
종현 최
 
Dsh data sensitive hashing for high dimensional k-nn search
WooSung Choi
 
인공지능, 기계학습 그리고 딥러닝
Jinwon Lee
 
Rnn keras
Park Seong Hyeon
 
Nationality recognition
준영 박
 
딥러닝 기본 원리의 이해
Hee Won Park
 
Forward-Forward Algorithm
Dong Heon Cho
 
Gaussian Mixture Model
KyeongUkJang
 
세그먼트 트리 느리게 업데이트하기 - Sogang ICPC Team, 2020 Winter
Suhyun Park
 
Ad

More from SANG WON PARK (14)

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

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에 복사