Artificial Neural Network Optimization


유전 알고리즘과 자기 조직화 신경망의 결합


자기 조직화 신경망 (Self-Organizing Map)은 벡터 양자화, 음성 인식, 조합 최적화, 패턴 인식등과 같은 복잡한 문제를 해결하는데 많이 이용되어 왔다. 자기 조직화 신경망의 특징은 비교사 학습 (unsupervised learning)을 하며 주어진 입력 데이터의 유사성에 근거하여 입력 데이터의 분포와 군집 정도를 조직화 할 수 있다. 이 연구에서는 자기 조직화 신경망의 군집 성질을 이용하여 유전 알고리즘의 성능을 개선하려고 한다. 유전 알고리즘에서 염색체는 교차 연산자에 의해 새로운 염색체로 재구성된다. 여기서 교차 연산자에 의해 재구성 되기 전의 염색체에 존재하는 의미 있는 구성요소 (building block)들이 교차 연산 후에도 보존된다면 세대가 진행되는 동안 좋은 품질의 염색체들이 생존하게 될 것이다. 그러나 염색체 상에 존재하는 의미 있는 구성 요소들을 파악하기 힘들뿐더러 그들간의 관계성을 파악하는 것도 어려운 일이다. 이 연구에서는 순환 신경 회로망을 유전 알고리즘의 염색체로 표현을 하였고 염색체 상의 의미 있는 구성 요소들을 자기 조직화 신경망을 통하여 분석하고 군집화하려 한다. 다층 신경망은 유전 알고리즘에서 이차원 염색체로 표현이 되고 다층 신경망의 은닉 뉴런들의 군집화는 염색체 상에서 의미 있는 정보의 군집화와 연결된다.


인공 신경망에서의 연결의 지역성


인공 신경망은 학습한 많은 정보를 뉴런들 사이의 연결 가지(connection edge)들의 가중치(weight)로 저장을 한다. 타당한 가중치를 찾기 위한 많은 학습 알고리즘들이 제안되어 왔다. 하지만 인공 신경망의 층(layer)수가 증가하고 뉴런들의 수가 증가하면 학습 알고리즘은 한계를 드러내게 된다. 학습 알고리즘으로 유명한 역전파 알고리즘(backpropagation algorithm)또한 학습의 한계를 드러낸다. 인공 신경망의 불필요한 연결 가지들의 제거는 학습의 성능을 향상 시키는데 기여할 수 있다. 그리고 아래 그림처럼 인공 신경망의 뉴런들은 지리적으로 인접한 뉴런들 사이의 영향이 그렇지 않은 뉴런들보다 클 것이다. 즉, 지리적으로 인접한 뉴런들 사이의 연결 가지에 한정을 해서 학습을 강화한다면 좀 더 나은 학습 결과를 만들어 낼 수 있을 것이다. 이 연구에서는 신경망 회로의 연결 가지들의 수에 제약을 주어 신경망의 복잡도를 줄이고, 이로 인한 성능상의 저하를 유전 알고리즘의 전역 탐색 기술에 힘입어 극복하고 성능 향상을 꾀하려 한다.


이차원 교배를 이용한 순환 신경망 회로의 성능 향상


순환 신경망의 가장 일반화된 구조는 자기 자신을 포함한 어떠한 노드와도 연결을 허락하는 것이다. 이를 학습하는 가장 단순한 방법은 그림 2와 같이 신경 회로망을 임의의 시간만큼 확장하여 전향 신경회로망으로 만든 다음, 역 전파 알고리즘을 사용하는 것이다. 이러한 신경 회로망 모델은 하나의 입력을 바탕으로 목표 출력값과 실제 출력값을 비교하여 그 오차값을 역전파하는 방식으로 신경망을 학습시킨다. 역전파 알고리즘은 상위 층에 있는 뉴런의 오차를 바탕으로 현재 층과 상위 층 사이의 연결 강도를 조정한다. 뉴런들의 상호 연결망에서 인접한 뉴런들은 다른 뉴런들보다 상대적으로 밀접한 관계를 맺고 있을 것이다. 하지만 역 전파 알고리즘은 연결 강도 조정에 있어 이 정보를 이용하지 못하고 있다. 이 연구에서는 신경망 회로의 오차율을 줄이기 위해 뉴런들 사이의 인접성을 살릴 수 있는 이차원 교배를 이용한 진화 알고리즘을 사용하여 순환 신경망의 성능을 증가 시키려 한다.