Multi-Layer Perceptron (MLP)
XOR 문제
- 앞서 이야기했던 XOR문제를 어떻게 풀어야 할까?
- 해답은 그림 그대로 선을 하나 더 긋는 것이다.
- 두 직선 안과 밖으로 나눌 수 있게 된다.
- 이를 신경망으로 다음과 같이 나타낼 수 있다.
- 이를 이용해 xor 문제를 풀어보면
- xor문제를 해결할 수 있다.
- Nand, Or 방법으로 풀수도 있다.
- 초록색을 기준으로 나누고, 파란색으로 나누고
- 다시 이를 조합해 나눈다.
다층 퍼셉트론
MLP는 입력층과 1개 이상의 은닉층, 출력층으로 구성된다.
MLP는 은닉층을 이용해서 단순 선형 분류 문제가 아닌 고차원의 문제도 풀 수 있다.
Linear Model vs Neural Network
- 선형 모델은 다음과 같다.
- 뉴럴 네트워크 모델은 다음과 같다.
- 은닉층 1개
- 은닉층 1개
값은 은닉층의 가중치이다.
두 모델의 차이점은 다음과 같다.
- 선형 모델 : Basis fixed
- 뉴럴 모델 : Adaptive basis
즉 선형 모델은 basis fuction이 고정되어 있지만
뉴럴 모델은 은닉층을 통과하면서 basis function이 바뀌게 된다.
Activation Functions
사용 이유
- 활성화 함수를 이용해 선형성을 비 선형으로 꼬아준다.
- 만약 이 작업이 없다면 하나의 큰 선형 모델과 다르지 않다.
- 즉 층 사이에 비 선형성을 넣어주지 않으면, 아무리 층이 깊어도 하나의 층과 다르지 않다.
- 비 선형 활성화 함수가 있는 심층 신경망은 어떤 연속 함수도 근사 가능하다.
ReLU
장점
- 많이 사용된다.
- compute cost가 적다.
- Converges faster
- Sparsely activated
단점
- Dying ReLU : 특정 뉴런이 죽어버린다.
- 음의 값은 항상 0으로 출력해버리는 문제
ReLU에서 0 점인 경우는 Sub Gradient를 사용해야 한다.
not differentiable