본문 바로가기

취업준비/인공지능

[AI Tech] 5주차 21-1차시 뉴럴 네트워크 - MLP

21차시: 딥러닝 기초 - 2

21-1. 뉴럴 네트워크 - MLP

Neural Networks란?

위키피디아의 뉴럴 네트워크 정의

인간의 뇌를 모방했기 때문으로 뉴럴 네트워크가 좋다는 설명도 있지만, 반드시 그런 것은 아니다.

뉴런의 구조

굳이 인간의 뇌 구조에 빗대어 설명할 필요는 없는 것 같다.

Ciément Ader's Avion III (1897): 새를 모방

Write Brothers (1903): 공기 역학을 이용

F-22 Raptor: 새와는 모습이 많이 달라짐

새처럼 날고 싶은 인간의 욕구의 변화

우리가 항상 날고 싶다고 해서 새처럼 만들 필요는 없다

→ 뉴럴 네트워크도 시작은 인간의 뇌를 모방했을지라도 작금에서는 그럴 필요는 없다.

이미 구조가 많이 달라졌고, 올바른 방향은 수학적으로 증명하는 것이다.

수학적 정의의 뉴럴 네트워크

비선형 연산이 반복적으로 이루어진 모델 = 뉴럴 네트워크

GoogLeNet

블록들이 반복적으로 일어났다고 볼 수도 있다.

ResNet

함수를 모방하는 function approximator로도 볼 수 있다.

 

Linear Neural Networks

Linear Neural Networks

W와 b를 찾는 것이 우리의 목적이다. loss를 정해야 한다.

회귀 문제의 loss는 제곱을 사용하면 된다.

우리의 목적은 나의 N개의 데이터를 잘 설명하는 모델을 설계하는 것이다.

Partial Derivative of W

N개의 데이터를 모두 활용했을 때의 W의 편미분이다.

Gradient Descent

특정 Step Size만큼 뺌으로써 새롭게 업데이트할 수 있다.

이런 점에서 Gradient Descent(경사하강법)이다.

여기서 ← 는 update를, n은 학습률을 의미한다.

행렬

물론, 다차원 입출력도 다룰 수 있다.

두 벡터 공간 사이의 선형 변환을 찾음으로 해결할 수 있다.

간단히

이렇게 쓸 수 있다.

 

Beyond Linear Neural Networks

다차원

다차원에서는 hidden layer를 활용할 수 있다.

비선형

여러 활성함수를 통해 비선형 변환을 쓸 수 있다.

Activation Functions

어떤게 제일 좋을지는 아무도 모른다. 다만, deep 하게 쌓을 때 효과적이다.

왜 layer를 쌓을 수록 좋은지

hidden layer가 하나라도 있는 것은 우리가 원하는 대부분의 continuous function을 표현할 수 있다.

(하지만, 이것이 존재성만을 따지는 것이다. → 내가 만든 뉴럴 네트워크가 이 성질을 가진다고 단정할 수 없다.)

 

Multi-Layer Perception

물론, 깊게 갈 수도 있다.

3개 layer

Loss Function에 따라서

Regression Task

Outlayer가 있을 때 에러가 굉장히 큰 타겟 데이터에 맞추려다가 오류가 발생할 수 있다.

Classification Task

그 차원에 해당하는 출력값을 키우는 것.

Accuracy 관점에서 다른 값 대비 높기만 하면 되지만, 이를 수학적으로 표현하기 어려우니까 크로스 엔트로피 를 사용한다.

Probabilistic Task

 

 

 

 

© NAVER Connect Foundation. All Rights Reserved