ݺߣ

ݺߣShare a Scribd company logo
파이썬과 케라스로 배우는 강화학습
저자 이웅원
RLCode
목차
1. 저자 소개
2. 책 소개
3. 강화학습이란 무엇인가
4. DQN 이해하기
5. 앞으로의 강화학습
저자 소개
저자 이 웅 원
• 연세대학교 기계공학과 전공
• 모두의연구소 DCULab 랩장
• 모두의연구소 강화학습 스터디
• RLCode 리더
• 제이마플 선임연구원
저자 이 의 령
• 세종대학교 응용통계학 경영학 전공
• 스타트업 서버 개발 인턴
• 모두의연구소 인턴
• 소프트웨어 마에스트로 과정
저자 이 영 무
• 중앙대학교 컴퓨터공학과 전공
• 모두의연구소 강화학습 스터디
• 라이브 코딩의 신
저자 양 혁 렬
• 한양대학교 컴퓨터 공학 경영학 전공
• 서울대학교 융합과학기술 대학원 음
악오디오 연구실 인턴
저자 김 건 우
• 뉴욕대학교 컴퓨터 과학 전공
• DeepCoding 그룹 멤버
• 우버 샌프란시스코 소프트웨어 엔지
니어 인턴
RLCode
Reinforcement Learning Code
책 소개
파이썬과 케라스로 배우는 강화학습
http://wikibook.co.kr/reinforcement-learning/
왜 책을 쓰게 되었가
모두의연구소
• DCULab 자율주행드론
PID 계수 자동 튜닝을 위해 강화학습을 배워보자
모두의연구소
• David Silver의 RL Course 강의
https://www.youtube.com/watch?v=2pWv7GOvuf0
모두의연구소
• 홈페이지에 강화학습 포스팅
gitbook
• 이론을 집중적으로 설명
부족한 것 필요한 것 해야 할 것
학습 = 이론 + 실습
학습 = 이론 + 실습
이론과 실습 두 마리 토끼를 잡는 책을 집필해보자!
책이 다루는 내용
• 강화학습의 배경과 개념
• 강화학습을 위한 기본적인 이론: MDP, 벨만 방정식, 다이내믹 프로그래밍
• 고전 강화학습 알고리즘: 몬테카를로, 살사, 큐러닝
• 인공신경망을 이용한 강화학습 알고리즘: 딥살사, REINFORCE, DQN, 액터-크리틱, A3C
• 강화학습 알고리즘 구현 및 설명: 그리드월드, 카트폴, 아타리게임
강화학습이란 무엇인가
강화학습의 예시
강화학습  DeepMind  AlphaGo
http://www.popsci.com/googles-alphago-ai-defeats-lee-se-dol-at-game-go
강화학습의 예시
DeepMind  Atari  DQN
게임 화면으로 게임 플레이하는 법을 학습
강화학습의 예시
Atari Breakout 학습 과정
1000 에피소드 학습 후 3000 에피소드 학습 후 5000 에피소드 학습 후
행동심리학의 강화이론
• 스키너의 쥐 실험
보상을 받는 행동의 확률 증가  강화
학습을 위해 필요한 것
• 핵심은 에이전트와 환경의 상호작용
모르는 단어! [에이전트, 환경] [상태, 행동, 보상]
에이전트  상태를 관찰, 행동을 선택, 목표지향
an autonomous, goal-directed entity which observes and acts upon an
environment - 위키피디아
환경  에이전트를 제외한 나머지
판단하는 아이라는 주체를 빼고 길과 자전거와 아이의 몸 또한 환경이 된다
무엇을 관찰?
상태(state), 보상(reward)
상태(s)  현재 상황을 나타내는 정보
에이전트가 탁구를 치려면 탁구공의 위치, 속도, 가속도와 같은 정보가 필요
보상(r)  행동의 좋고 나쁨을 알려주는 정보
보상은 에이전트가 달성하고자 하는 목표에 대한 정보를 담고 있다
https://www.intelnervana.com/demystifying-deep-reinforcement-learning/
에이전트와 환경의 상호작용 과정
1. 에이전트가 환경에서 자신의 상태를 관찰
2. 그 상태에서 어떠한 기준에 따라 행동을 선택
3. 선택한 행동을 환경에서 실행
4. 환경으로부터 다음 상태와 보상을 받음
5. 보상을 통해 에이전트가 가진 정보를 수정함
𝑠0, 𝑎0, 𝑟1, 𝑠1, 𝑎1, 𝑟2, ⋯ , 𝑠 𝑇
어떻게 행동을 선택?
판단 기준의 필요  가치함수(Value function)
가치함수 (Value function)
• 만약 즉각적인 보상만을 고려해서 행동을 선택한다면?
이 행동만이 좋은 행동이고 나머지는 아니다?
가치함수 (Value function)
• 보상은 딜레이(delay)된다
• 어떤 행동이 그 보상을 얻게 했는지 명확하지 않다
그렇다면 앞으로 받을 보상을 싹 다 더해보자
현재 시간 = t
보상의 합 = 𝑅𝑡+1 + 𝑅𝑡+2 + ⋯ + 𝑅 𝑇
가치함수 (Value function)
• 세 가지 문제점  감가율의 도입(discount factor)
0.1 + 0.1 + ⋯ = ∞
1 + 1 + ⋯ = ∞
보상의 합 = 𝑅𝑡+1 + 𝛾𝑅𝑡+2 + ⋯ + 𝛾 𝑇−𝑡−1 𝑅 𝑇
감가율 0 ≤ 𝛾 ≤ 1
가치함수(Value function)
• 하지만 아직 보상을 받지 않았는데….? 미래에 받을 보상을 어떻게 알지?
지금 상태에서 미래에 받을 것이라 기대하는 보상의 합 = 가치함수
가치함수 𝑣(𝑠) = 𝑬 𝑅𝑡+1 + 𝛾𝑅𝑡+2 + ⋯ |𝑆𝑡 = 𝑠
큐함수(Q function)
• 하지만 내가 알고 싶은 건 ‘어떤 행동이 좋은가’인데?
지금 상태에서 이 행동을 선택했을 때 미래에 받을 것이라 기대하는 보상의 합
= 큐함수
큐함수 𝑞(𝑠, 𝑎) = 𝑬 𝑅𝑡+1 + 𝛾𝑅𝑡+2 + ⋯ |𝑆𝑡 = 𝑠, 𝐴 𝑡 = 𝑎
정책(Policy)
• 미래에 대한 기대  내가 어떻게 행동할 것인지를 알아야 함
• 각 상태에서 에이전트가 어떻게 행동할 지에 대한 정보
상태 s에서 행동 a를 선택할 확률
큐함수 𝑞 𝜋(𝑠, 𝑎) = 𝑬 𝝅 𝑅𝑡+1 + 𝛾𝑅𝑡+2 + ⋯ |𝑆𝑡 = 𝑠, 𝐴 𝑡 = 𝑎
가치함수 𝑣 𝜋(𝑠) = 𝑬 𝝅 𝑅𝑡+1 + 𝛾𝑅𝑡+2 + ⋯ |𝑆𝑡 = 𝑠
정책 𝜋(𝑎|𝑠) = 𝑷 𝐴 𝑡 = 𝑎|𝑆𝑡 = 𝑠
큐함수를 통해 어떻게 행동을 선택?
그냥 큰 놈 골라
탐욕정책(greedy policy)
• 지금 상태에서 선택할 수 있는 행동 중에 큐함수가 가장 높은 행동을 선택
탐욕정책 𝜋′(𝑠) = 𝑎𝑟𝑔𝑚𝑎𝑥 𝑎 𝑞 𝜋(𝑠, 𝑎)
어떻게 학습? 큐함수의 업데이트
벨만 방정식(Bellman equation)
• 에이전트는 모든 (상태, 행동)에 대해서 큐함수를 가진다  일종의 기억
• 그렇다면 현재의 큐함수를 다음 타임스텝의 큐함수로 표현할 수 있지 않을까?
큐함수 𝑞 𝜋(𝑠, 𝑎) = 𝑬 𝝅 𝑅𝑡+1 + 𝛾𝑅𝑡+2 + ⋯ |𝑆𝑡 = 𝑠, 𝐴 𝑡 = 𝑎
너무 먼 미래에 대해서 기대를 품기보다는 가까운 미래에 대해서 구체적인 기대를 품기로 했다
𝑞 𝜋(𝑠, 𝑎) = 𝑬 𝝅 𝑅𝑡+1 + 𝛾(𝑅𝑡+2 + ⋯ )|𝑆𝑡 = 𝑠, 𝐴 𝑡 = 𝑎
𝑞 𝜋(𝑠, 𝑎) = 𝑬 𝝅 𝑅𝑡+1 + 𝛾𝑞 𝜋(𝑆𝑡+1, 𝐴 𝑡+1)|𝑆𝑡 = 𝑠, 𝐴 𝑡 = 𝑎
벨만 기대 방정식(Bellman expectation equation)
살사(SARSA)
• 벨만 기대 방정식  큐함수 업데이트 식
현재 큐함수  보상 + 감가율 X 다음 큐함수
미래에 대해서 기대만 하기보다는 실제로 부딪혀보면서 학습하기로 했다
𝑞 𝜋(𝑠, 𝑎) = 𝑬 𝝅 𝑅𝑡+1 + 𝛾𝑞 𝜋(𝑆𝑡+1, 𝐴 𝑡+1)|𝑆𝑡 = 𝑠, 𝐴 𝑡 = 𝑎
𝑞 𝑠, 𝑎 ← 𝑟 + 𝛾𝑞 𝜋(𝑠′, 𝑎′)
점진적인 큐함수의 업데이트
𝑞 𝑠, 𝑎 = 𝑞 𝑠, 𝑎 + 𝛼(𝑟 + 𝛾𝑞 𝑠′, 𝑎′ − 𝑞 𝑠, 𝑎 )
살사(SARSA)
• 현재 큐함수를 업데이트하기 위해서는 (s, a, r, s’, a’)이 필요
 살사(SARSA)
