용's
[#2] BAM (Bidirectional Associative Memory) 본문
[#2] BAM (Bidirectional Associative Memory)
TaeYOng's 2015. 11. 29. 21:34※ 선 지식: 홉필드_네트워크(Hopfield_Network)
먼저, 홉필드 네트워크는 특정 패턴(문자, 신호 등등)을 학습시킨 후 노이즈(Noise)가 들어간 패턴을 입력했을 시 근접한 패턴을 인식하는 연상 메모리의 기능을 할 수 있었다.
연상 메모리에는 두 가지의 유형인 자동연상 메모리(Autoassociative Memory), 이종연상 메모리(Heteroassociative Memory)이 있다.
자동 연상 메모리(Autoassociative Memory)
= 어떤 데이터(Piece of data)의 일부분만을 이용하여 그 어떤 데이터를 연상할 수 있는 메모리
= 하나의 기억이 완벽히 구성 혹은 교정되어질 수 있음
= 기억된 데이터로 다른 기억을 연상할 수 없음
= 입력벡터를 적용한 바로 그 뉴런에 출력벡터가 나타나는 단층구조
예) A → A / B → B 와 같이 A라는 패턴은 A만을 연상할 수 있고 B라는 패턴은 B만을 연상할 수 있음
이종 연상 메모리(Heteroassociative Memory)
= 서로 다른 카테고리에 있는 데이터를 연상할 수 있는 메모리. 즉, 서로 다른 기억을 연상할 수 있음
= 자동 연상 메모리와 같이 파괴된 입력에대한 올바른 출력을 생성하는 일반화 능력을 가짐
= 노이즈가 섞인 표본에서 원하는 출력을 얻도록 특징을 추출하는 추상화 능력
예) A → 1 / B → 2 와 같이 A라는 패턴이 A가 아닌 1을 연상할 수 있고 B라는 패턴은 B가 아닌 2라는 패턴을 연상할 수 있음
여기서 홉필드는 자동 연상 메모리에 속하는 알고리즘이며, 이번 포스팅에서 소개할 BAM은 이종 연상 메모리에 속한다.
BAM(Bidirectional Associative Memory) 구조
이름에서 알 수 있듯이, 두 벡터 공간 사이의 동시적인 사상을 수행한다. 따라서 구조는 다음 그림과 같이 두 층으로 구성되어 있으며, 각층의 출력은 다른 층에 완전 연결된 구조를 가진다.
그림1. BAM 기본 구조
= 학습데이터(Training Data)가 L개의 정돈된 벡터쌍 이라면, X는 입력, Y는 출력
= W는 X로부터 Y로의 가중치 행렬이라고 하면, 보간적 연상 메모리(Interpolative Associative Memory)을 위한 가중치는 다음과 같다.
= 반대로, Y에서 X로의 연결 가중치는 W의 전치행렬과 같다.
= 보간적 연상 메모리(Interpolative Associative Memory)는
(1) 만약 가 훈력 벡터들의 일원이면 를 만족하는 X로 부터 Y로의 사상을 수행하고,
(2) 만약 임의의 어떤 다른 보다도 에 더 가까운 임의의 가 주어질 때는 의 사상을 수행한다.
(예를 들면, 와 같이 학습을 시켜놓았을 시, 가 A이면 이 나오며 가 는 아니면서 도 아니지만 에 더 가깝다면 역시 가 나온다)
= Unit을 활성화시키는 방법으로는 다음과 같이 설정한다.
= 알고리즘
(1) 가중치 행렬을 초기화. 입력 벡터를 X, Y층에 동시에 입력. 비활성화 상태를 -1로, 활성화 상태를 +1로 사용
(Binary Data를 Bipolar Data로 수정)
(2) 식 을 사용하여 다른 층에 입력 패턴을 전파 (여기서 NET는 를 말한다)
(3) 위의 활성화 함수 를 사용하여 목적지 층에서 새로운 활성 패턴(Activation Pattern)을 계산
(4) 식 를 사용하여 새로운 활성 패턴을 다시 출발 층으로 전파.
(여기까지 진행을 하면, 원본 패턴이 나올 수 도 있고 노이즈가 약간 제거된 형태의 패턴이 나올 수도 있음.
(5) 양쪽 층에서 활성화 된 패턴이 변화를 멈출 때까지 위의 (2)~(5)를 반복
예)
= 훈련 벡터가 다음과 같으면
(1) Bipolar Data로 수정한 뒤 W를 계산한다.
(2)
(3) 가 되고 이는 과 동일함을 확인할 수 있다
(4)
(5) 가 되고 이는 와 동일함을 확인할 수 있다
그럼 위에서 만약 다음의 벡터 이 주어졌을 때,
(2)
(3) 이고 이는 와 동일
(4)
(5) 이고 이는 와 동일함을 확인함으로써 은 로 결과가 나옴을 확인할 수 있다.
= 연결가중치에 의해 주어지는 신경망의 구조를 에너지 풍경(Energy Landscape)처럼 설명할 수 있음.
(1) 입력 패턴 벡터에 의해 설명되는 시스템의 초기상태는 에너지 풍경에서의 한점을 나타낸다.
(2) 만약 입력 벡터가 훈련 벡터 중 하나와 일치된다면, 시작점은 에너지 최소점(Energy Minima)의 하나이고, 만약 입력벡터가 훈력벡터의 집합에 있는 패턴과 다를 경우 시작점은 에너지 풍경에서의 높은 위치에너지상의 한 점이다.
(3) 새로운 패턴을 층들 사이에 계속적으로 반복시키는 것은 시스템에서의 에너지를 낮추는 것이며, 결국 신경망은 가장 일치되는 입력 패턴과 그와 관련된 출력이거나 그러한 패턴들의 보수를 나타내는 각 층에 있는 유닛들의 활성화인 상태로 정착한다.
= BAM의 연결 가중치는 초기화 후 변화되지 않기 때문에 패턴 정합(Pattern Matching)과 연상 기억 회상(Associative Memory Recall)은 입력 패턴 벡터에 의해 결정되는 에너지 풍경상에서의 한 점으로부터 시작하여, 연결 가중치 행렬에 의해 정의되는 Lyapunov 함수를 최소화함으로서 달성될 수 있는 것.
'Computer Science > Intelligence System' 카테고리의 다른 글
[#5] 퍼지 이론(Fuzzy Theory) (2) | 2015.12.01 |
---|---|
[#4] 역전파(Backpropagation) (0) | 2015.11.30 |
[#3] Perceptron (0) | 2015.11.30 |
[#1] 홉필드 네트워크(Hopfield Network) (0) | 2015.11.27 |
[#0] 지능형 시스템(신경회로망 배경지식) (0) | 2015.11.25 |