2. Hebbian Learning/Rule
● 1949 Donald Hebb에 의해 뉴런의 시냅스에 기반한 학습의 법칙을
발표
● 신경회로망이 정답을 내도록 기여한 뉴런들간의 연결은 강화시키고,
반대의 경우는 연결을 약화시키는 과정을 반복하는 것이다.
● W = old_W + alpha * a * b
○ Alpha = learning rate
● Wij = Wji 가중치 행렬이 대칭
3. 홉필드 네트워크 (HOPFIELD NETWORK)
● 물리학적 스핀 모델로부터 Hopfield network 를 착안하였으며 에너지
개념을 신경망에 처음으로 도입
● 안정상태 도달을 위한 제약
○ 노드간 연결 가중치가 대칭적, (Wij = Wji)
○ 완전히 비동기적으로 (asynchronously) 동작할 때만 안정된 상태에 도달
● 입력값이 임계값을 넘으면 흥분하고 그 이하이면 억제됨:
4. 홉필드 네트워크 (HOPFIELD NETWORK)
● Hopfield network 는 뉴런의 작용을 단지 임계값의 작용으로 보고,
훈련에 의한 정보가 연결강도(Weight)에 의해 표현된다는 간단한
이론에 기초하고 있으며, 연상기억 (associative memory) 이나
순회판매원 문제 (Traveling Salesman Problem) 와 같은 최적화
(optimization) 문제를 해결하는데 있어 매우 유용하다.
● Hopfield network 는 전역적, 지역적 최적화를 수행할 뿐만 아니라
연상 기억장치 (associative memory) 로서도 효과적으로 작동한다.
6. 홉필드 네트워크 - associative memory
● 연상 기억(associative memory)
○ 문맥 지정성 기억 (context-addressable memory)이라고 하며, 패턴들의 집합에서
학습하고 한번 본 패턴을 기억하고 가장 비슷한 패턴을 인식
● 적용분야
○ 이미지 노이즈 제거
○ 부분적인 이미지로 부터 원본 전체 이미지 다시 생성
7. McCulloch-Pitts Model
● 1943년 Warren McCulloch과 Walter
Pitts 에 의해 제안된 신경 시스템 모델
○ 인간의 두뇌를 논리적 서술을 구현하는 이진
원소들의 결합으로 추측했는데, 이진 원소인
뉴런은 on이나 off 상태를 나타낸다.
■ 뉴런의 활동은 'All or nothing'의 과정이다.
■ 어떤 뉴런을 흥분되게 (excited) 하려면 2개 이상의 고정된
수의 시냅스가 일정한 시간내에 활성화 (activated) 되어야
한다.
■ 신경 시스템에서 유일하게 의미있는 시간지연 (delay) 은
시냅스에서의 지연 (synaptic delay) 이다.
■ 어떠한 억제적인 (inhibitory) 시냅스는 그 시각의 뉴런의
활성화(activation)를 절대적으로 방지한다.
■ 네트워크의 연결 구조는 시간에 따라 바뀌지 않는다.
8. 홉필드 네트워크
● Hopfield network의 유니트들은 그림에서
보는 바와 같이 fully connected되어
있어서 각 유니트는 다른 모든 유니트들과
서로 직접적인 연결 경로를 갖는다.
● 이 연결선들에는 유니트들 상호간에
대칭적인 가중치(Weight)가 존재한다.
● Hopfield network는 자신을 제외한 모든
유니트들간의 양방향으로 상호연결된
network
9. 홉필드 네트워크 - 연상 기억 장치 만들기
: 활성화 함수
: 가중치, N=학습패턴 수, Si(n)=입력패턴 n에 대한 뉴런 i의 활성화, 1/N=학습률
10. ● 2진 이미지 재 생성 예제
○ 각 그림의 픽셀에 대해서 하나의 뉴런을 갖고, Si= 1은 검은 픽셀값, Si=-1은 흰
픽셀값을 위해 사용한다.
○ 하나의 입력 패턴에 대해서 홉필드 네트워크는 이미지를 수정한다.
○ 이미지를 바탕으로 가중치 값을 설정
홉필드 네트워크 - 연상 기억 장치 만들기
트레이닝한 이미지
■ 네트워크에 손상된
이미지를 입력
■ 각각의 뉴런들은 모든
다른 뉴런값을
바탕으로 활성화를
갱신한다.
■ 마지막에 수렴하는
최종 상태는
네트워크가 학습한
패턴 이 됨
13. 홉필드 네트워크 - 에너지 함수
○ 물리학에서 에너지 함수를 통해 시스템이 얼마의
에너지를 갖고 있는지를 계산하고, 시스템은 낮은 에너지
상태로 완화한다는 아이디어로 사용
○ 네트워크가 안정되면 가중치와 뉴런의 활성화는
같아지는데 이때 에너지는 최소화
○ 지역 최소값에서 네트워크 안정상태
○ 전체 최적값에 도달한다는 보장은 없음
14. 홉필드 네트워크의 한계
● 첫째는 저장되어 있는 패턴의 수와 정확히 회상될 (recall)수 있는
수가 매우 제한적이라는 것이다.
○ 즉, 너무 많은 패턴을 저장하고 있으면 수렴할 때 잘못된 패턴으로 도달할 수 있다.
Hopfield network 는 대표 (exemplar) 패턴이 임의적으로 생성될 때 클래스의
수가 유니트의 수 (N) 나 입력요소 수의 0.15 배 이상일 때 문제가 되며,
○ 일반적으로 클래스의 수가 0.15 N 이하일 때 잘 작동한다.
● 두 번째는 대표패턴이 다른 대표패턴과 유사하여 많은 비트들을
공유한다면 network 가 불안정해진다는 것이다.
○ 즉 하나의 견본이 시각 0일 때 불안정하게 작용될 경우 network 는 다른 패턴으로
수렴하게 된다.
15. 홉필드 네트워크의 수용력
20 * 16 이미지들에 대해서 학습된 320개의 뉴런들은 대략
0.138*320=44개의 이미지를 저장할 수 있다.
● 비트 i가 변경될 확률
● 1% 확률로 이를 수용한다면 N은 약 0.138d의
패턴들을 저장할 수 있음
16. 연속 홉필드 네트워크
● 연속 홉필드의 차이점은 뉴런들이 -1에서 1사이의 값에 대해서
실행되는 활성화 함수를 사용해야 함
○ 활성화 함수로 np.tanh(Hyperbolic tangent)를 사용
○ MLP에서 수행한것과 같은 종류의 변경 수행
○ 2진 역치 값 대신 연속 활성화 함수 사용
● 네트워크 함수에 대한 변화
○ 에너지 함수 최소화 대신에 에너지 함수와 매칭되는 확률 분포에 대한 근사치
○ 뉴런의 활성화에 대한 확률로 0값은 뉴런 비활성화, 1값은 활성화 의미로 사용
17. 광학적인 연상 기억 장치
미국의 휴즈 연구소의 버나드 소퍼 (Bernard H. Soffer) 등에 의해 실험
● 제일 왼쪽의 영상은 본래의 영상
● 중간의 것은 반쪽을 가린 것
● 제일 오른쪽의 것은 회상된 영상
18. 시뮬레이티드 어닐링 (Simulated Annealing)
● 비용 함수 (cost function) 와 자유 에너지 사이의 관계, 그리고
해답과 물리적인 상태의 관계를 정립함으로써 물리적인 담금질 과정의
시뮬레이션에 의거한 조합 최적화 문제의 해결 방안
● 특징은 폭넓은 응용 가능성과 최상에 가까운 해답을 얻을 수 있다는
점이다. 단, 상당히 좋은 해답을 얻는데 걸리는 계산 시간이 엄청나게
길다는 점이다. 그러나 시뮬레이티드 어닐링 알고리즘의 구현시 필요한
시간은 대규모 병렬처리를 기반으로 하는 계산 모델을 사용함으로써
상당히 줄일 수 있는데 그러한 모델 중의 하나가 볼츠만 머신
(Bolzmann machine)
19. 볼츠만 머신(BOLTZMAN MACHINE)
● 신경망과 시뮬레이티드 어닐링으로부터의
흥미로운 성질들을 결합시킨 모델인데 대규모
병렬처리를 이용하는 강력한 계산 장치
● Fully connected되어 있음
● Stochastic model
● Visible neuron(입력 값이 명시될수 있음)
+ Invisible neuron으로 구성
○ 개별 유니트들의 상태를 그들 이웃들의 상태를
조정하기 위하여 시뮬레이티드 어닐링 알고리즘에
의한 확률적인 상태전이 메카니즘이 쓰임
20. 볼츠만 머신 vs 홉필드 네트워크
● 공통점
○ 각 프로세싱 유니트는 +1, -1의 값만 가지며 대칭적 연결
○ 각 유니트는 임의로 선택되며 한 순간에 하나의 유니트만 변화.(No self-feedback)
● 차이점
○
볼츠만 홉필드
Stochastic neuron Deterministic model
unsupervised learning Supervised learning of a probabilistic form
에너지가 증가하는 상태의 전이에 대해서도
허용하는 동작규칙 적용
홉필드는 에너지 감소방향으로만 변화
21. 볼츠만 머신 - 전역 최소값
● 여러 신경망 모델들이 지역 최소점(local minima) 에 빠져서 전역적
최소점 (global minima)을 구할 수 없는 경우도 있는데 비하여
볼츠만 머신에서는 에너지가 증가하는 방향으로의 전이도 가능하므로
전역적 최소값을 구할 수 있음
22. 볼츠만 머신 - 볼츠만 머신을 학습하는 중요한 이유
● 우선 이 모델은 탐사, 표현 및 학습 등에 응용될 수 있는 일반적인
접근 방법을 제시해 줌
● 또한 이 모델은 엄밀한 수학적인 바탕을 통하여 네트워크의 수렴 성질을
제공하며 지도학습이건 자율학습이건 간에 간단한 학습 알고리즘들을
형성할 수 있게 해 준다.
● 마지막으로, 이 모델의 단순성으로 인하여 실리콘 칩에 넣는 하드웨어의
구현이 비교적 쉽다는 것이다.
23. 볼츠만 머신 - 출력값이 1이 될 확률
볼츠만 머신에서는 연결강도의 합 ui(t) 로 부터 다음 시각의 출력
vi(t+1) 을 결정하는 이론에 계단함수 (step function) 대신 확률에
의한 판정이론을 도입했다. 즉 유니트 I 의 다음 시각에서의 출력값
vi(t+1) 이 1 이 될 확률 P 는 (식 1) 에 의해 결정된다.
24. 볼츠만 머신의 학습
● 가시(visible)유니트와 은닉(hidden)유니트로나누어 가시 유니트들의
상태의 평형분포를 원하는 확률분포로 일치하도록 학습
○ (a)자기 상기형:
■ 학습시 제시되는 목표 분포를 그대로
따라서 학습하는 방법
○ (b)상호 상기형:
■ 입력 유니트들의 상태를 고정했을
때의 출력 유니트들의 평형분포를
원하는 확률분포와 일치하도록
학습하는 형태
25. 확률 뉴런 - 볼츠만 머신
● 제한 볼츠만 머신
● CD 알고리즘 유도
● 지도학습
● 유향 신뢰 네트워크
26. 제한 볼츠만 머신 (Restricted Boltzmann machine)
● 볼츠만과 달리 같은 층 내부 노드간의 연결은 없고 층과 층 사이와의
연결만이 있다. 이런 점에서 제한적(Restricted)라고 불리운다.
● 차원 감소, 분류, 선형 회귀 분석, 협업 필터링(collaborative
filtering), 특징값 학습(feature learning) 및 주제 모델링
(topic modelling)에 사용할 수 있는 알고리즘
● RBM은 자체적으로도 사용할 수 있지만 다른 심층 신경망의 학습을 돕기
위해 쓰이기도 함
27. 제한 볼츠만 머신
입력의 가중치합을 계산하여 이를 시그모이드
함수를 통해서 변환 => 확률값으로 해석
, j번째 은닉 뉴런은 0과 1의 값을 출력한다.
σ(net)는 인공신경망에서 활성화 함수로
사용되는 시그모이드 함수
입력 벡터 x가 주어질 때 각각의 뉴런은 서로
독립이라고 가정하면, 은닉벡터 h의 확률
은닉벡터h가 주어지면 입력 뉴런들은 서로
독립이라고 가정
P(x,h)확률과 에너지는
반비례 관계.
28. RBM 학습방법
● RBM의 학습 방법은
○ 입력층 노드값에 Weight를 곱하고 더하고 확률을 구하고
○ 확률에 근거하여 샘플링하여 은닉층의 노드값을 결정
○ 은닉층의 노드값이 결정되면 또 다시 입력층의 노드값들을 같은 방식으로 결정
○ 그러면서 에너지를 최소화하는 방향으로 Weight를 학습하는 것이다.
29. Gibbs sampling
● 두개 이상의 확률 변수의 결합 확률 분포로부터 일련의 표본을 생성하는
확률적 알고리즘으로, 결합 확률 분포나 그에 관련된 확률 계산을
근사하기 위해 사용된다.
● Gibbs sampling은 메트로폴리스-해스팅스 알고리즘의 특별한 예이며,
마르코프 연쇄 몬테 카를로 알고리즘의 한 예이다.
○ 메트로폴리스-해스팅스 알고리즘(Metropolis-Hastings algorithm)
■ 직접적으로 표본을 얻기 어려운 확률 분포로부터 표본의 수열을 생성하는 데
사용하는 기각 표본 추출 알고리즘
■ 제안된 밀도와 제안된 이동을 거부하는 방법을 이용하여 무작위 행보를 생성
○ 마르코프 연쇄 몬테 카를로 알고리즘
■ 마르코프 연쇄의 구성에 기반한 확률 분포로부터 원하는 분포의 정적 분포를
갖는 표본을 추출하는 알고리즘의 한 부류
30. MCMC
● MCMC는 원하는 stationary distribution을 가지는 MC를
design하여 목표로하는 distribution을 만들어내는 알고리즘
family를 일컫는다.
31. Contrastive Divergence
● RBM을 트레이닝하기 위해 사용되는 알고리즘으로 Wake-sleep알고리즘
● 네트워크의 weight, gradient를 구하는 알고리즘
● CD 알고리즘을 요약하면:
○ p(v,h)를 계산하는 MCMC (Gibbs Sampling)의 step을 converge할 때 까지
돌리는 것이 아니라,
○ 한 번만 돌려서 p(v,h)를 approximate하고, 그 값을 사용하여 을
계산해 weight, gradient의 approximation 값을 구한다.
32. 역전파 신경망 vs RBM
● 비슷한점
○ 역전파와 비슷하게 RBM도 입력노드에 Weight를 곱한 다음 시그노이드 함수를 적용해
은닉층의 값을 구하는 방법은 비슷하다.
● 차이점
○ 다만 확률적으로 샘플링해서 구한다. 역전파 신경망에서는 시그모이드(Sigmoid)
결과값이 바로 노드의 출력값이 되지만, RBM에서는 노드의 값을 결정짓기 위한
확률값이다.
○ 역전파 신경망을 생각하면 목표치가 있기에 오류치를 계산하고 오류치 만큼
역전파시켜 학습을 시키는 데 RBM은 단층이기에 목표치가 없다. 그래서 다른 방식의
개념이 필요한데 바로 에너지라는 개념이다. 에너지(E)는 마이너스(-) 부호를 가지고
Weight가 0보다 큰 수 이기에 입력과 출력이 양의 상관 관계에 있을수록 에너지가
작아진다.
가시층 i번째 노드가 1일 때의 확률 분포
33. RBM - 지도학습
● RBM도 홉필드 네트워크와 같이 패턴완성을 수행할수 있음
○ RBM을 발전시켜서 추가적인 소프트맥스층을 사용하면 대칭가중치를 통해 분류를
수행할 수 있음
○ 노드들에는 로지스틱 대신에 소프트 맥스를 활성화 함수로 사용해서 하나의 뉴런만
활성화
○
34. RBM - 심층구조
○ RBM의 은닉층의 학습이 끝나고 나면 이 데이터는 다시 다음 층으로 연결됩니다. 이
두번째 연결에서는 은닉층이 가시층의 역할을 하고, 새로운 추가한 층이 은닉층이
됩니다. 즉, 첫번째 연결에서 은닉층이 학습한 내용을 가지고 다시 새로운 RBM을
학습하는 것입니다.
○ 이런 과정을 층별 탐욕 비지도 선행학습(layerwise, greedy unsupervised
pre-training)이라고 합니다.
○ 이렇게 선행학습이 된 가중치는 데이터의 분포를 이미 알고있기 때문에 이 값으로
초기화한 심층 신뢰 신경망은 더 좋은 성능을 보여줍니다.
○ RBM의 광범위한 활용 사례중에서도 특히 이 선행학습이 아주 유용합니다. 선행학습은
가중치를 학습시킨다는 의미에서 역방향전파(backpropagation)와 유사한 역할을
합니다.
35. 심층 신뢰 네트워크(Deep Belief Networks)
● DBN은 제한 볼쯔만 머신을 빌딩블록으로 해서 여러층을
쌓은 딥러닝 아키텍쳐
○ 심층의 신경망을 학습하는데 있어서 오차 소멸(vanishing
gradient) 문제가 있다. Vanishing gradient 문제를 해결하기
위해서 DBN은 아래층(입력에 가까운 층)에서부터 위층으로 가면서
순차적으로 선행학습을 진행한다. 즉 아래층에 대해서 가중치를
먼저 학습한 후 이 가중치를 고정한 다음 그 다음 층의 가중치를
학습한다. 이 기술은 층별 선행학습 (layerwise pre-training)
이라고 함
○ DBN는 크게 두 가지로 구분된다. 하나는 입력과 같은 출력을 재
생성하도록 하는 오토인코더이고 다른 하나는 분류기로 사용하는
것이다.
37. 딥빌리프네트워크 - 지도학습
● 딥빌리프네트워크는 기본적으로 무감독
학습 구조이다
● 그러나 분류 문제를 풀기 위한
감독학습으로도 사용할 수 있다.
마지막 층의 은닉층을 입력으로 하고
출력층을 추가하여 감독학습을
시킴으로써 분류 문제를 풀 수 있다.
38. 참고자료
● 알고리즘 중심의 머신러닝 가이드 파이썬 코드 기반 (제이펍의 인공지능 시리즈 2 | 2판 ) 17장
● 5 장: 딥빌리프네트워크 (서울대학교) https://bi.snu.ac.kr/Courses/ML2016/LectureNote/LectureNote_ch5.pdf
● Deep Learning for Java https://deeplearning4j.org/kr/restrictedboltzmannmachine