본문 바로가기

AI Theory

[boostcourse beyond ai] Nueral Network

Neural Networks

function approximators that stack affine transforamtions followed by nonlinear transformations.

예를 들어, 이미지라는 텐서가 주어졌을때 label이 나오는 모델이 있다고 할때, 우리가 찾고자 하는 nnt는 그것을 우리가 정의한 function으로 정의하는 function approximators이고, 행렬곱(affine transformation) 비선형 연산으로 함수를 수행.

 

가장 간단한 nn은 linear neural networks

역전파

우리의 목적은 loss함수를 최소화하는 것이다.

내 파라미터가 어느 방향으로 움직였을 때 loss function이 줄어드는지를 찾고 해당 방향으로 파라미터를 변경해야 함.

loss function을 파라미터값으로 미분한 뒤 그 방향의 음수 방향으로 파라미터를 update 하면 loss가 최소화되는 지점에 이르게 됨.

위의 방식을 반복하는 것을 gradient decent라고 함.

 

 

이렇게 gradient decent 수행시 eta라는 step 변수가 매우 중요.

eta가 너무 크거나 작으면 gradient 정보는 local 정보기 때문에 학습이 안됨.

 

딥려닝의 층을 쌓는다고 할때 그냥 쌓기만 하면 결국 행렬의 곱에 지나지 않는다.

따라서 nonlineal transform 즉 activation 함수를 사용해 설명력을 최대화한다.

 

multi layer perceptron

 

어떤 nonlineal transform를 사용할까?

뭐가 좋은지는 문제마다 다름

 

 

loss function?

잘 선택해야함.

예를 들어서 모델에 mse을 사용할 경우, trainset에 매우 큰 outlier 존재시 모델이 해당 값을 맞추려다 망가질 수 있음.