반응형

http://www.patentmaps.org/pub/nap/nn-src/

인터넷에서 찾은 ANN (Artificial Neural Network) 에 관한 괜찮은 자료이다. ( 오래된 내용이긴 해도 reference 로는 괜찮은 듯.. )

왜 국내 웹사이트 중에는 이렇게 소스코드 레벨로 제공되는 좋은 자료들을 찾아보기 힘들까는 생각을 잠시 해 보면서.. 

신경망에 대해 처음 접했을때는 많은 매력을 느꼈다. 그런데 최근에는 출판되는 책이나 논문 동향을 봐도 그렇고, 1990 년대까지 한창 신경망 연구에 대한 붐이 일다가 2000 년 이후로는 신경망에 대한 연구가 좀 활기를 잃은 느낌을 받는다. 인공지능 박사 과정에 있는 친구도 신경망에 대한 전망을 어둡게 얘기하곤 했다.

일단 내가 느껴 본 바로는 신경망의 단점들이 몇가지가 있는데, 그중에서도 가장 큰 게 느껴지는 것은 구성된 신경망 내부 구조에 대해서는 디테일하게 내부 파악이 어렵다는 점이다. 이는 디버깅이 어렵다는 말과도 동일하다. 처음 신경망 구성 알고리즘을 설계하고 나면 이 알고리즘으로 생성되는 신경망의 결과는 실험을 통해서만 검증할 수 있다. 혹자는 이를 가르켜 "논리의 부재" 라고 설명하기도 하는데, 주어진 입력에 대해서 신경망 학습을 통해 원하는 결과에 가깝게 출력하도록 훈련 시킬수는 있지만 근본적으로 이 입력에서 왜 이런 결과가 나오는지의 논리에 대한 설명은 신경망이 갖고 있지 않다는 것이다.

또 하나는 신경망을 구성하기 위한 학습을 하는데 과도한 시간이 걸리며, 더 큰 문제는 학습이 끝나는데 ( 학습이 끝난다는 것은 최적화 된 신경망 구성이 완료된다는 의미로 말할 수 있겠다) 시간이 얼마나 걸릴지 알 수 없다는 점이다. 경험한 바로는 신경망 구성을 위한 학습에 시간이 무지막지하게 소요되고, 어느정도 만족한 결과가 나온 시점에서 이 상태보다 더 나은 결과가 나오는데 과연 얼마나 더 많은 학습이 필요한지 ( 혹은 현 시점의 신경망 구성 알고리즘으로는 더이상 개선된 결과가 나오지 않을 수도 있다. 이는 결국 실험을 통해서 재검증 할 수 밖에 없다 ) 사전에 알 수 없다는 문제가 있다.

그래서 최근 연구들을 보면 기존 신경망의 단점을 개선하는 방향에 대한 연구가 많이 진행되고 있는데 읽어본 내용 중에는 신경망 학습에 소요되는 시간을 줄이기 위해서 분산처리 시스템을 활용한다든지, Generic Algorithm 을 적용하는 등의 방법등이 있었다.

+ Recent posts