글 수 13
'쉽게 풀어쓴 인공지능 게임 프로그래밍'에 있는 프로그램을 하나 소개해 드리겠습니다.
신경망을 사용하여 마우스의 제스쳐를 학습한 후 인식하는 프로그램입니다.
먼저 마우스의 움직임을 신경망의 입력으로 적절하게 표현을 해야하는데
여기서는 12개의 벡터를 사용하여 구현을 하였습니다.
마우스의 움직임을 각 점에서의 방향을 나타낼 수 있도록 단위벡터로 저장한 다음
전체 점의 개수를 줄여서 모두 12개의 벡터로 나타냅니다.
그리고 출력은 전체 제스처의 개수만큼 존재합니다.
그러므로 제스쳐의 수가 증가할 수록 출력의 개수도 따라서 증가합니다.
학습방법은 감독학습의 대표적 방법인 오류역전파 방식을 사용하였습니다.
이러한 마우스의 입력이 들어왔을때 입력에 맞는 출력이 나오도록 학습이 됩니다.
오른쪽 버튼를 누른채로 마우스를 움직이면 제스쳐가 입력이 되는데
학습된 제스쳐와 일치하는 제스쳐의 이름을 출력합니다.
기본적으로 왼쪽, 오른쪽, 위, 아래, 사각형 등의 제스쳐가 입력이 되어있습니다.
그리고 L 키를 누른후 새로운 제스쳐를 입력할 수 있습니다.
블랙앤화이트에서 보면 마우스의 움직임으로 마법을 수행할 수 있는데
거기서도 이러한 신경망 기법이 사용되었을지도 모르겠네요.