RECORD AI
Computing Neural Network Output 본문
반응형
Computing Neural Network Output
목표
- neural Network이 정확히 어떻게 출력값을 계산하는지 확인
- logistic regression과 비슷하지만 여러번 반복
preview
- logistic regression
- $z = w^Tx+b$
- $a = \sigma(z)$
이 원은 $z$를 계산하고 활성화 $a$를 $\sigma(z)$로 계산하는 2 step 계산을 나타낸다.
neural network representation
- 위 2 step을 많이 반복한다.
은닉층의 노드 하나를 집중해서 자세히 살펴본다.
1. 노드의 왼쪽이라 생각하고 $z=w^Tx+b$를 계산한다.
- 이 값들은 모두 첫번째 은닉층과 관련됐기 때문에 모두 윗첨자 [1]을 붙여준다.
은닉층의 첫번째 노드이기 때문에 아래첨자 1도 붙여준다.
a of node1
2. $a_1^{[1]}=\sigma(z_1^{[1]})$을 계산한다.
- 신경망의 노드인 원은 이 2 step을 의미
$z_2^{[1]},a$ of node2
3. 두번째 노드도 1,2 step과 같이 계산한다.
4. 나머지 두 노드도 비슷한 계산을 한다.
- $a_i^{[l]}$
$l$ : layer
$i$ : node in layer
노드들에 대한 식
$w_1^{[1]T} = (w_1^{[1]})^T$
- for 문을 써서 구현하면 비효율적 → vectorization
1. compute $z$ as vector
1) $w$를 행렬처럼 쌓으면 열벡터의 전치인 $(4,3)$이 된다.
$w$
column vector의 전치
2) feature $x_1,x_2,x_3$과 곱하면
$w^{[1]}$ and feature $x$
3) dot 연산에 의해 다음과 같이 얻는다.
dot연산한 $w^{[1]}$ and feature $x$
4) $b$를 더해주면 결과의 각 행은 위에서 계산한 네 값과 정확히 일치한다.
vectorizaion output
5) 따라서 이 값은 $ z_1^{[1]}, z_2^{[1]}, z_3^{[1]}, z_4^{[1]}$과 같다.
$ z_1^{[1]}, z_2^{[1]}, z_3^{[1]}, z_4^{[1]}$
$Z^{[1]}$ : 각 $z$를 열벡터로 쌓은 벡터
$ Z^{[1]}$
$W^{[1]}$ : $w$를 쌓아서 만든 (4, 3) 행렬
$b^{[1]}$ : $b$를 쌓아서 만든 (4, 1) 행렬
$ W^{[1]}, b^{[1]}$
2. compute $a$
1) $a^{[1]}$ : $a_1^{[1]}$부터 $a_4^{[1]}$을 stack한 벡터
$a^{[1]}$
2) $\sigma(Z^{[1]})$와 같다.
$\sigma(Z^{[1]})$
- $\sigma$ : $Z^{[1]}$의 각 원소들의 sigmoid 값을 계산하는 함수
노드들에 대한 shape
2NN
Given input x
1. $z^{[1]}=W^{[1]}x+b^{[1]}$
$z^{[1]} : (4,1)$
$W^{[1]} : (4,3)$
$x : (3,1) $ :
- $a^{[0]}$ (feature x의 가명) $=x$, $a^{[2]}=\hat{y}$
2. $a^{[1]}=\sigma (z^{[1]})$
- $a^{[1]} : (4,1)$
- $z^{[1]} : (4,1)$
3. $z^{[2]}=W^{[2]}a^{[1]}+b^{[2]}$
- $W^{[2]} : (1,4)$
- $a^{[1]} : (4,1)$
- $b^{[2]} : (1,1)$
- $z^{[2]} : (1,1)$
4. $a^{[2]}=\sigma (z^{[2]})$
- $a^{[2]} : (1,1)$
- $z^{[2]} : (1,1)$
- 마지막 출력 유닛을 parameter $w,b$를 가지는 logistic regression과 비슷하게 생각하면
$w,b$대신에 $(1,4)$차원 $W^{[2]}$과 $(1,1)$차원 $b^{[2]}$를 쓰는것을 제외하면
$w^{T}=W^{[2]}$, $b=b^{[2]}$와 비슷하다.
정리
- $z=w^{T}x+b$
- $\hat{y}=a=\sigma(z)$ 계산
- 은닉층 : 1개인 신경망에서는 아래를 구현
- 은닉층의 logistic regression 노드들의 출력값 계산
- 출력층의 logistic regression 노드의 출력값 계산
참고 1
반응형
'Deep Learning > basic Neural Networks' 카테고리의 다른 글
Explanation For Vectorized Implementation (0) | 2022.12.26 |
---|---|
Vectorizing Across Multiple Examples (0) | 2022.12.26 |
Neural Network Representation (0) | 2022.12.26 |
Neural Network Overview (0) | 2022.12.26 |
Vectorization Logistic Regression (0) | 2022.12.22 |
Comments