(김경환 교수님의 자료와 수업을 통해 제작되었습니다.)
6.4 Error surfaces
이전 장에서 다룬 BP는 gradient descent에 기반하기 때문에, error surface 자체를 탐구하여 알고리즘에 대한 이해와 직관을 얻을 수 있다고 한다. 또한, gradient descent를 진행하며 발생하는 오류, global minimum과 local minima. 목표는 global minimum을 찾는 것이 목적이 되겠지만 그 값까지 찾아가는 경로에서 gradient=0이 발생하는 경우 어떻게 다뤄야 하는 것인지에 대해 다뤄본다.
위 경우는 점 하나로 각 클래스를 구분할 수 있는 linearly separable한 경우이다. w가 -1과 1사이에 존재한다면 간단한 neural network 만을 통해 error=0인 경우가 존재한다.
linearly separable하지 않은 경우에도 w 스페이스에서 J를 정의한다. 이 경우에는 어떠한 경우에도 error=0인 경우는 없게 될 것이다.
XOR 문제를 다루기 위해서는 input과 output layer 사이에 hidden layer 하나를 넣어서 3개의 layer가 필요하다. (책에 따라 2개라고 부를 수 있다.) 네트웍의 에러는 하나로 묶어서 보는 것보다 더 부드럽게 나타나는 것을 확인할 수 있고, 이는 출력에 각각의 weight가 기여하는 정도가 작아졌기 때문이다.
[larger networks]
큰 네트워크일 수록, 모델에 대한 파라미터 수가 많을수록 가중치가 변함에 따라 에러가 바뀌는 양상이 더 부드러워질 수 있다. 가중치가 많을 수록 네트워크가 local minimum에 빠질 위험이 적다. 하지만, 차원이 커지면서 overfitting의 문제가 존재할 것이다.
6.5 Backpropagation as feature map
XOR 문제는 3층의 layer가 필요했고, 2층의 layer로 설계가 불가하였다. 이에 따라 위 그림에서 hidden layer를 포함한 neural network를 보여주고, 위 그림중 아래 그림에서 학습이 진행됨에 따라 y공간에서 linearly separable해지도록 움직이는 모습을 보여준다. y 공간이라는 것은 입력 x에서 hidden layer를 거쳐 출력으로 나온 공간에 해당한다. hidden layer의 function은 nonlinear function으로 정하게 되고, 이는 phi function을 구하는 과정과 비슷하게 생각할 수 있다.
학습이 진행되며 왼쪽위와 오른쪽 아래에 존재했던 점들이 둘다 왼쪽위로 올라가게 되면서 decision boundary가 plane으로 정의 가능하게 되었다. 또한 아래 그림중 오른쪽 그림을 보면 각각의 pattern에 대한 error와 total error의 차이를 볼 수 있는데, total error가 감소하도록 학습이 진행되므로 total error는 단조감소하나, individual pattern에 대해서는 그렇지 않은 모습을 보인다.
3 bit address로 들어온 data에 대해 1의 개수가 홀수 짝수인지의 여부를 알아내는 parity circuit를 설계하고자 한다. input 3, hidden 3, output 1로 하여 모델을 구성하여 학습한 결과가 위와 같다. 1의 개수가 홀수인 경우에는 1, 짝수인 경우를 0으로 하여 class가 두개로 설정되며, 이 두개의 클래스는 mesh된 평면에 의해 분리됨을 보인다.
3-3-1에 대해서는 학습이 잘 되었으나, 2-2-1에 대해서는 학습이 되지 않는 모습을 보여준다. layer 내의 unit 수에 따라 임의의 함수를 표현하는 힘, expressive power가 줄어들게 되는 것이다. 2-3-1에서는 학습이 plane을 기준으로 linearly separable한 모습을 볼 수 있다.
이 그림은 교수님이 좋아하는 예시라고 한다. ELF에서 공통점과 차이점을 살펴보면 왼쪽 세로선은 모두 동일한 것으로 확인할 수 있고, 파란색 타원으로 나타낸 부분이 차이점을 볼 수 있다. 오른쪽의 모습은 64 to 2 (input to hidden)로 가는 과정에서 생기는 각각의 weight가 64개씩 2개 존재할 것이고, 이를 8x8로 나타낸 것이다. 이를 보면 왼쪽 막대기에 대한 부분은 모두 동일하여 크게 신경쓰지 않고, 오른쪽 가로선의 개수로 정하게 될 것이라는 것을 시각적으로 확인할 수 있게 된다.
또한 가우시안 노이즈를 섞어 데이터의 학습에 도움이 되도록 한 점을 볼 수 있다.
6.6 Backpropagation, Bayes theory and probability
앞에서 나타낸 layer들의 출력 값들은 훈련 데이터가 무한하게 주어지면 출력들은 확률로 나올 수 있다고 한다. 하지만, 훈련 데이터가 유한한 경우 출력은 확률을 나타내지 않을 것이고, 그들의 합이 1이 될 보장도 없게 될 것이다. 네트워크는 각 label에 대한 확률을 알고자 하는 것이 목적이 될 것이므로, 확률의 형태로 나타내고자 다음과 같이 나타낸다.
이를 softmax 방법이라고 하며, 최대출력이 1로 되고, 다른 것은 0으로 되는 것과 비슷한 방법이 될 것이다. 각 출력의 합을 1로 만들어 확률의 값을 갖도록 한다.
Reference
- pattern classification by richard o. duda
'Review > Pattern Classification' 카테고리의 다른 글
[패턴인식]Chapter 7.1-2 Stochastic Methods (0) | 2022.11.24 |
---|---|
[패턴인식]Chapter 6.8 Practical techniques for improving backpropagation (0) | 2022.11.17 |
[패턴인식]Chapter 6.1~3 Multilayer Neural Networks (0) | 2022.11.17 |
[패턴인식]Chapter 5.7~8 Nonseparable behavior (0) | 2022.11.03 |
[패턴인식]Chapter 5.6 Relaxation Procedures (0) | 2022.11.03 |