본 < 지능형 시스템 > 시리즈는 부산대 정보컴퓨터공학과 차의영 교수님의 '지능형 시스템' 강의에서 배운 내용을 바탕으로 작성합니다.
ART는 Adaptive Resonance Theory로, 기존 패턴에 대한 지식을 지우지 않고 새로운 학습에서 유지하기 위해 노력한다. 이는 마치 기존의 고유진동수에 맞게 진동이 일어나 발생하는 "공명" 현상과 비슷해 적응적 공명 이론이라고 불린다.
ART 이전에 등장했던 신경망들은 새로운 패턴을 추가하면 전부를 다시 학습하는 식이였다. 그 예로 다층 퍼셉트론을 살펴보면, 다층 퍼셉트론은 새로운 훈련 벡터가 추가되면 가중치 값을 갱신함으로서 전에 학습한 모든 것을 파괴한다. 그러나 ART는 기존의 지식이 새 지식에 의해 지워지지 않도록 일관성 있게 통합한다.
ART2 학습 방법에 대해 간단한 예시와 함께 설명을 해보겠다.
- 새로운 학습 패턴이 주어지면 minimum distance를 승자(클러스터)로 선택한다.
만약 'a 교실'의 가중치가 0점이고 'b 교실'의 가중치가 100점이라고 할 때, 새로운 학습 패턴 58점과 61점은 'b 교실'을 승자로 선택할 것이다.
- 최소한의 한계값(클러스터의 반경) 내에 들어오는지 확인하는 Vigilance test를 거친다.
✳︎ 참고로 한계값이 작을수록, 더 많은 클러스터가 생성된다.
만약 'b교실'에는 60점(한계값) 이상만 들어갈 수 있다고 하면, 58점은 vigilance test를 실패하고 61점은 vigilance test를 통과한다.
- 만약 승자가 vigilance test를 통과하면, 다음 식을 이용하여 승자의 가중치를 수정한다.
👉🏻 "기존값 + 새로 들어온 값" 의 평균이라 보면 된다.
61점은 vigilance test를 통과했으므로, 'b 교실' 가중치가 수정된다. 이때 b교실에는 원래 3명의 사람만 있었다 하면, 새로운 가중치는 (100X3 + 61) / 4 = 90.25
에 의해 90.25가 된다.
따라서 61점에 의해서 b 교실 가중치는 100점 -> 90.25점 으로 수정된다.
- 만약 승자가 vigilance test를 실패하면, 새로운 클러스터 k가 다음 가중치를 가지고 생성된다.
58점은 vigilance test를 실패했으므로, 새로운 교실 'c 교실'이 생성된다. 이때 c 교실의 가중치는 새로운 값 그대로 58점이 된다.
필자는 ART2 알고리즘을 파이썬으로 구현해보았다.
아래 링크를 통해 들어가서 확인해 볼 수 있다!
ART2 파이썬 알고리즘:
https://github.com/YeoJiSu/Artificial_Neural_Network/blob/main/ART2.py
ART2 괸련 논문 : ART2 알고리즘을 이용한 애견 진단 시스템, Journal of Digital Contents Society Vol. 10 No. 2 Jun. 2009(pp. 327-332)