𝑞 𝑠, 𝑎 = 𝑞 𝑠, 𝑎 + 𝛼(𝑟 + 𝛾𝑞 𝑠′, 𝑎′ − 𝑞 𝑠, 𝑎 )
𝜀 − 탐욕정책
• 탐욕 정책의 Exploration problem  일정한 확률로 랜덤하게 행동 선택
𝜀 −탐욕정책 𝜋(𝑠) = ቊ
𝑎∗
= 𝑎𝑟𝑔𝑚𝑎𝑥 𝑎 𝑞(𝑠, 𝑎), 1 − 𝜀
𝑎 ≠ 𝑎∗, 𝜀
탐욕정책 𝜋′(𝑠) = 𝑎𝑟𝑔𝑚𝑎𝑥 𝑎 𝑞 𝜋(𝑠, 𝑎)
큐러닝(Q-Learning)
• 기왕 기억을 활용하는 김에 좋은 기억을 활용해보자
 다음 큐함수 중에서 가장 값이 큰 큐함수를 이용해서 현재 큐함수를 업데이트
(Q-Learning)
𝑞 𝑠, 𝑎 = 𝑞 𝑠, 𝑎 + 𝛼(𝑟 + 𝛾 max
𝑎′
𝑞(𝑠′, 𝑎′) − 𝑞 𝑠, 𝑎 )
큐러닝(Q-Learning)
𝑞 𝑠, 𝑎 = 𝑞 𝑠, 𝑎 + 𝛼(𝑟 + 𝛾 max
𝑎′
𝑞(𝑠′, 𝑎′) − 𝑞 𝑠, 𝑎 )
그리드월드와 큐러닝
1. 현재 상태에서 𝜖-탐욕 정책에 따라 행동을 선택
2. 선택한 행동으로 환경에서 한 타임스텝을 진행
3. 환경으로부터 보상과 다음 상태를 받음
4. 다음 상태에서 𝜖 -탐욕 정책에 따라 다음 행동을 선택
5. (s, a, r, s’)을 통해 큐함수를 업데이트
https://github.com/rlcode/reinforcement-learning-kr/tree/master/1-grid-world/5-q-learning
DQN 이해하기
브레이크아웃(Breakout)
• 상태, 행동, 보상
• 행동 : 제자리, 좌, 우, (발사)
• 보상 : 벽돌 깰 때마다 점수를 받으며 위 층의 벽돌을 깰수록
더 큰 점수를 받음
• 게임 세팅 : 1 에피소드에서 에이전트는 5개의 목숨을 가짐
• 목표 : 1 에피소드 동안 최대의 점수 얻기
브레이크아웃(Breakout)
• 브레이크아웃의 상태는 무엇일까? RGB 이미지
모든 상태의 큐함수를 다 저장하고 업데이트하는 방식으로는 불가능
브레이크아웃(Breakout)
• 브레이크아웃의 상태는 무엇일까? RGB 이미지 4장으로 이루어진 히스토리
브레이크아웃(Breakout)
• 큐함수를 인공신경망으로 근사하자!
상태(히스토리)  큐-신경망  각 행동에 대한 큐함수 값
브레이크아웃(Breakout)
• 브레이크아웃 이미지의 전처리 과정
Rescale + grayscale
인공신경망 업데이트
• 큐러닝의 큐함수 업데이트 식
𝑞 𝑠, 𝑎 = 𝑞 𝑠, 𝑎 + 𝛼(𝑟 + 𝛾 max
𝑎′
𝑞(𝑠′, 𝑎′) − 𝑞 𝑠, 𝑎 )
인공신경망 업데이트
인공신경망 업데이트
• (정답 – 예측)의 오차를 이용해서 인공신경망에 역전파
 인공신경망의 업데이트
