문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 DQN (문단 편집) === 설명 === [[강화학습]]은 [[기계학습]]의 하위 분야로 어떤 상태에서 어떤 행동을 취하는 것이 가장 큰 보상을 받을 수 있는지를 학습한다. 이를 위해 Q 함수라는 것을 사용하는데, 상태와 행동을 입력으로 주면 기대값을 출력해주는 함수이다. 비전공자를 위해 간단히 비유하자면, 게임을 할 때 Q라는 사람을 옆에 두고 매번 Q의 의견을 물어서 플레이에 참고하는 것이다. 학습을 처음 시작할 때는 Q의 실력은 인간 이하이다. 강화학습을 한다는 것은 Q의 의견대로 게임을 한 뒤 졌으면 혼내고 이기면 칭찬해서 Q의 판단력을 프로게이머 수준까지 키우는 것을 말한다. 만약 Q가 프로게이머급 실력을 가지고 있다면, 당연히 최고 수준의 플레이를 할 수 있을 것이다. 문제는 현재까지 방법으로는 (완벽한 Q가 존재하며 학습 가능하다는 것은 수학적으로 증명됐지만) Q를 제대로 학습시키는 것이 매우 어려웠다는 것이다. 아주 단순한 게임만 학습시킬 수 있었고 조금만 복잡해도 학습이 잘 안되었는데, 이를 극복하기 위해 [[딥러닝|깊은 신경망]]을 통해 Q함수를 구성하였다. DQN이란 이름은 '''Q''' 함수를 ''''D'''eep Neural '''N'''etwork로 구성했기 때문에 붙여진 이름이다. 신경망을 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 (s,,t,, , a ,,t,, )를 (1-α) Q(s,,t,, , a,,t,,) + α { r,,t+1,, + γ * [Q (s,,t+1,, , a ,,t+1,, )가 최대가 되는 정책] }처럼 업데이트한다. [[딥러닝]]으로 구성된 네트워크는 이 Q-값을 출력한다. DQN 알고리즘은 계속 게임을 실행시키면서 Q-값을 출력하는 네트워크를 업데이트 하게 되는데, 이에 따라 출력되는 Q-값은 점점 더 정확해 진다. 따라서 이를 반복하게 되면 정확한 Q-값을 얻을 수 있게 되고, 높아진 Q 함수의 정확도를 통해 보상을 가장 많이 얻을 수 있는 행동을 취할 수 있게 되는 것이다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기