머신러닝

[머신러닝] 표기법과 피드 포워드

jmkimmessi 2020. 8. 4. 00:00
반응형

 

예시 모델

 

표기법(notation)

 

계층 간 가중치 표기법(weight notation)

 

가중치 $w^{(2)}_{21} \Rightarrow$ 계층 2의 노드에 적용되는 가중치로서,

1 계층의 노드 1에서 2 계층의 노드 2로 전달되는 신호를 강화 또는 약화시키는 가중치(즉, 가중치에서의 아래 숫자는 다음 계층의 노드 번호가 먼저 나온다.)

 

노드의 바이어스 표기법(bias notation)

 

바이어스 $b^{(2)}_{1} \Rightarrow $ 계층 2에 있는 첫 번째 노드에 적용되는 바이어스

 

노드의 선형 회귀 계산 값 표기법(linear regression notation)

 

선형 회귀 계산 값 $x^{(2)}_{2} \Rightarrow$ 계층 2의 두 번째 노드 선형 회귀(linear regression) 계산 값

($z^{(2)}_{2} = x_{1}w^{(2)}_{21} + x_{2}w^{(2)}_{22}+b^{(2)}_{2}$)

 

노드의 출력 표기법(node output notation)

 

노드의 출력 값 $a^{(2)}_{2} \Rightarrow $ 계층 2의 두 번째 노드 출력 값으로서, 로지스틱 회귀(logistic regression) 계산 값

활성화 함수로서 sigmoid 사용한다면 $a^{(2)}_{2} = sigmoid(z^{(2)}_{2})$

 

피드 포워드(feed forward)

 

입력 층(input layer)으로 데이터가 입력되고,

1개 이상으로 구성되는 은닉 층(hidden layer)을 거쳐서 마지막에 있는 출력층(output layer)으로 출력 값을 내보내는 과정

 

(이전 층에서 나온 출력 값 $\Rightarrow$ 층과 층 사이에 적용되는 가중치의 영향 받음 $\Rightarrow$ 다음 층의 입력 값)

 

피드 포워드(feed forward) 예시 과정

 

입력 층(input layer) 출력

 

딥러닝 입력 층에서는 활성화 함수인 sigmoid를 적용하지 않고,

입력 값 그대로 출력으로 내보내는 것이 관례

 

일반 식 : $a^{(1)}_{1} = x_{1} \;\;\; a^{(1)}_{2} = x_{2}$

 

행렬 식 : $\begin{pmatrix} a^{(1)}_{1} & a^{(1)}_{2} \end{pmatrix} = \begin{pmatrix} x_{1} & x_{2} \end{pmatrix} $

 

은닉 층(hidden layer) 선형 회귀 값

 

일반 식 : 

$z^{(2)}_{1} = a^{(1)}_{1}w^{(2)}_{11} + a^{(1)}_{2}w^{(2)}_{12} + b^{(2)}_{1}$

$z^{(2)}_{2} = a^{(1)}_{1}w^{(2)}_{21} + a^{(1)}_{2}w^{(2)}_{22} + b^{(2)}_{2}$

 

행렬 식 :

$\begin{pmatrix} z^{(2)}_{1} & z^{(2)}_{2} \end{pmatrix} = \begin{pmatrix} a^{(1)}_{1} & a^{(1)}_{2} \end{pmatrix} \cdot \begin{pmatrix} w^{(2)}_{11} & w^{(2)}_{21} \\ w^{(2)}_{12} & w^{(2)}_{22} \end{pmatrix} + \begin{pmatrix} b^{(2)}_{1} & b^{(2)}_{2} \end{pmatrix}$

 

은닉 층(hidden layer) 출력

 

$a^{(2)}_{1} = sigmoid(z^{(2)}_{1}) \;\;\; a^{(2)}_{2} = sigmoid(z^{(2)}_{2}) $

 

출력 층(output layer)  선형 회귀 값

 

일반 식 : 

$z^{(3)}_{1} = a^{(2)}_{1}w^{(3)}_{11} + a^{(2)}_{2}w^{(3)}_{12}+b^{(3)}_{1}$

 

행렬 식 :

$\begin {pmatrix} z^{(3)}_{1} \end{pmatrix} = \begin{pmatrix} a^{(2)}_{1} & a^{(2)}_{2} \end{pmatrix} \cdot \begin{pmatrix} w^{(3)}_{11} \\ w^{(3)}_{12} \end{pmatrix} + \begin{pmatrix} b^{(3)}_{1} \end{pmatrix}$

 

출력 층(output layer) 출력

 

$ y = a^{(3)}_{1} = sigmoid(z^{(3)}_{1})$

 

y는 정답 t와의 차이인 오차(loss)가 최소가 되도록 각 층에 있는 가중치와 바이어스를 조정해주어야 한다.

반응형