인공신경망이란?
기계학습과 인지과학에서 생물학의 신경망(동물의 중추신경계 중 특히 뇌)에서 영감을 얻은 통계학적 학습 알고리즘입니다.
인공신경망을 통해 게임이라는 정해진 맵 안에서, 정해진 조작키로 플레이어가 랜덤하게 움직일 수 있도록 하였습니다. 그리고 그 역할을 하는 것을 랜덤 AI라고 합니다.
인공신경망의 기본 구조는 사진과 같습니다.
입력값(Input)을 받으면 검은색 선인 가중치가 더해져 은닉층(Hidden Layer)의 값이 되고 그 은닉층에서 또다시 다른 가중치를 더하여 출력값(Output)이 나타납니다.
입력값부터 은닉층까지의 값을 수식으로 나타내면 다음과 같습니다.
L1_1 = x1 X w1_1 + x2 X w2_1
L1_2 = x1 X w1_2 + x2 X w2_2
인공신경망의 은닉층은 양수의 값을 랜덤으로 지정해 주는 ReLU 개형의 그래프로 나타낼 수 있습니다.
출력값을 나타내는 층은 결론적으로 확률을 통해 플레이어를 조작할 것인지, 조작하지 않을 것인지를 나타내기 위해 Sigmoid라는 함수를 사용하여 기존의 값을 확률 값으로 변환하는 과정을 거치게 됩니다.
유전 알고리즘이란?
자연세계의 진화 과정에 기초한 계산 모델로서 존 홀랜드에 의해서 1975년에 개발된 전역 최적화 기법으로, 최적화 문제를 해결하는 기법 중 하나입니다.
용어 정리
염색체 (Chromosome) : 유전 정보를 담고 있는 하나의 집합입니다.
유전자(Gene) : 염색체를 구성하는 유전 정보입니다.
적합도 : 염색체가 주어진 환경에 얼마나 적응한 상태인지 나타내는 값입니다.
학습은 그림과 같은 과정으로 이루어집니다. 인공신경망과 랜덤 AI를 통해 초기 집단을 먼저 생성하면 적합도를 평가하여 기록을 남기고 이를 유전 알고리즘에서 진행되는 3가지의 연산을 통해 다음 세대에 포함할 유전자를 고릅니다.
유전 알고리즘 연산
선택 연산
룰렛 휠 선택
룰렛 휠 선택을 통해 현재 유전자 중 2개의 유전자를 선택하였습니다.
엘리트 보존 선택
엘리트 보존 선택을 통해 현재 유전자 중 상위 2개의 유전자를 선택하였습니다.
교배 연산
일점 교차
정수 범위 내에서 교차 연산을 진행하였습니다.
SBC
실수 범위의 교차 연산을 통해 더 다양한 유전자 값을 얻을 수 있었습니다.
변이 연산
전형적 변이 (정적 변이)
정적 변이를 통해 다양한 유전자를 얻을 수 있었습니다.