[강화학습 기반의 지능적인 가상캐릭터]

- 우종하(deepseas(AT)sogang.ac.kr)

 


    - 프로그램 [Down] [논문]

 

강화학습 기반의 지능적인 가상캐릭터

대학원 졸업논문으로 만든 프로젝트이다. 평소 관심분야였던 학습을 중점과제로 다루었다. 학습에도 여러 가지 방법이 있지만 여기서는 강화학습을 사용하였다. 기본적으로 자율적인 행동을 하면서 사용자의 명령 및 지시에 따라 특정 행동을 학습하는 가상캐릭터를 구현하였다. 간단한 감정모델도 가지고 있어 내부 감정상태를 표현한다.

 

신경망 기반의 마우스 제스처 입력

마우스 제스처를 사용하여 가상캐릭터에게 명령을 내릴 수가 있다. 마우스의 패턴을 구분하기 위해 신경망을 사용하였다. 마우스 움직임을 벡터 데이터로 변환한 다음 이를 신경망의 입력으로 하여 패턴을 학습할 수 있게 하였다. 이를 통해 O, X 등 다양한 마우스 제스처를 인식할 수 있다.

 

Emotion-Mood-Personality 감정모델

사용자와의 상호작용을 하면서 가상캐릭터에게 보상과 벌칙을 줄때 감정상태가 변하게 된다. 가상캐릭터는 안정, 기쁨, 슬픔, 화남의 4가지 감정을 가지고 있다. 현재 감정에 따라 학습이나 행동에 영향을 줄 수 있다.

 

강화학습을 이용한 가상캐릭터의 학습

강화학습은 특정 행동에 대해 보상과 벌칙을 줌으로써 경험에 의한 학습을 하는 알고리즘이다. 가상캐릭터나 주변환경의 상태와 가능한 행동에 대한 상태집합을 만들고 특정 행동을 했을 때 보상값이 전체 상태집합으로 퍼저나가면서 학습이 진행된다. 여기서는 강화학습 중에서도 대표적인 Q-Learning을 사용하였다.

마우스 제스처를 이용하여 학습을 시킬 수 있는데, 간단한 앉기 동작에서부터 공을 물고 특정 장소로 움직이는 연속적인 행동까지 학습이 가능하다. 복잡한 행동을 학습시키기 위해서는 간단한 동작들을 미리 학습시키고 이를 순차적으로 연결시키며 학습을 수행하는 것이 효과적이다.

 

결과 분석

프로젝트를 기획하면서 실제 애완동물과 같은 가상캐릭터를 구현하고 싶었다. 단순히 미리 정해진 행동만을 수행하는 것이 아니라 사용자와 상호작용을 하면서 주변환경을 인식하고 새로운 것을 배우며 감정을 표현하는 등 복잡한 행동을 수행할 수 있어야 한다. 그래야 사용자가 금방 싫증을 내지 않고 감정적인 교류를 가지며 가상캐릭터에 애착을 가질 수 있다.

하지만 실제로 구현을 하면서 복잡한 행동을 전체 상태로 구성하는 것이 힘들었다. 가상환경 안에서 보다 유연하게 행동을 하도록 하고 싶었지만 시간에 쫓기다 보니 특정 정해진 패턴 안에서만 학습이 가능하게 만들 수 밖에 없었다. 또한 가상캐릭터에게 학습을 시키는 방법이 너무 불편하여 프로그램에 쉽게 적응하기가 힘든 단점이 있었다.

많은 한계가 있었고 부족한 점이 많았던 프로젝트였지만 가상캐릭터의 행동이나 학습에 있어 좀 더 개선이 된다면 좋은 결과가 있을 것 같다.

 

[1]