인공신경망 업데이트
• 큐러닝의 큐함수 업데이트 식
• 큐함수를 인공신경망(parameter 𝜃)로 근사
• 큐함수가 아닌 큐함수를 근사한 인공신경망을 업데이트(MSE loss function)
𝑞 𝑠, 𝑎 = 𝑞 𝑠, 𝑎 + 𝛼(𝑟 + 𝛾 max
𝑎′
𝑞(𝑠′, 𝑎′) − 𝑞 𝑠, 𝑎 )
𝑞 𝜃 𝑠, 𝑎 = 𝑞 𝜃 𝑠, 𝑎 + 𝛼(𝑟 + 𝛾 max
𝑎′
𝑞 𝜃 𝑠′, 𝑎′ − 𝑞 𝜃 𝑠, 𝑎 )
𝑀𝑆𝐸 = 𝑟 + 𝛾 max
𝑎′
𝑞 𝜃 𝑠′, 𝑎′ − 𝑞 𝜃 𝑠, 𝑎
2
정답 예측
인공신경망 업데이트
• 큐-신경망 업데이트
인공신경망 업데이트
𝑀𝑆𝐸 = 𝑟 + 𝛾 max
𝑎′
𝑞 𝜃 𝑠′, 𝑎′ − 𝑞 𝜃 𝑠, 𝑎
2
DQN
• DQN의 핵심 :
(1) CNN
(2) Experience Replay
(3) Target q-network
https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf
CNN
• 이미지 필터(커널)의 예시
어떤 필터인지에 따라 이미지를 다양하게 변형 가능
https://en.wikipedia.org/wiki/Kernel_(image_processing)
CNN
• 브레이크 아웃 게임 화면에 필터를 컨볼루션!
DQN의 CNN 학습된 필터의 예시
Experience Replay
• (s, a, r, s’)끼리 상관관계가 강하다  리플레이 메모리
Target q-network
• 안정적인 학습을 위해 학습에 사용하는 큐함수의 값을
타겟 큐-신경망(𝜃−)에서 가져옴
• 타겟 큐-신경망을 일정한 주기마다 업데이트
𝑀𝑆𝐸 = 𝑟 + 𝛾 max
𝑎′
𝑞 𝜃− 𝑠′, 𝑎′ − 𝑞 𝜃 𝑠, 𝑎
2
Deep Q-Learning
1. 상태에 따른 행동 선택
2. 선택한 행동으로 환경에서 한 타임스텝을 진행
3. 환경으로부터 다음 상태와 보상을 받음
4. 샘플(s, a, r, s’)을 리플레이 메모리에 저장
5. 리플레이 메모리에서 무작위로 추출한 32개의 샘플로 학습
6. 50000 타임스텝마다 타깃네트워크 업데이트
학습된 에이전트
터널을 뚫어서 점수를 얻는 정책을 학습
앞으로의 강화학습
강화학습의 활용
• 자율주행 자동차
• 자연어 처리
https://www.youtube.com/watch?v=cYTVXfIH0MU http://www.maluuba.com/blog/2016/11/23/deep-
reinforcement-learning-in-dialogue-systems
강화학습의 단점
• 학습이 느리다
• 환경과의 상호작용 때문에 시간과 비용이 많이 들어간다
• Safe하지 않다
• 보상을 적절히 설정하기가 어렵다
• 복잡한 작업을 학습하기엔 어려움이 있다
강화학습의 발전 방향
• No MDP
• Hierarchy
• Multi-agent
• Efficient learning
• Supervised Learning의 한계를 극복  사용자의 피드백으로 학습
감사니다

