DQN 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
1번째 줄: 1번째 줄:
[[파일:딥마인드 글자.png|썸네일|300픽셀|'''[[딥마인드]]'''(DeepMind)]]
+
'''DQN'''(Deep Q-Networks)은 구글 [[딥마인드]](DeepMind)에서 발표한 논문 ''Playing Atari with Deep Reinforcement Learning''과 ''Human-level control through deep reinforcement learning''에서 제시된 강화학습 [[알고리즘]]으로, 기존 [[큐러닝]](Q-learning) 알고리즘의 Q(action-value) 함수를 [[딥러닝]](deep learning)으로 근사하는 알고리즘이다.  
 
 
'''DQN'''(Deep Q-Networks)은 구글 '''[[딥마인드]]'''(DeepMind)에서 발표한 논문 ''Playing Atari with Deep Reinforcement Learning''과 ''Human-level control through deep reinforcement learning''에서 제시된 강화학습 [[알고리즘]]으로, 기존 [[큐러닝]](Q-learning) 알고리즘의 Q(action-value) 함수를 [[딥러닝]](deep learning)으로 근사하는 알고리즘이다.  
 
  
 
==개요==
 
==개요==
DQN은 큐러닝과 딥러닝을 합친 것을 말한다. 큐테이블(Q-table) 대신 신경망(neural net)을 사용해서,  뉴럴넷이 Q 가치를 근사해낼 수 있도록 학습시키는 것이다. 이러한 이유로 DQN은 근사기(approximator) 또는 근사 함수(approximating functioin)이라고 부르기도 한다.<ref> Jeina, 〈[https://jeinalog.tistory.com/20 강화학습 개념부터 Deep Q Networks까지, 10분만에 훑어보기]〉, 《티스토리》, 2019-10-28</ref> 아타리(Atari) 2600 게임을 인간 수준으로 플레이할 수 있는 인공지능이며, 2015년 2월 네이쳐에 게재되었다. 이 인공지능의 놀라운 부분은, 인공지능에 화면을 입력하고 패드를 움직이도록 하여 '고득점을 내는 것이 목표이다' 이외에 아무 것도 알려주지 않고 마음대로 플레이하게 두었더니, 스스로 게임을 이해하고 공략법을 알아내었다는 것에 있다.<ref> DQN 나무위키 - https://namu.wiki/w/DQN</ref> 이 알고리즘이 중요한 이유는 딥러닝을 [[강화학습]]에 적용하는 것을 어렵게 하는 문제를 해결했기 때문이다. 어려운 점의 대표적인 예시로는 성공적인 딥러닝을 위해선 잘 가공된 대규모의 데이터 셋이 필요한데, 강화학습은 인풋에 대응되는 정답을 명확히 알 수 없을 뿐더러 지연(delay)가 있고 노이즈가 섞인 스칼라 리워드(scalar reward)만으로 [[네트워크]]를 학습해야한다. 또한, 대부분의 딥러닝 알고리즘은 학습 데이터가  서로 독립적임을 가정하는데, 강화학습에 쓰이는 환경에서 제공하는 데이터는 연속된 행동에 대한 결과이지 때문에 서로 연관되어 있다. 심지어 에이전트가 학습함에 따라 정책(policy) 또한 달라지면서, 학습 데이터의 분산(distrubution) 자체도 시간에 따라 변화한다. 딥러닝은 데이터에 대해 고정된 기본 분산(fixed underlying distribution)을 가정하기 때문에 학습이 제대로 진행되지 않을 수 있다. DQN은 첫 번째 문제에 대해서는 특별한 해법을 제시하지 않았고, 두 번째 문제는 exprience replay라는 개념을 통해 어느 정도 해결했다. 이 개념은 들어로는 입력을 순서대로 사용하면 데이터 간 연관성이 너무 커지므로 최근 x개의 데이터를 계속해서 저장하고, 네트워크를 학습할 땐 저장한 데이터 중 몇 개를 무작위로 샘플하여 사용하는 방법이다.<ref name="기린"> 기리이이이인, 〈[https://wwiiiii.tistory.com/entry/Deep-Q-Network Deep Q Network]〉, 《기리이이이인》, 2018-03-10</ref><ref name="숨니야"> 숨니야, 〈[https://sumniya.tistory.com/18 DQN(Deep Q-Networks)]〉, 《숨니의무작정따라하기》, 2018-02-04</ref>
+
DQN은 큐러닝과 딥러닝을 합친 것을 말한다. 큐테이블(Q-table) 대신 신경망(neural net)을 사용해서,  뉴럴넷이 Q 가치를 근사해낼 수 있도록 학습시키는 것이다. 이러한 이유로 DQN은 근사기(approximator) 또는 근사 함수(approximating functioin)이라고 부르기도 한다.<ref> Jeina, 〈[https://jeinalog.tistory.com/20 강화학습 개념부터 Deep Q Networks까지, 10분만에 훑어보기]〉, 《티스토리》, 2019-10-28</ref> 아타리 2600 게임을 인간 수준으로 플레이할 수 있는 인공지능이며, 2015년 2월 네이쳐에 게재되었다. 이 인공지능의 놀라운 부분은, 인공지능에 화면을 입력하고 패드를 움직이도록 하여 '고득점을 내는 것이 목표이다' 이외에 아무 것도 알려주지 않고 마음대로 플레이하게 두었더니, 스스로 게임을 이해하고 공략법을 알아내었다는 것에 있다.<ref> DQN 나무위키 - https://namu.wiki/w/DQN</ref> 이 알고리즘이 중요한 이유는 딥러닝을 [[강화학습]]에 적용하는 것을 어렵게 하는 문제를 해결했기 때문이다. 어려운 점의 대표적인 예시로는 성공적인 딥러닝을 위해선 잘 가공된 대규모의 데이터 셋이 필요한데, 강화학습은 인풋에 대응되는 정답을 명확히 알 수 없을 뿐더러 지연(delay)가 있고 노이즈가 섞인 스칼라 리워드(scalar reward)만으로 [[네트워크]]를 학습해야한다. 또한, 대부분의 딥러닝 알고리즘은 학습 데이터가  서로 독립적임을 가정하는데, 강화학습에 쓰이는 환경에서 제공하는 데이터는 연속된 행동에 대한 결과이지 때문에 서로 연관되어 있다. 심지어 에이전트가 학습함에 따라 정책(policy) 또한 달라지면서, 학습 데이터의 분산(distrubution) 자체도 시간에 따라 변화한다. 딥러닝은 데이터에 대해 고정된 기본 분산(fixed underlying distribution)을 가정하기 때문에 학습이 제대로 진행되지 않을 수 있다. DQN은 첫 번째 문제에 대해서는 특별한 해법을 제시하지 않았고, 두 번째 문제는 exprience replay라는 개념을 통해 어느 정도 해결했다. 이 개념은 들어로는 입력을 순서대로 사용하면 데이터 간 연관성이 너무 커지므로 최근 x개의 데이터를 계속해서 저장하고, 네트워크를 학습할 땐 저장한 데이터 중 몇 개를 무작위로 샘플하여 사용하는 방법이다.<ref name="기린"> 기리이이이인, 〈[https://wwiiiii.tistory.com/entry/Deep-Q-Network Deep Q Network]〉, 《기리이이이인》, 2018-03-10</ref><ref name="숨니야"> 숨니야, 〈[https://sumniya.tistory.com/18 DQN(Deep Q-Networks)]〉, 《숨니의무작정따라하기》, 2018-02-04</ref>
  
 
==특징==
 
==특징==
47번째 줄: 45번째 줄:
 
  <math>(max(4i+3, 4i+4), max(4i+7, 4i+8), max(4i+11, 4i+12), max(4i+15, 4i+16))</math>
 
  <math>(max(4i+3, 4i+4), max(4i+7, 4i+8), max(4i+11, 4i+12), max(4i+15, 4i+16))</math>
  
==활용==
+
==게임==
* '''게임''' : DQN 알고리즘은 STG 게임, 권투 시합, 3D 자동차 레이스를 포함한 여러 게임에서 잘 동작했다. 이 알고리즘은 49개 게임 가운데 29개의 게임에서 사람이 획득한 점수의 75%가 넘는 기록을 세우기도 했다. 그러나 이 알고리즘은 수차례 게임 세션을 진행해야지만 전략을 학습할 수 있었다. 벽돌 깨기 게임 600회를 플레이하고 나서 플레이어가 파괴해야 하는 벽돌을 뚫는 승리 전략을 학습했다. 최소한의 입력값으로 비디오 게임을 학습한 사례가 이번이 처음은 아니며, DQN은 오랜 시간 플레이 전략을 세워야 하는 몬테주마의 복수(Montezuma's Revenge)와 같은 게임에서는 상당히 형편없었다. 그러나 연구자들은 단일 아키텍처가 여러 가지 게임 요소를 만났을 때 학습하고 적응한 의미 있는 사례라고 언급했다. 그들은 일반적인 목적의 인공지능 프로그램을 효과적으로 설계하기 위해 한 단계 더 나아간 것으로 내다봤다.<ref> Tim Hornyak , 〈[http://www.itworld.co.kr/news/92069 구글 딥마인드, 게임법을 스스로 터득하는 'DQN' 개발]〉, 《아이티월드》, 2015-02-27</ref>
+
DQN 알고리즘은 STG 게임, 권투 시합, 3D 자동차 레이스를 포함한 여러 게임에서 잘 동작했다. 이 알고리즘은 49개 게임 가운데 29개의 게임에서 사람이 획득한 점수의 75%가 넘는 기록을 세우기도 했다. 그러나 이 알고리즘은 수차례 게임 세션을 진행해야지만 전략을 학습할 수 있었다. 벽돌 깨기 게임 600회를 플레이하고 나서 플레이어가 파괴해야 하는 벽돌을 뚫는 승리 전략을 학습했다. 최소한의 입력값으로 비디오 게임을 학습한 사례가 이번이 처음은 아니며, DQN은 오랜 시간 플레이 전략을 세워야 하는 몬테주마의 복수(Montezuma's Revenge)와 같은 게임에서는 상당히 형편없었다. 그러나 연구자들은 단일 아키텍처가 여러 가지 게임 요소를 만났을 때 학습하고 적응한 의미 있는 사례라고 언급했다. 그들은 일반적인 목적의 인공지능 프로그램을 효과적으로 설계하기 위해 한 단계 더 나아간 것으로 내다봤다.<ref> Tim Hornyak , 〈[http://www.itworld.co.kr/news/92069 구글 딥마인드, 게임법을 스스로 터득하는 'DQN' 개발]〉, 《아이티월드》, 2015-02-27</ref>
 
 
* '''대화 관리 모듈''' : 마이크로소프트 리서치(Microsoft Research)와 국립 타이완 대학 공동 연구진은 대화 이해, 대화 관리, 대화 생성 모듈을 각각 종단형 방법으로 학습시키는 방법을 제안하였다. 그리고 시스템 발화 의도를 선택하는 대화 관리 모듈의 경우 DQN으로 표현하고 강화학습을 적용하는 방법을 제시하였다.<ref> 권오옥, 홍택규, 활금하, 노윤형, 최승권, 김화연, 김영길, 이윤근, 〈[https://ettrends.etri.re.kr/ettrends/178/0905178006/ 심층 신경망 기반 대화처리 기술 동향]〉, 《ETRI》, 2019-08-01</ref>
 
  
 
==DQN 이후의 알고리즘==
 
==DQN 이후의 알고리즘==
66번째 줄: 62번째 줄:
 
* 숨니야, 〈[https://sumniya.tistory.com/18 DQN(Deep Q-Networks)]〉, 《숨니의무작정따라하기》, 2018-02-04
 
* 숨니야, 〈[https://sumniya.tistory.com/18 DQN(Deep Q-Networks)]〉, 《숨니의무작정따라하기》, 2018-02-04
 
* 기리이이이인, 〈[https://wwiiiii.tistory.com/entry/Deep-Q-Network Deep Q Network]〉, 《기리이이이인》, 2018-03-10
 
* 기리이이이인, 〈[https://wwiiiii.tistory.com/entry/Deep-Q-Network Deep Q Network]〉, 《기리이이이인》, 2018-03-10
* 권오옥, 홍택규, 활금하, 노윤형, 최승권, 김화연, 김영길, 이윤근, 〈[https://ettrends.etri.re.kr/ettrends/178/0905178006/ 심층 신경망 기반 대화처리 기술 동향]〉, 《ETRI》, 2019-08-01
 
 
* Jeina, 〈[https://jeinalog.tistory.com/20 강화학습 개념부터 Deep Q Networks까지, 10분만에 훑어보기]〉, 《티스토리》, 2019-10-28
 
* Jeina, 〈[https://jeinalog.tistory.com/20 강화학습 개념부터 Deep Q Networks까지, 10분만에 훑어보기]〉, 《티스토리》, 2019-10-28
  

위키원에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 위키원:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)