DQN (r20210301판)

문서 조회수 확인중...

1. 일본의 인터넷 은어
1.1. 관련 문서
2. 구글 딥마인드가 개발한 알고리즘
2.1. 설명
2.2. 관련 문서


1. 일본의 인터넷 은어


일본인터넷 은어. 양아치, 무개념 등에 해당하는 단어. 발음 자체는 도큔(ドキュン, Do-Qyoon)이라고 읽을 수 있다.
일본 TV아사히에서 방영했던 '目撃 ドキュン(목격 도큔)'이란 TV 프로그램의 이름에서 유래. 도큔 자체는 일종의 의성어이다. 출연자 중에 양아치 출신들이 많아서 그걸 빗대서 비난하는 뜻에서 사용하기 시작되었으며 실제 프로그램 자체는 출연자들의 막장 탈출기를 다룬 훈훈한 내용이었다고 한다.
대부분 고졸 미만의 저학력이고 이상한 문신을 하고 15세에 동거해서 아이 낳고 20세에 헤어지는 막장 부모나 수준 미달의 출연자들이 너무 한심해서 2ch에서 '저학력자', '미친놈'이라는 뜻으로 사용하기 시작. 차차 의미가 확장되어 '비상식적인, 멍청한 사람이나 기업' 등을 뜻하는 말로 발전했다. 이후 이러한 양아치, 무개념 젊은 층 부모들이 아이들에게 특이한 이름을 붙이는 경우가 늘어나면서 DQN 네임이라는 단어로 발전하게 되었다. 항목 참조.
비슷한 의미인 와의 차이는 역시 학력에 관한 의미가 내포되어 있다는 점, 그리고 굳이 사람이 아니라 단체나 기업에도 쓸 수 있다는 점이 있겠다.
도쿄지방법원의 판례에서 DQN을 명백히 혐오 표현으로 인정하고 있으니 일본에 가면 함부로 사용하지 않는 것이 좋다.

1.1. 관련 문서



2. 구글 딥마인드가 개발한 알고리즘


Deep Q-Network
구글 딥마인드가 개발한 알고리즘으로서, 강화 학습 가능한 심층 신경망을 이용하여 초창기 아타리 2600 게임들을 인간 수준으로 플레이할 수 있는 인공지능이다. 2015년 2월 네이쳐게재되었다. 이 인공지능의 놀라운 부분은, 인공지능에 화면(픽셀)을 입력하고 패드를 움직이도록 하여 '고득점을 내는 것이 목표다' 이외에 아무 것도 알려주지 않고 그냥 마음대로 플레이하게 놔두면, 처음엔 버벅거리다가 점점 스스로 게임을 이해하고 공략법을 알아내어 고수의 플레이를 보여준다는 점에 있다.

Breakout을 처음엔 제대로 움직이도 못하다가, 얼마 뒤 정확한 조작을 하게 되고, 최종적으로는 구석을 뚫어 공을 올려 보내는 필살기 까지 쓰는 모습이 압권.
이 결과 아타리 2600의 대부분의 게임을 성공하고, 특히 그중 29개 게임에서 인간을 뛰어 넘는 기록을 세웠다. 그러나 이 중에서 유일하게 공략을 하지 못하던 'Montezuma's Revenge'라는 게임이 있었는데, 이 또한 DQN에게 호기심을 기능하게 하는 알고리즘을 심은 결과 2016년 6월 기준 버전으로는 24스테이지중 15스테이지를 클리어할 수 있을 정도로 성장했다.

2.1. 설명


강화학습기계학습의 하위 분야로 어떤 상태에서 어떤 행동을 취하는 것이 가장 큰 보상을 받을 수 있는지를 학습한다. 이를 위해 Q 함수라는 것을 사용하는데, 상태와 행동을 입력으로 주면 기대값을 출력해주는 함수이다.
비전공자를 위해 간단히 비유하자면, 게임을 할 때 Q라는 사람을 옆에 두고 매번 Q의 의견을 물어서 플레이에 참고하는 것이다. 학습을 처음 시작할 때는 Q의 실력은 인간 이하이다. 강화학습을 한다는 것은 Q의 의견대로 게임을 한 뒤 졌으면 혼내고 이기면 칭찬해서 Q의 판단력을 프로게이머 수준까지 키우는 것을 말한다. 만약 Q가 프로게이머급 실력을 가지고 있다면, 당연히 최고 수준의 플레이를 할 수 있을 것이다.
문제는 현재까지 방법으로는 (완벽한 Q가 존재하며 학습 가능하다는 것은 수학적으로 증명됐지만) Q를 제대로 학습시키는 것이 매우 어려웠다는 것이다. 아주 단순한 게임만 학습시킬 수 있었고 조금만 복잡해도 학습이 잘 안되었는데, 이를 극복하기 위해 깊은 신경망을 통해 Q함수를 구성하였다. DQN이란 이름은 Q 함수를 'Deep Neural Network로 구성했기 때문에 붙여진 이름이다. 신경망을 Q함수로 사용하는 아이디어 자체는 이미 2000년대 초반부터 나왔지만 실제로는 학습이 잘 안되는 문제가 있었는데, 딥마인드에서 2013년과 2015년 두 차례의 논문을 통해 이를 제대로 학습시킬 수 있는 아이디어를 제시해 강화학습의 효율을 크게 끌어올린 것이다.
수식으로 표현하자면 다음과 같은 요소들로 학습이 진행된다.
  • State (현재 상태)
  • Action (특정 상태에서 수행 가능한 행동들)
  • 보상함수(Reward): State 'S'에서 Action 'a'를 실행하였을 때의 보상
  • learning rate α: 0~1 사이의 실수. 학습의 결과로부터 얻어지는 강화 값의 갱신율을 조절하는 역할을 한다.
  • 할인율 (discount rate) γ: 0~1 사이의 실수. 가치함수를 수렴하도록 만드는 역할을 한다.
  • Q-값 (기존의 Q값에 State S에서 a라는 Action을 실행하였을 때의 결과를 업데이트하는 값): 시각이 바뀔 때마다 Q (st , a t )를 (1-α) Q(st , at) + α { rt+1 + γ * [Q (s,,t+1,, , a ,,t+1,, )가 최대가 되는 정책] }처럼 업데이트한다.
딥러닝으로 구성된 네트워트는 이 Q-값을 출력한다. DQN 알고리즘은 계속 게임을 실행시키면서 Q-값을 출력하는 네트워크를 업데이트 하게 되는데, 이에 따라 출력되는 Q-값은 점점 더 정확해 진다. 따라서 이를 반복하게 되면 정확한 Q-값을 얻을 수 있게 되고, 높아진 Q 함수의 정확도를 통해 보상을 가장 많이 얻을 수 있는 행동을 취할 수 있게 되는 것이다.

2.2. 관련 문서


[각주]
파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 구글 딥마인드 문서의 r34 판에서 가져왔습니다. 이전 역사 보러 가기