More Related Content

What's hot (20)

딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
Taehoon Kim
ddpg seminar
ddpg seminarddpg seminar
ddpg seminar
민재 정
Maximum Entropy Reinforcement Learning (Stochastic Control)
Maximum Entropy Reinforcement Learning (Stochastic Control)Maximum Entropy Reinforcement Learning (Stochastic Control)
Maximum Entropy Reinforcement Learning (Stochastic Control)
Dongmin Lee
Chapter 10 sequence modeling recurrent and recursive nets
Chapter 10 sequence modeling recurrent and recursive netsChapter 10 sequence modeling recurrent and recursive nets
Chapter 10 sequence modeling recurrent and recursive nets
KyeongUkJang
Introduction of Deep Reinforcement Learning
Introduction of Deep Reinforcement LearningIntroduction of Deep Reinforcement Learning
Introduction of Deep Reinforcement Learning
NAVER Engineering
[머가]Chap11 강화학습
[머가]Chap11 강화학습[머가]Chap11 강화학습
[머가]Chap11 강화학습
종현 최
Safe Reinforcement Learning
Safe Reinforcement LearningSafe Reinforcement Learning
Safe Reinforcement Learning
Dongmin Lee
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
Kyunghwan Kim
Doing Deep Reinforcement learning with PPO
Doing Deep Reinforcement learning with PPODoing Deep Reinforcement learning with PPO
Doing Deep Reinforcement learning with PPO
이 의령
Natural Policy Gradient 직관적 접근
Natural Policy Gradient 직관적 접근Natural Policy Gradient 직관적 접근
Natural Policy Gradient 직관적 접근
Sooyoung Moon
강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)
강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)
강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)
Euijin Jeong
Reinforcement Learning
Reinforcement LearningReinforcement Learning
Reinforcement Learning
DongHyun Kwak
알아두면 쓸데있는 신기한 강화학습 NAVER 2017
알아두면 쓸데있는 신기한 강화학습 NAVER 2017알아두면 쓸데있는 신기한 강화학습 NAVER 2017
알아두면 쓸데있는 신기한 강화학습 NAVER 2017
Taehoon Kim
Q Learning과 CNN을 이용한 Object Localization
Q Learning과 CNN을 이용한 Object LocalizationQ Learning과 CNN을 이용한 Object Localization
Q Learning과 CNN을 이용한 Object Localization
홍배 김
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
Yongho Ha
LinkedIn talk at Netflix ML Platform meetup Sep 2019
LinkedIn talk at Netflix ML Platform meetup Sep 2019LinkedIn talk at Netflix ML Platform meetup Sep 2019
LinkedIn talk at Netflix ML Platform meetup Sep 2019
Faisal Siddiqi
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
Taehoon Kim
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
WON JOON YOO
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
NAVER D2
딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해
Hee Won Park
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
Taehoon Kim
Maximum Entropy Reinforcement Learning (Stochastic Control)
Maximum Entropy Reinforcement Learning (Stochastic Control)Maximum Entropy Reinforcement Learning (Stochastic Control)
Maximum Entropy Reinforcement Learning (Stochastic Control)
Dongmin Lee
Chapter 10 sequence modeling recurrent and recursive nets
Chapter 10 sequence modeling recurrent and recursive netsChapter 10 sequence modeling recurrent and recursive nets
Chapter 10 sequence modeling recurrent and recursive nets
KyeongUkJang
Introduction of Deep Reinforcement Learning
Introduction of Deep Reinforcement LearningIntroduction of Deep Reinforcement Learning
Introduction of Deep Reinforcement Learning
NAVER Engineering
[머가]Chap11 강화학습
[머가]Chap11 강화학습[머가]Chap11 강화학습
[머가]Chap11 강화학습
종현 최
Safe Reinforcement Learning
Safe Reinforcement LearningSafe Reinforcement Learning
Safe Reinforcement Learning
Dongmin Lee
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
Kyunghwan Kim
Doing Deep Reinforcement learning with PPO
Doing Deep Reinforcement learning with PPODoing Deep Reinforcement learning with PPO
Doing Deep Reinforcement learning with PPO
이 의령
Natural Policy Gradient 직관적 접근
Natural Policy Gradient 직관적 접근Natural Policy Gradient 직관적 접근
Natural Policy Gradient 직관적 접근
Sooyoung Moon
강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)
강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)
강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)
Euijin Jeong
알아두면 쓸데있는 신기한 강화학습 NAVER 2017
알아두면 쓸데있는 신기한 강화학습 NAVER 2017알아두면 쓸데있는 신기한 강화학습 NAVER 2017
알아두면 쓸데있는 신기한 강화학습 NAVER 2017
Taehoon Kim
Q Learning과 CNN을 이용한 Object Localization
Q Learning과 CNN을 이용한 Object LocalizationQ Learning과 CNN을 이용한 Object Localization
Q Learning과 CNN을 이용한 Object Localization
홍배 김
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
Yongho Ha
LinkedIn talk at Netflix ML Platform meetup Sep 2019
LinkedIn talk at Netflix ML Platform meetup Sep 2019LinkedIn talk at Netflix ML Platform meetup Sep 2019
LinkedIn talk at Netflix ML Platform meetup Sep 2019
Faisal Siddiqi
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
Taehoon Kim
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
WON JOON YOO
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
NAVER D2
딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해
Hee Won Park

Viewers also liked (6)

