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

[지능형 시스템] Chapter 5. SOM ( 자기조직화지도 Self-Organizing Map )

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

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


신경회로망의 학습 방법 예시
1. 지도 학습 Rosenblatt의 퍼셉트론(단층), 다층 퍼셉트론
2. 비지도 학습 SOM
3. 고정 가중치 홉필드 네트워크

🧠 Kohonen Network

  • SOM (자기조직화지도) 이다.
  • 임의의 시작점에서부터 특징 지도를 구조화할 수 있는 two-layer 네트워크이다.
  • 학습 결과의 map은 네트워크에 주어지는 패턴들 사이의 관계를 나타낸다.
  • 주어진 입력 패턴에 대해 정확한 해답을 가르쳐주지 않고 자기 스스로 학습하는 비지도 학습이다.

✔️ 기본 구조

├── input layer
|    : 입력 패턴을 받아들이는 층
|
└── competitive layer
    : 일반적으로 2차원의 fully connected grid
    : 입력X가중치 한 후, 단 하나의 승자 unit을 찾기 위해 경쟁.

➡️ 전체적인 동작이 comptetive learning paradigm와 유사하나, 수정할 weight 를 선택하는 방법과 식 등이 다름.

✔️ 조건

뉴런의 연결강도 벡터를 임의값으로 적당히 초기화한다.
연결강도 벡터와 입력 벡터가 0~1사이의 정규화된 값이다.

🧠 Kohonen Network Algorithm

(1) 연결강도를 0~1 사이의 작은 값으로 초기화한다.
(2) 새로운 입력을 제시한다.
(3) 입력과 각 출력 unit j 사이의 거리 Dj를 계산한다.

(4) 최소거리 Dj 인 출력 뉴런 j* 을 선택한다.
(5) Neighbourhood size Nj*(t)에 의해 정의되는 neighbour 와 unit j* 을 위한 weight를 수정한다.
새로운 가중치 = 이전 가중치 + 변화량

(6) 단계 (2)로 돌아감.

✔️ 학습률 Learning rate

  • 학습률 계수는 계산 거듭할수록 점점 작아진다.

👩‍🏫 예제

문제 : SOM 으로 4개의 벡터 군집화하기

< SOM 으로 4개의 벡터 군집화하기 >

  • 4개의 벡터 : (1,1,0,0) (0,0,0,1) (1,0,0,0) (0,0,1,1)
  • 최대 군집 수 : m = 2
  • 학습률 :
  • 초기 가중치 행렬 :
  • 초기 반경 : R = 0

경쟁층이 단지 2개의 노드 뿐이기 때문에 이웃 개념은 없다고 가정한다.

풀이

➡️ 지금까지 한 번의 학습이 끝났으므로 학습율을 감소시킨다.

  • 가중치 공식도 수정한다.

➡️ 이런 방법으로 반복 횟수를 계속 수행하게 되면, 결국 결과는 각 cluster에 속하는 벡터들의 평균값이 된다.

문제 : Character Recognition

< Character Recognition >
3가지 다른 폰트를 Kohonen self-organizing map을 이용하여 분류하는 예제

총 세가지 방법

  1. No topological structure
  2. Linear structure
  3. Diamond structure

풀이

  1. No topological structure
    : 25개의 노드를 경쟁층에 두고 승자 뉴런 J만을 학습
  2. Linear structure
    : 승자 노드 J와 이웃 노드 J-1, J+1을 학습
  3. Diamond structure
    : 승자 노드 J와 4-neighborhood 노드를 학습
  신경망 그림 결과
1
➡️ j 만 고친다

➡️ 클러스터 5 군데
2
➡️ j 주변도 고친다

➡️ 클러스터 9군데
3
➡️ 주위 네 개를 학습

➡️ 더욱 정교하게

👩‍🏫 Quiz

Question )

영문자 26개 + 숫자 10개 = 총 36개의 input 값을 학습시킨다고 하자. 각각 얼마나 많은 뉴런이 필요할까 ?

  1. Single-layer Perceptron
  2. Hopfield Network
  3. SOM

Answer )

  1. 6 개
    2의 5승 < 36 < 2의 6승
    따라서 최소 뉴런의 개수는 6개이다.
  2. 241 개
    M < 0.15 N
    36/0.15 = 240 < N
    따라서 241 개이다.
  3. 36 개
    최소 36개보다 크면 보기가 좋고, 골고루 퍼질 공간이 더 넓을수록 좋다.

Question )

그러면 위의 경우의 예에서 Weight 행렬의 크기는 ? 이때 문자 디자인을 Hopfield Network의 20X16 = 320 을 기준으로 하자.

  1. Single-layer Perceptron
  2. Hopfield Network
  3. SOM

Answer )

  1. 320 X 6 개
  2. 320 X 20 X 16 개
    최소 뉴런 개수가 241개 였다.
    20X13, 20X14 등..있지만, 20X16을 채택한다면 320X20X16이 된다.
  3. 320 X 10 X 10 개
    최소 뉴런 개수가 36개 였다.
    2차원 경쟁층을 고려하여 10X10 을 채택한다면 320X10X10 이 된다.
반응형