본문 바로가기
Deep Learning/딥러닝의 정석

[Chapter1] 전방향 신경망, 비선형 뉴런, 소프트맥스 출력층

by hyunnie94 2020. 4. 16.

(이어서)

전방향 신경망(feed forward neural network)


이미지 출처 : https://m.blog.naver.com/PostView.nhn?blogId=zzing0907&logNo=220678753452&proxyReferer=https:%2F%2Fwww.google.com%2F

전방향 신경망은 단일 뉴런이 여러 개로 구성된 모델입니다. k번째 층의 i번째 뉴런과 k+1번째 층의 j번째 뉴런을 연결하는 가중치는 $w_i,j^(k)$ 라고 할 때, 가중치들은 파라미터 벡터 $\theta$를 구성합니다. 우리는 $\theta$의 최적값을 찾는 것으로 신경망의 능력을 판단합니다.

여기서, 연결들은 입력 → 출력 방향으로만 이동합니다. 같은 층의 뉴런들 사이에는 연결이 없고, 출력 → 입력 방향으로의 이동도 없습니다.

 

전방향 신경망 사용시 유의점

  • 은닉층(hidden layer) : 첫 번째 층의 뉴런(입력층)과 마지막 층의 뉴런(출력층) 사이에 끼어있는 층 존재. 은닉층은 학습 시 유용한 특징을 찾는 과정을 자동화해줍니다.
  • 대개 신경망은 은닉층이 입력층보다 뉴런 수가 적습니다.
  • 모든 뉴런의 출력이 다음 층에 있는 모든 뉴런의 입력과 연결될 필요는 없습니다.
  • 입력과 출력은 벡터로 표현됩니다.

뉴런처럼 신경망도 벡터 행렬 연산으로 표현할 수 있습니다.

입력 벡터가 $x = [x_1x_2...x_n]$일 때, 출력 벡터 $y = [y_1y_2...y_m]$를 찾는다고 하면, $n*m$ 크기의 가중치 행렬 W과 m 크기의 바이어스 벡터로 구성한다고 하면 간단한 행렬곱으로 표현할 수 있습니다. 

즉, $y=f(W^Tx + b)$ 이죠.

비선형 뉴런


선형 뉴런이란 신경세포체에 해당하는 f 함수가 선형인 뉴런을 뜻합니다. 지금까지 도입한 모델에선 뉴런이 모두 선형 뉴런이였죠. 선형 뉴런으로만 이루어진 신경망은 은닉층이 없습니다. 그러나 은닉층이 없으면 특징을 학습시 한계를 가집니다. 따라서 비선형 뉴런을 사용해야 하죠.

비선형성을 도입한 대표적 뉴런은 3가지가 있습니다.

 

1. 시그모이드 뉴런

$f(z) = \frac{1}{1+e^-z}$

로짓이 아주 작을 때 logistic 뉴런의 결과가 0에 매우 가깝고 로짓이 클 때는 1에 가까워짐

y축 범위가 [0,1].

s자 형태 

 

2. tanh 뉴런

$f(z) = tanh(z)$

똑같이 s자 비선형 형태이나, y 결과값 범위가 [-1,1]

0이 중심이어서 위의 시그모이드보다 선호되는 경향이 있다.

 

 

3. ReLU(Restricted linear unit, 렐루, 제한된 선형 유닛) 뉴런

$f(z) = max(0,z)$

단점이 몇가지 있음에도 자주 사용됨. 그 이유에 대해서는 5장에서 자세히 설명.

◎ 소프트맥스 출력층


 

소프트맥스 층은 확률분포처럼 모든 로짓($z$)의 합이 1이되게 하는 출력값을 제공하는 층입니다.

확률 분포 개념을 도입하면 [0이나올확률1이나올확률2가나올확률...] 꼴의 출력값을 가지게 될것입니다.

즉, 출력벡터는 $[p_0p_1p_2...p_9]$ 형태로 나타나고,  $\sum_{i=0}^{9}p_i = 1$입니다.

따라서 $z_i$를 i번째 소포트맥스 뉴런의 로짓이라고 하면, 이것의 출력은 다음과 같이 정규화할 수 있습니다.

$y_i = \frac{e^z_i}{\sum_{j}e^z_i}$

 

그렇다면 왜 굳이 출력벡터를 확률 분포 형태로 나타낼까요?

확률 분포를 사용하면 우리가 예측한 것의 신뢰도를 보기 쉽게 나타낼 수 있습니다.

강한 예측은 출력층에서의 그 값이 1에 가깝고 나머지는 0에 가까울것입니다. 반대로 약한 예측은 가능성이 거의 같은 레이블을 가지게 됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

댓글