본 < 지능형 시스템 > 시리즈는 부산대 정보컴퓨터공학과 차의영 교수님의 '지능형 시스템' 강의에서 배운 내용을 바탕으로 작성합니다.
신경회로망의 학습 방법 | 예시 |
---|---|
1. 지도 학습 | Rosenblatt의 퍼셉트론(단층), 다층 퍼셉트론 |
2. 비지도 학습 | SOM |
3. 고정 가중치 | 홉필드 네트워크 |
├── input layer
| : 입력 패턴을 받아들이는 층
|
└── competitive layer
: 일반적으로 2차원의 fully connected grid
: 입력X가중치 한 후, 단 하나의 승자 unit을 찾기 위해 경쟁.
➡️ 전체적인 동작이 comptetive learning paradigm와 유사하나, 수정할 weight 를 선택하는 방법과 식 등이 다름.
뉴런의 연결강도 벡터를 임의값으로 적당히 초기화한다.
연결강도 벡터와 입력 벡터가 0~1사이의 정규화된 값이다.
(1) 연결강도를 0~1 사이의 작은 값으로 초기화한다.
(2) 새로운 입력을 제시한다.
(3) 입력과 각 출력 unit j 사이의 거리 Dj를 계산한다.
(4) 최소거리 Dj 인 출력 뉴런 j* 을 선택한다.
(5) Neighbourhood size Nj*(t)에 의해 정의되는 neighbour 와 unit j* 을 위한 weight를 수정한다.
새로운 가중치 = 이전 가중치 + 변화량
(6) 단계 (2)로 돌아감.
< 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 >
3가지 다른 폰트를 Kohonen self-organizing map을 이용하여 분류하는 예제
총 세가지 방법
1. No topological structure
2. Linear structure
3. Diamond structure
No topological structure
: 25개의 노드를 경쟁층에 두고 승자 뉴런 J만을 학습
Linear structure
: 승자 노드 J와 이웃 노드 J-1, J+1을 학습
Diamond structure
: 승자 노드 J와 4-neighborhood 노드를 학습
신경망 그림 | 결과 | |
---|---|---|
1 | ➡️ j 만 고친다 | ➡️ 클러스터 5 군데 |
2 | ➡️ j 주변도 고친다 | ➡️ 클러스터 9군데 |
3 | ➡️ 주위 네 개를 학습 | ➡️ 더욱 정교하게 |
Question )
영문자 26개 + 숫자 10개 = 총 36개의 input 값을 학습시킨다고 하자. 각각 얼마나 많은 뉴런이 필요할까 ?
Answer )
Question )
그러면 위의 경우의 예에서 Weight 행렬의 크기는 ? 이때 문자 디자인을 Hopfield Network의 20X16 = 320 을 기준으로 하자.
Answer )
320 X 6 개
320 X 20 X 16 개
최소 뉴런 개수가 241개 였다.
20X13, 20X14 등..있지만, 20X16을 채택한다면 320X20X16이 된다.
320 X 10 X 10 개
최소 뉴런 개수가 36개 였다.
2차원 경쟁층을 고려하여 10X10 을 채택한다면 320X10X10 이 된다.