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

지수토리·2022년 10월 8일
0

Intelligent System

목록 보기
6/14

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


신경회로망의 학습 방법예시
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 이 된다.

0개의 댓글