Ⅰ. 3층 신경망 계산 과정 example
- 계산 과정에 대해서 example이 있어야지 이해하기가 더욱 쉽기에 example을 만들어보았습니다.
- 입력층(0층) 2개 / 1번쨰 은닉층(1층) 3개 / 2번쨰 은닉층(2층) 2개 / 출력층(3층) 2개 로 설정하였습니다.
- 전체적인 계산 과정을 보여드리지만, 빨간색 글씨로 표기한 부분은 따로 표기를 하겠습니다.
(*그래야지 따라가면서 이해가 쉽게 되니깐요.)
Ⅱ. 3층 신경망의 전체적인 계산과정
- 1층 계산
+ 입력값 행렬(x)과 가중치행렬(w)의 행렬곱 연산 후, 편향(b)을 더함
+ 그 이후 활성화 함수를 통과
- 2층 계산
+ 입력값 행렬(x)과 가중치행렬(w)의 행렬곱 연산 후, 편향(b)을 더함
+ 그 이후 활성화 함수를 통과
- 3층 계산
+ 입력값 행렬(x)과 가중치행렬(w)의 행렬곱 연산 후, 편향(b)을 더함
+ 그 이후 활성화 함수를 통과(※ 이떄는 softmax 혹은 그대로 출력)
Ⅲ. MNIST 기반 예시
- MNIST Dataset은 28*28*1(gray image) 이미지 형태의 dataset 입니다.
- 이를 기반으로 예시를 들어보겠습니다.
- 우선 아래와 같이 가정합니다.
+ 2D(28*28*1) 이 아니라 1D로 연산(1*786)
+ MNIST Image 1장 처리
+ 3층 layer 형태이며, 1층에는 50 개 노드 , 2층에는 100개 노드, 3층에는 10개 노드
+ Bias는 생각 X
- 만약 MNIST 이미지 100장을 처리한다고 하면, 아래와 같이 될 것입니다.
+ ( 100 * 784 ) * ( 784 * 50 ) * ( 50 * 100 ) * ( 100 * 10 ) = ( 100 *10 )
계산 과정을 이해하기 위해서는 이전글을 읽어보신 다음, 다시 보면 이해가 될 것 입니다.
'Digital Hardware Design > Deep learning' 카테고리의 다른 글
Batch normalization (0) | 2022.11.23 |
---|---|
weight 설정 (0) | 2022.11.23 |
Weight optimization (0) | 2022.11.23 |
학습(Learning) & 손실함수(Loss function) & 역전파(Backpropagation) (0) | 2022.11.22 |
신경망(Neuron Network) & 활성화 함수(Activation Function) (0) | 2022.11.18 |
댓글