레플리
글 수 27

새로운 강화학습 방식인 니마시니 알고리즘

조회 수 1575 추천 수 0 2018.06.03 16:02:05


 

 

 

니마시니 알고리즘이라는 재미있는 강화학습 방법을 소개할까 합니다. 가장 유명한 강화학습으로 Q-Learning이 있습니다. 각 상태에서 어떤 행동이 가장 적합한지 결정하는 Q함수를 구하는 것입니다. 예를 들어, 위에서 떨어지는 빗방울을 받는 게임을 생각해보겠습니다. 10 x 10의 공간이라면 다음과 같이 전체 상태집합을 배열로 구성할 수 있습니다.

 

빗방울 위치 : 10 x 10 = 100
양동이 위치 : 10 (y축은 고정)
양동이 행동 : 3 (왼쪽, 대기, 오른쪽)

 

100 x 10 x 3 = 3000개의 상태를 가진 배열이 존재하고 현재 상태에서 가장 Q값이 높은 행동을 선택합니다. 빗방울를 양동이로 받았을때 보상으로 1의 값을 얻었다면 그 상태의 Q값이 1이 됩니다. 그리고 이 보상값이 조금씩 감소하면서 주변 상태로 퍼지는데 모든 상태에 전달이 되면 완벽한 정책(policy)이 만들어집니다.

 

 

 

니마시니 알고리즘은 이런 전체 상태 배열이 존재하지 않고 대신 시간순서에 따른 행동의 집합을 기억합니다. 그리고 이 기억에 따라 행동을 결정합니다. 보상값을 받았을때 지금까지 수행했던 행동을 최적화하여 수정하는 상쇄라는 과정을 거칩니다. 예를 들면 다음과 같습니다.

 

1초 : 빗방울 위치(5, 7), 양동이 위치(4), 행동(왼쪽)
2초 : 빗방울 위치(5, 8), 양동이 위치(3), 행동(오른쪽)
3초 : 빗방울 위치(5, 9), 양동이 위치(4), 행동(오른쪽)
4초 : 빗방울 위치(5, 10), 양동이 위치(5), 행동(대기)

 

4초일때 빗방울을 받고 보상값을 얻으면 불필요한 행동을 교정하는 상쇄를 다음과 같이 수행합니다. 왼쪽 + 오른쪽 + 오른쪽 => 오른쪽.

 

1초 : 빗방울 위치(5, 7), 양동이 위치(4), 행동(오른쪽)
2초 : 빗방울 위치(5, 8), 양동이 위치(5), 행동(대기)
3초 : 빗방울 위치(5, 9), 양동이 위치(5), 행동(대기)
4초 : 빗방울 위치(5, 10), 양동이 위치(5), 행동(대기)

 

 

 

이 알고리즘의 장점은 Q-Learning보다 빠르게 학습을 할 수 있다는 것입니다. 하지만 복잡한 문제일 경우 상쇄를 어떤 방식으로 해야할지 어렵다는 단점이 있습니다. 또한 인공지능이 모든 것을 스스로 학습하는 것이 아니라 상쇄하는 과정을 사람을 결정해야 하기 때문에 범용적으로 적용하기가 어렵습니다.

 

하지만 게임처럼 학습에 많은 자원을 소모하기 힘들고 빠르게 학습이 필요한 분야라면 유용하게 사용할 수 있을 것 같습니다.

 

엮인글 :
List of Articles
제목 글쓴이 날짜 조회 수
강화학습 관련 노하우 정리 깊은바다 2019-07-29 2666
데미스 하사비스의 카이스트 강연 - 아타리 게임 DQN과 알파고의 원리 깊은바다 2019-07-24 1190
강화학습 블로그 - 숨니의 무작정 따라하기 깊은바다 2019-07-21 1057
OpenAI의 멀티 에이전트 강화학습 환경 - Neural MMO 깊은바다 2019-03-06 964
딥마인드의 알파스타가 프로게이머와의 대결에서 승리 [1] 깊은바다 2019-01-25 668
텐센트의 스타크래프트2 인공지능 - TStarBot file 깊은바다 2018-09-21 880
tensorflow-js로 만들어본 RL 예제: 2. Deep-sarsa 깊은바다 2018-07-27 2511
웹브라우저에서 자율주행차 강화학습 프로젝트 [2] 깊은바다 2018-06-21 1245
새로운 강화학습 방식인 니마시니 알고리즘 깊은바다 2018-06-03 1575
딥마인드의 모방을 통한 게임 학습 깊은바다 2018-06-01 916
강화학습의 개요 깊은바다 2018-05-28 674
스타2 강화학습 튜토리얼 [2] 깊은바다 2018-02-04 1522
DQN 강화학습으로 슈퍼마리오 인공지능 구현 깊은바다 2017-10-30 2716
스타크래프트2 강화학습 깊은바다 2017-10-14 1063
강화학습과 DQN 소개 깊은바다 2017-10-05 1356