인공신경망
인공신경망인공신경망
인공신경망
종열 현
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝
Jinwon Lee
기계 학습의 현재와 미래
기계 학습의 현재와 미래기계 학습의 현재와 미래
기계 학습의 현재와 미래
Joon Kim
2.supervised learning(epoch#2)-1
2.supervised learning(epoch#2)-12.supervised learning(epoch#2)-1
2.supervised learning(epoch#2)-1
Haesun Park
2.supervised learning(epoch#2)-2
2.supervised learning(epoch#2)-22.supervised learning(epoch#2)-2
2.supervised learning(epoch#2)-2
Haesun Park
인공지능개론 (머신러닝 중심)
인공지능개론 (머신러닝 중심)인공지능개론 (머신러닝 중심)
인공지능개론 (머신러닝 중심)
SK(주) C&C - 강병호
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝
Jinwon Lee
기계 학습의 현재와 미래
기계 학습의 현재와 미래기계 학습의 현재와 미래
기계 학습의 현재와 미래
Joon Kim
2.supervised learning(epoch#2)-1
2.supervised learning(epoch#2)-12.supervised learning(epoch#2)-1
2.supervised learning(epoch#2)-1
Haesun Park
2.supervised learning(epoch#2)-2
2.supervised learning(epoch#2)-22.supervised learning(epoch#2)-2
2.supervised learning(epoch#2)-2
Haesun Park

Similar to 파이썬과 케라스로 배우는 강화학습 저자특강 (20)

한국인공지능연구소 강화학습랩 결과보고서
한국인공지능연구소 강화학습랩 결과보고서한국인공지능연구소 강화학습랩 결과보고서
한국인공지능연구소 강화학습랩 결과보고서
Euijin Jeong
강화학습기초(MDP, Monte-Carlo, Time-difference, sarsa, q-learning) 파트1
강화학습기초(MDP, Monte-Carlo, Time-difference, sarsa, q-learning) 파트1강화학습기초(MDP, Monte-Carlo, Time-difference, sarsa, q-learning) 파트1
강화학습기초(MDP, Monte-Carlo, Time-difference, sarsa, q-learning) 파트1
Euijin Jeong
Gaussian Mixture Model
Gaussian Mixture ModelGaussian Mixture Model
Gaussian Mixture Model
KyeongUkJang
03. linear regression
03. linear regression03. linear regression
03. linear regression
Jeonghun Yoon
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
성재 최
3.neural networks
3.neural networks3.neural networks
3.neural networks
Haesun Park
Guided policy search
Guided policy searchGuided policy search
Guided policy search
Jaehyeon Park
Neural network (perceptron)
Neural network (perceptron)Neural network (perceptron)
Neural network (perceptron)
Jeonghun Yoon
Rl
RlRl
Rl
wonseok jung
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
JungHyun Hong
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks I
Sang Jun Lee
Reinforcement learning v0.5
Reinforcement learning v0.5Reinforcement learning v0.5
Reinforcement learning v0.5
SANG WON PARK
알파고 해부하기 3부
알파고 해부하기 3부알파고 해부하기 3부
알파고 해부하기 3부
Donghun Lee
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
JinSooKim80
Multinomial classification and application of ML
Multinomial classification and application of MLMultinomial classification and application of ML
Multinomial classification and application of ML
희수 박
Vector Optimization
Vector Optimization Vector Optimization
Vector Optimization
SEMINARGROOT
알파고의 알고리즘
알파고의 알고리즘알파고의 알고리즘
알파고의 알고리즘
SeokWon Kim
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
WooSung Choi
세그먼트 트리 느리게 업데이트하기 - Sogang ICPC Team, 2020 Winter
세그먼트 트리 느리게 업데이트하기 - Sogang ICPC Team, 2020 Winter세그먼트 트리 느리게 업데이트하기 - Sogang ICPC Team, 2020 Winter
세그먼트 트리 느리게 업데이트하기 - Sogang ICPC Team, 2020 Winter
Suhyun Park
2.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-32.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-3
Haesun Park
한국인공지능연구소 강화학습랩 결과보고서
한국인공지능연구소 강화학습랩 결과보고서한국인공지능연구소 강화학습랩 결과보고서
한국인공지능연구소 강화학습랩 결과보고서
Euijin Jeong
강화학습기초(MDP, Monte-Carlo, Time-difference, sarsa, q-learning) 파트1
강화학습기초(MDP, Monte-Carlo, Time-difference, sarsa, q-learning) 파트1강화학습기초(MDP, Monte-Carlo, Time-difference, sarsa, q-learning) 파트1
강화학습기초(MDP, Monte-Carlo, Time-difference, sarsa, q-learning) 파트1
Euijin Jeong
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
성재 최
Neural network (perceptron)
Neural network (perceptron)Neural network (perceptron)
Neural network (perceptron)
Jeonghun Yoon
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
JungHyun Hong
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks I
Sang Jun Lee
Reinforcement learning v0.5
Reinforcement learning v0.5Reinforcement learning v0.5
Reinforcement learning v0.5
SANG WON PARK
알파고 해부하기 3부
알파고 해부하기 3부알파고 해부하기 3부
알파고 해부하기 3부
Donghun Lee
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
JinSooKim80
Multinomial classification and application of ML
Multinomial classification and application of MLMultinomial classification and application of ML
Multinomial classification and application of ML
희수 박
알파고의 알고리즘
알파고의 알고리즘알파고의 알고리즘
알파고의 알고리즘
SeokWon Kim
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
WooSung Choi
세그먼트 트리 느리게 업데이트하기 - Sogang ICPC Team, 2020 Winter
세그먼트 트리 느리게 업데이트하기 - Sogang ICPC Team, 2020 Winter세그먼트 트리 느리게 업데이트하기 - Sogang ICPC Team, 2020 Winter
세그먼트 트리 느리게 업데이트하기 - Sogang ICPC Team, 2020 Winter
Suhyun Park
2.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-32.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-3
Haesun Park

파이썬과 케라스로 배우는 강화학습 저자특강

  • 1. 파이썬과 케라스로 배우는 강화학습 저자 이웅원 RLCode
  • 2. 목차 1. 저자 소개 2. 책 소개 3. 강화학습이란 무엇인가 4. DQN 이해하기 5. 앞으로의 강화학습
  • 4. 저자 이 웅 원 • 연세대학교 기계공학과 전공 • 모두의연구소 DCULab 랩장 • 모두의연구소 강화학습 스터디 • RLCode 리더 • 제이마플 선임연구원
  • 5. 저자 이 의 령 • 세종대학교 응용통계학 경영학 전공 • 스타트업 서버 개발 인턴 • 모두의연구소 인턴 • 소프트웨어 마에스트로 과정
  • 6. 저자 이 영 무 • 중앙대학교 컴퓨터공학과 전공 • 모두의연구소 강화학습 스터디 • 라이브 코딩의 신
  • 7. 저자 양 혁 렬 • 한양대학교 컴퓨터 공학 경영학 전공 • 서울대학교 융합과학기술 대학원 음 악오디오 연구실 인턴 저자 김 건 우 • 뉴욕대학교 컴퓨터 과학 전공 • DeepCoding 그룹 멤버 • 우버 샌프란시스코 소프트웨어 엔지 니어 인턴
  • 10. 파이썬과 케라스로 배우는 강화학습 http://wikibook.co.kr/reinforcement-learning/
  • 11. 왜 책을 쓰게 되었가
  • 12. 모두의연구소 • DCULab 자율주행드론 PID 계수 자동 튜닝을 위해 강화학습을 배워보자
  • 13. 모두의연구소 • David Silver의 RL Course 강의 https://www.youtube.com/watch?v=2pWv7GOvuf0
  • 16. 부족한 것 필요한 것 해야 할 것 학습 = 이론 + 실습 학습 = 이론 + 실습 이론과 실습 두 마리 토끼를 잡는 책을 집필해보자!
  • 17. 책이 다루는 내용 • 강화학습의 배경과 개념 • 강화학습을 위한 기본적인 이론: MDP, 벨만 방정식, 다이내믹 프로그래밍 • 고전 강화학습 알고리즘: 몬테카를로, 살사, 큐러닝 • 인공신경망을 이용한 강화학습 알고리즘: 딥살사, REINFORCE, DQN, 액터-크리틱, A3C • 강화학습 알고리즘 구현 및 설명: 그리드월드, 카트폴, 아타리게임
  • 19. 강화학습의 예시 강화학습  DeepMind  AlphaGo http://www.popsci.com/googles-alphago-ai-defeats-lee-se-dol-at-game-go
  • 20. 강화학습의 예시 DeepMind  Atari  DQN 게임 화면으로 게임 플레이하는 법을 학습
  • 21. 강화학습의 예시 Atari Breakout 학습 과정 1000 에피소드 학습 후 3000 에피소드 학습 후 5000 에피소드 학습 후
  • 22. 행동심리학의 강화이론 • 스키너의 쥐 실험 보상을 받는 행동의 확률 증가  강화
  • 23. 학습을 위해 필요한 것 • 핵심은 에이전트와 환경의 상호작용 모르는 단어! [에이전트, 환경] [상태, 행동, 보상]
  • 24. 에이전트  상태를 관찰, 행동을 선택, 목표지향 an autonomous, goal-directed entity which observes and acts upon an environment - 위키피디아
  • 25. 환경  에이전트를 제외한 나머지 판단하는 아이라는 주체를 빼고 길과 자전거와 아이의 몸 또한 환경이 된다
  • 27. 상태(s)  현재 상황을 나타내는 정보 에이전트가 탁구를 치려면 탁구공의 위치, 속도, 가속도와 같은 정보가 필요
  • 28. 보상(r)  행동의 좋고 나쁨을 알려주는 정보 보상은 에이전트가 달성하고자 하는 목표에 대한 정보를 담고 있다 https://www.intelnervana.com/demystifying-deep-reinforcement-learning/
  • 29. 에이전트와 환경의 상호작용 과정 1. 에이전트가 환경에서 자신의 상태를 관찰 2. 그 상태에서 어떠한 기준에 따라 행동을 선택 3. 선택한 행동을 환경에서 실행 4. 환경으로부터 다음 상태와 보상을 받음 5. 보상을 통해 에이전트가 가진 정보를 수정함 𝑠0, 𝑎0, 𝑟1, 𝑠1, 𝑎1, 𝑟2, ⋯ , 𝑠 𝑇
  • 30. 어떻게 행동을 선택? 판단 기준의 필요  가치함수(Value function)
  • 31. 가치함수 (Value function) • 만약 즉각적인 보상만을 고려해서 행동을 선택한다면? 이 행동만이 좋은 행동이고 나머지는 아니다?
  • 32. 가치함수 (Value function) • 보상은 딜레이(delay)된다 • 어떤 행동이 그 보상을 얻게 했는지 명확하지 않다 그렇다면 앞으로 받을 보상을 싹 다 더해보자 현재 시간 = t 보상의 합 = 𝑅𝑡+1 + 𝑅𝑡+2 + ⋯ + 𝑅 𝑇
  • 33. 가치함수 (Value function) • 세 가지 문제점  감가율의 도입(discount factor) 0.1 + 0.1 + ⋯ = ∞ 1 + 1 + ⋯ = ∞ 보상의 합 = 𝑅𝑡+1 + 𝛾𝑅𝑡+2 + ⋯ + 𝛾 𝑇−𝑡−1 𝑅 𝑇 감가율 0 ≤ 𝛾 ≤ 1
  • 34. 가치함수(Value function) • 하지만 아직 보상을 받지 않았는데….? 미래에 받을 보상을 어떻게 알지? 지금 상태에서 미래에 받을 것이라 기대하는 보상의 합 = 가치함수 가치함수 𝑣(𝑠) = 𝑬 𝑅𝑡+1 + 𝛾𝑅𝑡+2 + ⋯ |𝑆𝑡 = 𝑠
  • 35. 큐함수(Q function) • 하지만 내가 알고 싶은 건 ‘어떤 행동이 좋은가’인데? 지금 상태에서 이 행동을 선택했을 때 미래에 받을 것이라 기대하는 보상의 합 = 큐함수 큐함수 𝑞(𝑠, 𝑎) = 𝑬 𝑅𝑡+1 + 𝛾𝑅𝑡+2 + ⋯ |𝑆𝑡 = 𝑠, 𝐴 𝑡 = 𝑎
  • 36. 정책(Policy) • 미래에 대한 기대  내가 어떻게 행동할 것인지를 알아야 함 • 각 상태에서 에이전트가 어떻게 행동할 지에 대한 정보 상태 s에서 행동 a를 선택할 확률 큐함수 𝑞 𝜋(𝑠, 𝑎) = 𝑬 𝝅 𝑅𝑡+1 + 𝛾𝑅𝑡+2 + ⋯ |𝑆𝑡 = 𝑠, 𝐴 𝑡 = 𝑎 가치함수 𝑣 𝜋(𝑠) = 𝑬 𝝅 𝑅𝑡+1 + 𝛾𝑅𝑡+2 + ⋯ |𝑆𝑡 = 𝑠 정책 𝜋(𝑎|𝑠) = 𝑷 𝐴 𝑡 = 𝑎|𝑆𝑡 = 𝑠
  • 37. 큐함수를 통해 어떻게 행동을 선택? 그냥 큰 놈 골라
  • 38. 탐욕정책(greedy policy) • 지금 상태에서 선택할 수 있는 행동 중에 큐함수가 가장 높은 행동을 선택 탐욕정책 𝜋′(𝑠) = 𝑎𝑟𝑔𝑚𝑎𝑥 𝑎 𝑞 𝜋(𝑠, 𝑎)
  • 40. 벨만 방정식(Bellman equation) • 에이전트는 모든 (상태, 행동)에 대해서 큐함수를 가진다  일종의 기억 • 그렇다면 현재의 큐함수를 다음 타임스텝의 큐함수로 표현할 수 있지 않을까? 큐함수 𝑞 𝜋(𝑠, 𝑎) = 𝑬 𝝅 𝑅𝑡+1 + 𝛾𝑅𝑡+2 + ⋯ |𝑆𝑡 = 𝑠, 𝐴 𝑡 = 𝑎 너무 먼 미래에 대해서 기대를 품기보다는 가까운 미래에 대해서 구체적인 기대를 품기로 했다 𝑞 𝜋(𝑠, 𝑎) = 𝑬 𝝅 𝑅𝑡+1 + 𝛾(𝑅𝑡+2 + ⋯ )|𝑆𝑡 = 𝑠, 𝐴 𝑡 = 𝑎 𝑞 𝜋(𝑠, 𝑎) = 𝑬 𝝅 𝑅𝑡+1 + 𝛾𝑞 𝜋(𝑆𝑡+1, 𝐴 𝑡+1)|𝑆𝑡 = 𝑠, 𝐴 𝑡 = 𝑎 벨만 기대 방정식(Bellman expectation equation)
  • 41. 살사(SARSA) • 벨만 기대 방정식  큐함수 업데이트 식 현재 큐함수  보상 + 감가율 X 다음 큐함수 미래에 대해서 기대만 하기보다는 실제로 부딪혀보면서 학습하기로 했다 𝑞 𝜋(𝑠, 𝑎) = 𝑬 𝝅 𝑅𝑡+1 + 𝛾𝑞 𝜋(𝑆𝑡+1, 𝐴 𝑡+1)|𝑆𝑡 = 𝑠, 𝐴 𝑡 = 𝑎 𝑞 𝑠, 𝑎 ← 𝑟 + 𝛾𝑞 𝜋(𝑠′, 𝑎′) 점진적인 큐함수의 업데이트 𝑞 𝑠, 𝑎 = 𝑞 𝑠, 𝑎 + 𝛼(𝑟 + 𝛾𝑞 𝑠′, 𝑎′ − 𝑞 𝑠, 𝑎 )
  • 42. 살사(SARSA) • 현재 큐함수를 업데이트하기 위해서는 (s, a, r, s’, a’)이 필요  살사(SARSA) 𝑞 𝑠, 𝑎 = 𝑞 𝑠, 𝑎 + 𝛼(𝑟 + 𝛾𝑞 𝑠′, 𝑎′ − 𝑞 𝑠, 𝑎 )
  • 43. 𝜀 − 탐욕정책 • 탐욕 정책의 Exploration problem  일정한 확률로 랜덤하게 행동 선택 𝜀 −탐욕정책 𝜋(𝑠) = ቊ 𝑎∗ = 𝑎𝑟𝑔𝑚𝑎𝑥 𝑎 𝑞(𝑠, 𝑎), 1 − 𝜀 𝑎 ≠ 𝑎∗, 𝜀 탐욕정책 𝜋′(𝑠) = 𝑎𝑟𝑔𝑚𝑎𝑥 𝑎 𝑞 𝜋(𝑠, 𝑎)
  • 44. 큐러닝(Q-Learning) • 기왕 기억을 활용하는 김에 좋은 기억을 활용해보자  다음 큐함수 중에서 가장 값이 큰 큐함수를 이용해서 현재 큐함수를 업데이트 (Q-Learning) 𝑞 𝑠, 𝑎 = 𝑞 𝑠, 𝑎 + 𝛼(𝑟 + 𝛾 max 𝑎′ 𝑞(𝑠′, 𝑎′) − 𝑞 𝑠, 𝑎 )
  • 45. 큐러닝(Q-Learning) 𝑞 𝑠, 𝑎 = 𝑞 𝑠, 𝑎 + 𝛼(𝑟 + 𝛾 max 𝑎′ 𝑞(𝑠′, 𝑎′) − 𝑞 𝑠, 𝑎 )
  • 46. 그리드월드와 큐러닝 1. 현재 상태에서 𝜖-탐욕 정책에 따라 행동을 선택 2. 선택한 행동으로 환경에서 한 타임스텝을 진행 3. 환경으로부터 보상과 다음 상태를 받음 4. 다음 상태에서 𝜖 -탐욕 정책에 따라 다음 행동을 선택 5. (s, a, r, s’)을 통해 큐함수를 업데이트 https://github.com/rlcode/reinforcement-learning-kr/tree/master/1-grid-world/5-q-learning
  • 48. 브레이크아웃(Breakout) • 상태, 행동, 보상 • 행동 : 제자리, 좌, 우, (발사) • 보상 : 벽돌 깰 때마다 점수를 받으며 위 층의 벽돌을 깰수록 더 큰 점수를 받음 • 게임 세팅 : 1 에피소드에서 에이전트는 5개의 목숨을 가짐 • 목표 : 1 에피소드 동안 최대의 점수 얻기
  • 49. 브레이크아웃(Breakout) • 브레이크아웃의 상태는 무엇일까? RGB 이미지 모든 상태의 큐함수를 다 저장하고 업데이트하는 방식으로는 불가능
  • 50. 브레이크아웃(Breakout) • 브레이크아웃의 상태는 무엇일까? RGB 이미지 4장으로 이루어진 히스토리
  • 51. 브레이크아웃(Breakout) • 큐함수를 인공신경망으로 근사하자! 상태(히스토리)  큐-신경망  각 행동에 대한 큐함수 값
  • 53. 인공신경망 업데이트 • 큐러닝의 큐함수 업데이트 식 𝑞 𝑠, 𝑎 = 𝑞 𝑠, 𝑎 + 𝛼(𝑟 + 𝛾 max 𝑎′ 𝑞(𝑠′, 𝑎′) − 𝑞 𝑠, 𝑎 ) 인공신경망 업데이트
  • 54. 인공신경망 업데이트 • (정답 – 예측)의 오차를 이용해서 인공신경망에 역전파  인공신경망의 업데이트
  • 55. 인공신경망 업데이트 • 큐러닝의 큐함수 업데이트 식 • 큐함수를 인공신경망(parameter 𝜃)로 근사 • 큐함수가 아닌 큐함수를 근사한 인공신경망을 업데이트(MSE loss function) 𝑞 𝑠, 𝑎 = 𝑞 𝑠, 𝑎 + 𝛼(𝑟 + 𝛾 max 𝑎′ 𝑞(𝑠′, 𝑎′) − 𝑞 𝑠, 𝑎 ) 𝑞 𝜃 𝑠, 𝑎 = 𝑞 𝜃 𝑠, 𝑎 + 𝛼(𝑟 + 𝛾 max 𝑎′ 𝑞 𝜃 𝑠′, 𝑎′ − 𝑞 𝜃 𝑠, 𝑎 ) 𝑀𝑆𝐸 = 𝑟 + 𝛾 max 𝑎′ 𝑞 𝜃 𝑠′, 𝑎′ − 𝑞 𝜃 𝑠, 𝑎 2 정답 예측
  • 56. 인공신경망 업데이트 • 큐-신경망 업데이트 인공신경망 업데이트 𝑀𝑆𝐸 = 𝑟 + 𝛾 max 𝑎′ 𝑞 𝜃 𝑠′, 𝑎′ − 𝑞 𝜃 𝑠, 𝑎 2
  • 57. DQN • DQN의 핵심 : (1) CNN (2) Experience Replay (3) Target q-network https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf
  • 58. CNN • 이미지 필터(커널)의 예시 어떤 필터인지에 따라 이미지를 다양하게 변형 가능 https://en.wikipedia.org/wiki/Kernel_(image_processing)
  • 59. CNN • 브레이크 아웃 게임 화면에 필터를 컨볼루션! DQN의 CNN 학습된 필터의 예시
  • 60. Experience Replay • (s, a, r, s’)끼리 상관관계가 강하다  리플레이 메모리
  • 61. Target q-network • 안정적인 학습을 위해 학습에 사용하는 큐함수의 값을 타겟 큐-신경망(𝜃−)에서 가져옴 • 타겟 큐-신경망을 일정한 주기마다 업데이트 𝑀𝑆𝐸 = 𝑟 + 𝛾 max 𝑎′ 𝑞 𝜃− 𝑠′, 𝑎′ − 𝑞 𝜃 𝑠, 𝑎 2
  • 62. Deep Q-Learning 1. 상태에 따른 행동 선택 2. 선택한 행동으로 환경에서 한 타임스텝을 진행 3. 환경으로부터 다음 상태와 보상을 받음 4. 샘플(s, a, r, s’)을 리플레이 메모리에 저장 5. 리플레이 메모리에서 무작위로 추출한 32개의 샘플로 학습 6. 50000 타임스텝마다 타깃네트워크 업데이트
  • 63. 학습된 에이전트 터널을 뚫어서 점수를 얻는 정책을 학습
  • 65. 강화학습의 활용 • 자율주행 자동차 • 자연어 처리 https://www.youtube.com/watch?v=cYTVXfIH0MU http://www.maluuba.com/blog/2016/11/23/deep- reinforcement-learning-in-dialogue-systems
  • 66. 강화학습의 단점 • 학습이 느리다 • 환경과의 상호작용 때문에 시간과 비용이 많이 들어간다 • Safe하지 않다 • 보상을 적절히 설정하기가 어렵다 • 복잡한 작업을 학습하기엔 어려움이 있다
  • 67. 강화학습의 발전 방향 • No MDP • Hierarchy • Multi-agent • Efficient learning • Supervised Learning의 한계를 극복  사용자의 피드백으로 학습