꺼내먹는지식 준

Neural Net, Multi-layer Perceptron 본문

AI/딥러닝 기초

Neural Net, Multi-layer Perceptron

알 수 없는 사용자 2022. 2. 7. 11:00

Neural Net 

포유류의 뇌 신경망을 모방하고자 하는 시스템, 다만 에매하게 모방을 했다. 

사람이 날고 싶어서 새를 모방한 기계를 만들었었다.

라이트 형제가 만든 비행기는 새처럼 생기지 않았었다. 

최근에는 더 다르다. 

뉴런도 마찬가지다. 처음에는 동작 방법을 모방에서 시작을 했지만, 최근 트렌드는 모방과는 너무 다르게 갈라졌다. 

이에 따라 왜 잘 되는지를 모델 자체만 놓고 수학적으로 분석하는 것이 더 좋을 수 있다. 

 

뉴럴 네트워크는 행렬을 곱하고 비선형 연산이 반복적으로 이루어져 우리가 만들고자 하는 function 의 function approximator이다. 

 

Linear Neural Network 

기울기가 있고 절편이 있다. 즉 2개의 파라미터. 

출력값과 우리의 예측값의 차이를 줄이는 것이 목표 

간단한 모델이기에 최적 값을 빠르게 찾는 방법이 있지만, 실제 문제들을 복잡하다. 

이에 따라 loss function이 주어졌을 때, 파라미터가 어느 방향으로 움직일 때 loss 가 줄어드는 지 보고, 미분 방향의 음수 방향으로 끌고나가면 최저 값을 찾을 수 있다.

실제 모델은 레이어도 여러개 이고, 비선형 함수도 필요하다.

(multi dimension의 경우 행렬을 사용하면 된다.)

(행렬에 대한 해석: 서로 다른 백터 공간 사이의 mapping)

 

이건 선형 layer 한개와 다를게 없다. 

이에 따라 비선형 함수가 꼭 필요 

 

비선형 함수는 무엇이 있을까? 

문제 상황 마다 비선형 함수가 다르게 필요하다. 

 

뉴럴 넷이 왜 잘되는가에 대한 한가지 가설 

: hidden layer 가 하나 있는 뉴럴 넷은 대부분의 continuous, measurable function을 근사할 수 있다. 

우리가 원하는 근사까지 맞출 수도 있다. 

이 말이 무언가 하면, 이 세상 어딘가에는 그러한 neural net 이 존재할 수 있다는 뜻, 다만 어떻게 찾을지는 모른다. 

 

Layer가 여러개라서 Multi-layer Perceptron 

Loss 

회귀 

outlier 가 있으면 뉴럴넷이 망가질 수 있다. 

Loss function에 대해 깊게 이해하자. 

분류

분류를 위해서는 y hat 의 값만 다른 값 대비 높게 하는 것이 목적이다. 값의 크기는 중요하지 않다. 

 

확률

결과값이 단순한 숫자가 아니라 확률 값도 즉 uncertatinty, confidence 확률을 가지고 싶을 때 사용한다. 

Comments