rueki

1. Forward Propagation 본문

DL

1. Forward Propagation

륵기 2020. 2. 18. 11:27
728x90
반응형

순전파란 뉴럴 네트워크에서 입력층부터 출력층까지 순서대로 노드 값들을 계산에서 최종적으로

Output을 계산하는 것이다. 위의 그림에서는 은닉층이 하나만 있지만 계속 층을 쌓아도,

층의 신경망을 따라 신호를 전파하는 과정을 거친다.

 

입력층 -> 은닉층 -> 출력 층 순서대로 이동을 하고, 마지막에 결과값이 나옴에따라 결과를 이용해서

가중치를 조절 할 수는 없다.

 

파이썬과 넘파이를 이용해서 입력,출력층, 은닉층 1개가 있는 신경망을 만들어보자

 

입력층 값을 2, 3으로 하고, 첫 번째 가중치를 (1, 1), (-1, 1), 결과층을 출력해내기 위한 가중치를 (2, -1) 로 했을 때,

import numpy as np #넘파이

input_data = np.array([2,3]) #입력 노드 값
weights = {
    'node_0' : np.array([1,1]),
    'node_1' : np.array([-1, 1]),
    'output' : np.array([2,-1])
}

node_0_value = (input_data * weights['node_0']).sum()
node_1_value = (input_data * weights['node_1']).sum()

hidden_layer_values = np.array([node_0_value, node_1_value])
print(hidden_layer_values)


output = (hidden_layer_values * weights['output']).sum()
print(output)

계산했을 때 은닉층은 5와 1이 순서대로 나오고 최종적으로 출력층은 값이 9가 나오게 된다.

행렬 형태로 만들어서 가중치를 각각 곱해서 결과값을 출력하는 구조가 된다.

728x90
반응형

'DL' 카테고리의 다른 글

딥러닝 Optimization 함수 정리  (0) 2020.08.26
Batch Normalization  (0) 2020.07.05
Adam Optimizer (adaptive moment estimation)  (0) 2020.07.05
RNN과 LSTM에 대해서 알아보자  (0) 2020.04.04
2. Activation Function  (0) 2020.02.18
Comments