1. 일본의 인터넷 은어
일본의 인터넷 은어. 양아치, 무개념 등에 해당하는 단어. 도큔(ドキュン, Do-Qyoon)이라고 읽는다. 일종의 합성어로, 다큐멘터리의 일어식 축약어인 도큐(ドキュ)에 충격적인 상황을 표현하는 일본어 의성어인 “큥”(キュン)을 합친 것이다.1.1. 유래
1994년부터 2002년까지 테레비 아사히에서 방영했던 '目撃!ドキュン(목격! 도큔)'이란 TV 프로그램의 이름에서 유래했다. 프로그램 이름은 한국의 순간포착 세상에 이런 일이와 유사하지만 주된 내용은 양아치들이 주로 나와서 막장 인생에서 벗어나는 이야기가 많아 이 프로의 이름이 양아치, 무개념 등을 의미하게 된 것이다.출연자들 대부분이 고졸 미만의 저학력이고 이상한 문신을 하고 15세에 동거해서 아이 낳고 20세에 헤어지는 막장 부모나 수준 미달인 경우가 많았다. 그래서 2ch에서 '저학력자', '미친 자식'이라는 뜻으로 사용하기 시작했고, 차차 의미가 확장되어 '비상식적인, 멍청한 사람이나 기업' 등을 뜻하는 말로 발전했다. 이후 이러한 양아치, 무개념 젊은 층 부모들이 아이들에게 특이한 이름을 붙이는 경우가 늘어나면서 DQN 네임이라는 단어로 발전하게 되었다.
다만 실제 프로그램은 출연자들의 막장 탈출기를 다룬 훈훈한 내용이 주를 이루었다고 한다.
1.2. 여담
- 유래가 된 '목격! 도큔'와 마찬가지로 테레비 아사히에서 방송하는 짱구는 못말려에서도 언급된다. # 지하철에 버려진(?) 신짱, 히마와리를 보고 주변 사람들이 해당 프로그램 같은 일이 있냐면서 히로시와 미사에를 까는 대사로.
- 도쿄 지방 법원의 판례에서 DQN을 명백히 혐오 표현으로 인정하고 있으니 일본에 가면 함부로 사용하지 않는 것이 좋다.
- 비슷한 의미인 厨와의 차이는 역시 학력에 관한 의미가 내포되어 있다는 점, 그리고 굳이 사람이 아니라 단체나 기업에도 쓸 수 있다는 점이 있겠다.
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 (st+1 , a t+1 )가 최대가 되는 정책] }처럼 업데이트한다.
딥러닝으로 구성된 네트워크는 이 Q-값을 출력한다. DQN 알고리즘은 계속 게임을 실행시키면서 Q-값을 출력하는 네트워크를 업데이트하게 되는데, 이에 따라 출력되는 Q-값은 점점 더 정확해진다. 따라서 이를 반복하게 되면 정확한 Q-값을 얻을 수 있게 되고, 높아진 Q 함수의 정확도를 통해 보상을 가장 많이 얻을 수 있는 행동을 취할 수 있게 되는 것이다.