본문 바로가기
🤖 Artificial Intelligence/Intelligent System

[지능형 시스템] Chapter 8. ART (적응적 공명 이론 - Adaptive Resonance Theory)

by 파띵 지수 2023. 6. 11.
728x90

본 < 지능형 시스템 > 시리즈는 부산대 정보컴퓨터공학과 차의영 교수님의 '지능형 시스템' 강의에서 배운 내용을 바탕으로 작성합니다.


🎨 적응적 공명 이론, ART 란?

📌 개념

ART는 Adaptive Resonance Theory로, 기존 패턴에 대한 지식을 지우지 않고 새로운 학습에서 유지하기 위해 노력한다. 이는 마치 기존의 고유진동수에 맞게 진동이 일어나 발생하는 "공명" 현상과 비슷해 적응적 공명 이론이라고 불린다.

📌 등장 배경

ART 이전에 등장했던 신경망들은 새로운 패턴을 추가하면 전부를 다시 학습하는 식이였다. 그 예로 다층 퍼셉트론을 살펴보면, 다층 퍼셉트론은 새로운 훈련 벡터가 추가되면 가중치 값을 갱신함으로서 전에 학습한 모든 것을 파괴한다. 그러나 ART는 기존의 지식이 새 지식에 의해 지워지지 않도록 일관성 있게 통합한다.

📌 ART의 종류

  • ART1: 입력패턴이 이진값(binary)인 경우에만 처리가 가능한 네트워크
  • ART2: 입력패턴이 실수값(아날로그 입력 데이터)인 경우에도 처리가 가능한 네트워크
  • ART3: 화학적 전달 물질을 ART 네트워크에 접합한 네트워크
  • 그 외 fuzzy ART, distributed ATR, ARTMAP, fuzzy ARTMAP 등...

📌 장단점

  • 장점: 기존의 지식이 새 재식에 의해 지워지지 않는다.
  • 단점: 기억용량이 극히 제한적이다.

 

🎨 ART2 알고리즘 (학습 방법)

ART2 학습 방법에 대해 간단한 예시와 함께 설명을 해보겠다.

1. 클러스터(승자) 선택 👉🏻 by. minimum distance

  • 새로운 학습 패턴이 주어지면 minimum distance를 승자(클러스터)로 선택한다.

만약 'a 교실'의 가중치가 0점이고 'b 교실'의 가중치가 100점이라고 할 때, 새로운 학습 패턴 58점과 61점은 'b 교실'을 승자로 선택할 것이다.

2. 클러스터 in/out 여부 확인 👉🏻 by. Vigilance test

  • 최소한의 한계값(클러스터의 반경) 내에 들어오는지 확인하는 Vigilance test를 거친다.
    ✳︎ 참고로 한계값이 작을수록, 더 많은 클러스터가 생성된다.

만약 'b교실'에는 60점(한계값) 이상만 들어갈 수 있다고 하면, 58점은 vigilance test를 실패하고 61점은 vigilance test를 통과한다.

3. 클러스터 가중치(W) 수정 or 생성

✔️ 가중치 수정

  • 만약 승자가 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점이 된다.

🎨 Quiz.

문제 1

아래와 같이 패턴이 하나씩 들어왔을 때 ART2 알고리즘을 적용하여 클러스터를 분류해보아라.

이때, vigilance threshold는 1.5 라고 가정한다.

정답

 

문제 2

위의 문제 1의 상황에서 Cluster 1가 간암, Cluster 2가 페암, Cluster 3가 방광암의 임상 데이터라 해보자. 오늘 병원에서 내원한 환자의 혈액 검사의 결과가 (1.0, 1.0)이라고 하면, 이 환자는 어떤 암으로 추정되는가?

정답


따라서 이 환자는 간암으로 추정된다.

 

🎨 파이썬으로 알고리즘 구현

필자는 ART2 알고리즘을 파이썬으로 구현해보았다.
아래 링크를 통해 들어가서 확인해 볼 수 있다!

ART2 파이썬 알고리즘:
https://github.com/YeoJiSu/Artificial_Neural_Network/blob/main/ART2.py

 

GitHub - YeoJiSu/Artificial_Neural_Network: 인공신경망을 학습하고, 파이썬으로 구현해 본다.

인공신경망을 학습하고, 파이썬으로 구현해 본다. Contribute to YeoJiSu/Artificial_Neural_Network development by creating an account on GitHub.

github.com

 

🎨 기타

ART2 괸련 논문 : ART2 알고리즘을 이용한 애견 진단 시스템, Journal of Digital Contents Society Vol. 10 No. 2 Jun. 2009(pp. 327-332)

 

원문보기 - ScienceON

 

scienceon.kisti.re.kr

 

반응형