Neural Network 는 큰 관심이 있었던 분야는 아니었습니다. 이 녀석이 태생적으로 중간 계층의 Hidden Layer 와 오류역전파 알고리즘 이후로 뭔가 하나의 획을 그을만한 대단한 알고리즘이 나타나지 않았기 때문도 있었지만, 사실 저 둘만으로도 충분히 번거로웠기 때문이었습니다.

항상 중간의 숨겨진 계층의 개수를 조절해야 되고, 그에 따른 가중치 값의 튜닝이 이루어져야 합니다. 그것이 만약 상당한 트레이닝을 거치고서도 개선이 없을 경우에는 다시 계층의 개수 조절에 이은 가중치 값 튜닝이 이루어져야 했었습니다. GA 나 GP 라는 것은 지들이 몇 가지 변수만 대입하면 준 최적 값이라도 잘 돌려줘서 써먹는 데는 큰 지장이 없었기 때문에 주로 쓰고 있었습니다.

그런데 얼마 전부터 좀 관심이 가는 녀석이 생겼습니다.

NEAT 라는 것인데 NeuroEvolution of Augmenting Topoliges 의 약자 입니다. 이것은 GA 나 ES 와 같은 유전자형태를 가지면서 Neural Network(이하 NN) 를 구성하고 스스로 진화시켜나가는 모델입니다. 위에 제가 NN 에 관심을 두지 않았던 가장 큰 이유인 귀찮다! 라는 것을 아주 쉽게 개선시켜줄 수 있습니다.

게다가 인터넷에 소스와 논문들도 널려있습니다. 어쩌다 관심을 가지고 몇 가지를 찾다 보니까 정말 자료가 많이 있더군요. 특히 야후의 그룹에서는 상당히 활발하게 토론되고 발전되어가고 있더군요. NN 에 관심을 가지고 있고, 써볼 데가 있긴 있는데 귀찮아서 도저히 못해먹겠다 싶어서 고민하셨던 분이라면 http://tech.groups.yahoo.com/group/neat/ 이곳에 한번 가보시는걸 추천 드리겠습니다.

P.S. 써보니까 편하긴 한데 파라미터를 좀 많이 손봐야 제대로 성능이 나오는 게 아닌가 싶네요. 단순한 문제는 좀 풀어주는 것 같은데 복잡한 것에는 정말 엄청난 시간이 필요한 듯 싶어요;;


2017년도의 P.S. 이글을 쓴 것이 2008 년인데, 사실 해외에선 슬금슬금 CNN 에 관련된 내용들이 나오기 시작했던 것 같군요.

+ Recent posts