자기조직화 지도
1. 개요
자기조직화 지도(SOM)는 인공 신경망의 한 종류로, 고차원 데이터를 저차원 공간으로 매핑하여 시각화하고 데이터의 특징을 추출하는 데 사용된다. SOM은 뇌의 시각 피질의 자기 조직화 방식을 모방하여, 입력 데이터에 가장 가까운 뉴런을 찾아 해당 뉴런과 이웃 뉴런의 가중치를 조정하는 경쟁 학습 방식을 사용한다. 온라인 학습과 배치 학습 방식이 있으며, U-Matrix, 히트맵 등을 통해 SOM의 결과를 해석하고 시각화할 수 있다. SOM은 차원 축소, 군집화, 위상 보존 등의 특징을 가지며, 프로젝트 우선순위 결정, 지진 분석, 고장 모드 분석 등 다양한 분야에 활용된다. GTM, GSOM, 탄성 지도 등 다양한 확장 및 변형이 이루어졌다.
-
클러스터 분석 알고리즘 -
기댓값 최대화 알고리즘
-
클러스터 분석 알고리즘 -
계층적 군집화
계층적 군집화는 데이터 개체들을 계층적인 클러스터 구조로 조직화하는 군집 분석 방법으로, 개별 객체에서 시작하여 점진적으로 클러스터를 병합하거나 전체 데이터 셋에서 시작하여 클러스터를 분할하는 방식으로 진행되며, 덴드로그램을 통해 시각적으로 표현되고 다양한 연결 기준과 알고리즘을 사용해 데이터 특성에 맞는 클러스터링 결과를 제공한다. -
신경망 -
환각 (인공지능)
인공지능 환각은 인공지능이 사실이 아닌 정보를 사실처럼 생성하는 현상으로, 대규모 언어 모델의 부정확한 정보 생성 문제를 설명하기 위해 사용되며, 데이터 불일치, 모델 오류, 훈련 데이터 부족 등이 원인으로 발생하여 다양한 완화 기술이 연구되고 있다. -
신경망 -
신경가소성
-
차원 축소 -
독립 성분 분석
독립 성분 분석(ICA)은 데이터가 통계적으로 독립적인 성분들의 혼합이라는 가정하에, 데이터에서 독립적인 성분들을 찾아내는 통계적 계산 방법으로, 다양한 알고리즘 개발을 거쳐 블라인드 신호 분리, 뇌파 분석, 얼굴 인식 등 여러 분야에 응용된다. -
차원 축소 -
특징 선택
2. 역사적 배경
자기조직화 지도는 입력층과 경쟁층(출력층)으로 구성된 2층 구조의 비지도 학습 신경망이다. 입력은 수치 데이터이며, 출력은 경쟁층에 배치된 노드가 된다. 경쟁층의 노드 배치 차원은 자유롭게 설정할 수 있는데, 가장 기본적인 활용법은 2차원 위에 노드를 배치하고, 고차원 데이터를 학습시켜 고차원 데이터의 관계성을 시각화하는 것이다. 이처럼 자기조직화 지도는 고차원 데이터 간에 존재하는 비선형 관계를 간단하게 기하학적 관계를 갖는 이미지로 변환할 수 있다.
현재 자기조직화 지도에는 다양한 변형이 있으며, 기존의 자기조직화 지도를 기본 SOM (Basic SOM, BSOM)이라고 부르기도 한다. 하지만 BSOM이라는 약칭은 배치 학습 SOM (Batch Learning SOM, BL-SOM)과 혼동될 수 있으므로 바람직하지 않다.
2.1. 초기 모델
자기조직화 지도는 대뇌 피질의 시각야가 기둥 구조를 가지며, 이 구조가 학습에 의해 얻어진다는 점을 모델화한 것이다. 1976년 Willshaw와 Von Der Malsburg에 의해 제안되었다.
2.2. 코호넨의 공헌
1976년 Willshaw와 Von Der Malsburg는 대뇌 피질 시각야에서의 기둥 구조 자기 조직화를 모델화한 자기조직화 지도를 제안했다. 이 기둥 구조는 생득적인 것이 아니라 학습에 의해 얻어지는 것이다.
3. 알고리즘
자기 조직화 지도(SOM)는 훈련과 매핑이라는 두 가지 모드로 작동한다. 훈련은 입력 데이터 집합을 사용하여 입력 데이터의 저차원 표현(지도 공간)을 생성하고, 매핑은 생성된 지도를 사용하여 추가 입력 데이터를 분류한다.
훈련의 목표는 p 차원의 입력 공간을 2차원의 지도 공간으로 표현하는 것이다. 지도 공간은 2차원의 육각형 또는 직사각형 그리드로 배열된 "노드" 또는 "뉴런"으로 구성된다. 각 노드는 입력 공간에서 해당 노드의 위치를 나타내는 "가중치" 벡터와 연관되어 있다. 지도 공간의 노드는 고정되어 있지만, 훈련은 가중치 벡터를 입력 데이터 쪽으로 이동(예: 유클리드 거리 감소)시키는 방식으로 이루어진다.
훈련 후에는 가중치 벡터가 입력 공간 벡터에 가장 가까운 노드를 찾아 추가적인 입력 데이터를 분류할 수 있다.
SOM 알고리즘에는 온라인 학습 모델과 배치 학습 모델이 있다. 온라인 학습 모델은 데이터가 입력될 때마다 학습이 이루어지며, 최근에 입력된 데이터에 더 큰 가중치를 부여한다. 각 뉴런의 초기값은 무작위로 설정된다. 반면, 배치 학습 모델은 모든 데이터를 분류한 후 한 번에 학습을 진행한다.
SOM의 실제 학습 과정은 벡터 양자화를 참고한다.
3.1. 학습 단계
자기조직화 지도(SOM)는 훈련과 매핑이라는 두 가지 모드로 작동한다. 훈련은 입력 데이터를 사용하여 저차원 표현(지도 공간)을 생성하고, 매핑은 생성된 지도를 사용하여 추가 입력 데이터를 분류한다.
학습 목표는 네트워크의 서로 다른 부분이 특정 입력 패턴에 유사하게 반응하도록 하는 것이다. 이는 대뇌 피질에서 시각, 청각 등의 감각 정보가 별도 부분에서 처리되는 방식에서 부분적으로 영감을 받았다.
뉴런의 가중치는 작은 임의 값으로 초기화되거나, 두 개의 가장 큰 주성분 고유 벡터로 구성된 하위 공간에서 균등하게 샘플링된다. 후자의 경우 초기 가중치가 이미 SOM 가중치를 잘 근사하기 때문에 학습이 훨씬 빠르다.
학습은 경쟁 학습을 활용한다. 학습 예제가 네트워크에 제공되면, 모든 가중치 벡터에 대한 유클리드 거리가 계산된다. 입력과 가중치 벡터가 가장 유사한 뉴런을 최적 적합 유닛(BMU)이라고 한다. SOM 그리드에서 BMU와 그 근처 뉴런의 가중치는 입력 벡터를 향해 조정된다. 변경 크기는 시간과 BMU로부터의 그리드 거리에 따라 감소한다.
가중치 벡터 Wv(s)를 가진 뉴런 v의 업데이트 공식은 다음과 같다.
:
여기서,
* s는 단계 인덱스
* t는 학습 샘플의 인덱스
* u는 입력 벡터 D(t)에 대한 BMU의 인덱스
* α(s)는 단조 감소 학습 계수
* θ(u, v, s)는 뉴런 u와 단계 s의 뉴런 v 사이의 거리를 제공하는 근방 함수이다.
구현에 따라 학습 데이터 집합을 체계적으로 스캔하거나, 무작위로 추출하거나, 다른 샘플링 방법을 사용할 수 있다.
근방 함수 θ(u, v, s)는 BMU (뉴런 u)와 뉴런 v 사이의 그리드 거리에 따라 달라진다. 가장 간단한 형태는 BMU에 충분히 가까운 모든 뉴런에 대해 1이고 나머지는 0이지만, 가우스 함수 및 멕시코 모자 웨이블릿 함수도 일반적인 선택이다. 근방 함수는 시간이 지남에 따라 축소된다. 근방이 넓은 초기에 자기 조직화는 전역적인 규모로 발생하고, 근방이 몇 개의 뉴런으로 축소되면 가중치가 로컬 추정치로 수렴된다.
이 과정은 각 입력 벡터에 대해 반복된다. 네트워크는 결국 출력 노드를 입력 데이터 집합의 그룹 또는 패턴과 연결하며, 이러한 패턴의 이름을 지정할 수 있으면 훈련된 네트워크의 관련 노드에 이름을 첨부할 수 있다.
매핑하는 동안 입력 벡터에 가중치 벡터가 가장 가까운 단일 승리 뉴런이 존재하며, 이는 유클리드 거리 계산으로 결정된다.
SOM의 주요 설계 선택은 형태, 이웃 함수 및 학습률 스케줄이다. 이웃 함수의 아이디어는 BMU가 가장 많이 업데이트되도록 하고, 바로 옆의 이웃은 조금 덜 업데이트되도록 하는 것이다. 학습률 스케줄의 아이디어는 맵 업데이트가 처음에는 크고 점차 업데이트를 중지하도록 하는 것이다.
업데이트율은 유클리드 공간에서 점의 위치가 아닌 SOM 자체 내에서의 위치에 의존한다.
SOM의 알고리즘에는 온라인 학습 모델과 배치 학습 모델이 있다.
3.1.1. 온라인 학습 (Online Learning)
자기 조직화 지도(SOM)의 학습 목표는 네트워크의 서로 다른 부분이 특정 입력 패턴에 유사하게 반응하도록 만드는 것이다. 이는 대뇌 피질에서 시각, 청각 등의 감각 정보가 별도 부분에서 처리되는 방식에서 부분적으로 영감을 받았다.
뉴런의 가중치는 작은 임의 값으로 초기화되거나, 두 개의 가장 큰 주성분 고유 벡터로 구성된 하위 공간에서 균등하게 샘플링된다. 후자의 경우 초기 가중치가 이미 SOM 가중치를 잘 근사하기 때문에 학습이 훨씬 빠르다.
온라인 학습은 경쟁 학습을 활용한다. 학습 예제가 네트워크에 제공되면, 모든 가중치 벡터에 대한 유클리드 거리가 계산된다. 입력과 가중치 벡터가 가장 유사한 뉴런을 최적 적합 유닛(BMU)이라고 한다. SOM 그리드에서 BMU와 그 근처 뉴런의 가중치는 입력 벡터를 향해 조정된다. 변경 크기는 시간과 BMU로부터의 그리드 거리에 따라 감소한다. 가중치 벡터 Wv(s)를 가진 뉴런 v의 업데이트 공식은 다음과 같다.
:
여기서,
* s는 단계 인덱스
* t는 학습 샘플의 인덱스
* u는 입력 벡터 D(t)에 대한 BMU의 인덱스
* α(s)는 단조 감소 학습 계수
* θ(u, v, s)는 뉴런 u와 단계 s의 뉴런 v 사이의 거리를 제공하는 근방 함수
구현에 따라 학습 데이터 집합을 체계적으로 스캔하거나, 무작위로 추출하거나, 다른 샘플링 방법을 사용할 수 있다.
근방 함수 θ(u, v, s)는 BMU (뉴런 u)와 뉴런 v 사이의 그리드 거리에 따라 달라진다. 가장 간단한 형태는 BMU에 충분히 가까운 모든 뉴런에 대해 1이고 나머지는 0이지만, 가우스 함수 및 멕시코 모자 웨이블릿 함수도 일반적인 선택이다. 근방 함수는 시간이 지남에 따라 축소된다. 근방이 넓은 초기에 자기 조직화는 전역적인 규모로 발생하고, 근방이 몇 개의 뉴런으로 축소되면 가중치가 로컬 추정치로 수렴된다.
이 과정은 각 입력 벡터에 대해 반복된다. 네트워크는 결국 출력 노드를 입력 데이터 집합의 그룹 또는 패턴과 연결하며, 이러한 패턴의 이름을 지정할 수 있으면 훈련된 네트워크의 관련 노드에 이름을 첨부할 수 있다.
매핑하는 동안 입력 벡터에 가중치 벡터가 가장 가까운 단일 승리 뉴런이 존재하며, 이는 유클리드 거리 계산으로 결정된다.
SOM의 알고리즘은 다음과 같이 요약할 수 있다.
1. 맵에서 노드 가중치 벡터를 무작위로 초기화한다.
2. 입력 벡터 를 무작위로 선택한다.
3. 맵에서 입력 벡터에 가장 가까운 노드(BMU)를 찾는다.
4. 각 노드 에 대해, 입력 벡터에 가깝게 벡터를 업데이트한다:
5. 를 증가시키면서 2-4단계를 반복한다.
SOM의 주요 설계 선택은 형태, 이웃 함수 및 학습률 스케줄이다. 이웃 함수의 아이디어는 BMU가 가장 많이 업데이트되도록 하고, 바로 옆의 이웃은 조금 덜 업데이트되도록 하는 것이다. 학습률 스케줄의 아이디어는 맵 업데이트가 처음에는 크고 점차 업데이트를 중지하도록 하는 것이다.
예를 들어, 사각형 그리드를 사용하고, 를 사용하여 인덱싱할 수 있으며 (), 이웃 함수는 다음과 같이 만들 수 있다.