딥큐러닝
딥큐러닝(Deep Q-learning)은 모델을 특정하지 않는 강화학습 알고리즘이다. 소규모 데모 데이터 세트를 활용하여 비교적 적은 양의 데모 데이터에서도 학습 프로세스를 대폭 가속화하고, 우선 순위가 지정된 재생 메커니즘 덕분에 학습하는 동안 데모 데이터의 필요한 비율을 자동으로 평가할 수 있다.
개요
딥큐러닝은 일반적인 큐-러닝(Q-learning)과 다르게 매 스탭마다 정보(experience)를 리플레이 메모리에 저장하고 학습시 균등 분포(uniform distribution)에 따라 샘플링하여 사용한다. 이 방식은 정보가 여러 번 사용될 수 있게 만들기 때문에 데이터의 효율성을 높여 준다. 또한, 연속적인 샘플 사이에는 높은 상관관계를 가지는데 샘플들을 랜덤으로 뽑아서 사용하기 때문에 분산을 줄일 수 있다.[1] 딥마인드 시스템은 수용적 장의 효과를 모방하기 위해 타일 방식의 합성곱 필터 층을 가진 심층합성곱신경망를 사용했다. 신경망과 같은 비선형 함수 근사치를 사용하여 를 나타낼 때 보강학습이 불안정하거나 다양하다. 이러한 불안정성은 관찰 순서에 존재하는 상관관계, 에 대한 소규모 업데이트로 인해 정책과 데이터 배포, Q와 목표값 간의 상관관계에서 비롯된다. 딥큐러닝의 알고리즘대로 하면 관측 순서의 상관관계가 제거되고 데이터 분포의 변화가 원활해진다. 반복 업데이트는 를 주기적으로만 업데이트되는 목표값으로 조정하여 목표값과의 상관관계를 더욱 감소시킨다.[2] 또한 소규모 데이터를 활용하여 비교적 적은 양의 데모 데이터에서도 학습 프로세스를 대폭 가속화하는 알고리즘으로, 시간차 업데이트를 시연자의 큰 마진 분류와 결합하여 작동한다. 데모 데이터가 좋지 않은 경우에도 딥큐러닝이 DQN보다 빠르게 학습한다는 장점이 있다.[3]
역사
큐-러닝은 간단하지만 꽤 강력한 알고리즘으로 에이전트의 커닝 시트를 만든다. 이는 에이전트가 정확히 어떤 조치를 수행해야 하는지 파악하는 데 도움이 된다. 하지만 시간이 흘러 연구원들은 큐-러닝의 수표지가 너무 길다는 문제에 맞닥뜨리게 된다. 상태(state) 당 10,000개의 상태와 1,000개의 상태별 행동(action)이 있는 환경을 상상해 보자. 이것은 천만 개의 세포로 이루어진 표를 만들게 되어 일을 걷잡을 수 없게 될 것이다. 이미 탐사된 상태에서 새로운 상태의 Q-값을 추론할 수 없다는 것은 분명하다. 이것은 두 가지 문제를 제시한다. 첫째, 상태 수가 증가함에 따라 해당 테이블을 저장하고 업데이트하는 데 필요한 메모리 양이 증가할 것이다. 둘째, 필요한 Q-테이블을 만들기 위해 각 상태를 탐색하는 데 필요한 시간은 비현실적일 것이다. 이 문제를 보완하기 위해 신경망과 같은 머신러닝 모델과 이 Q-값을 근사하게 비교한다는 아이디어가 나오게 되었다. 이는 딥마인드의 알고리즘 이면에 있는 아이디어로, 구글이 5억 달러에 인수하게 된 딥큐러닝이다.[4]
각주
- ↑ choyi0521, 〈Deep Q-learning으로 뱀 게임 인공지능 만들기〉, 《삼성소프트웨어멤버십》, 2020-02-08
- ↑ Q-learning Wikipedia - https://en.wikipedia.org/wiki/Q-learning#Learning_Rate
- ↑ Bilal Piot 외 11인, 〈Learning from Demonstrations for Real World Reinforcement Learning〉, 《ResearchGate》
- ↑ ANKIT CHOUDHARY, 〈A Hands-On Introduction to Deep Q-Learning using OpenAI Gym in Python〉, 《Analytics Vidhya》, 2018-04-18
참고자료
- Q-learning Wikipedia - https://en.wikipedia.org/wiki/Q-learning#Learning_Rate
- Bilal Piot 외 11인, 〈Learning from Demonstrations for Real World Reinforcement Learning〉, 《ResearchGate》
- ANKIT CHOUDHARY, 〈A Hands-On Introduction to Deep Q-Learning using OpenAI Gym in Python〉, 《Analytics Vidhya》, 2018-04-18
- choyi0521, 〈Deep Q-learning으로 뱀 게임 인공지능 만들기〉, 《삼성소프트웨어멤버십》, 2020-02-08
같이 보기