datascience/DL 4

Backpropagation(역전파) - 코드로 구해보기

XOR문제를 해결하는 과정에서 역전파의 적용을 코드로 구현해보고자 한다. $x_{1}$ $x_{1}$ output 0 0 0 0 1 1 1 0 1 1 1 0 기본 값 및 함수 설정 import random import numpy as np random.seed(777) # 입력값 및 타겟값 XOR문제 data = [ [[0, 0], [0]], [[0, 1], [1]], [[1, 0], [1]], [[1, 1], [0]] ] # 실행 횟수(iterations), 학습률(lr), 모멘텀 계수(mo) 설정 iterations=5000 lr=0.1 mo=0.4 XOR문제를 나타내는 입력값과 타겟값을 data에 저장하고 역전파 구현을 위한 변수인 실행 횟수, 학습률, 모멘텀 계수를 설정해주었다. # 활성화 함수 ..

datascience/DL 2021.06.06

Backpropagation(역전파) - 은닉층 가중치 업데이트 계산식 도출

2021.05.22 - [AI/DL] - Backpropagation(역전파) - 가중치 업데이트 계산식 도출1 Backpropagation(역전파) - 가중치 업데이트 계산식 도출1 입력값과 은닉층 그리고 출력층에서 주어지는 수는 각각 2개씩이다. 가중치의 합은 $a$로 활성화 함수는 $\sigma$(sigmoid function)로 주어진다. $w_{31}$(출력층의 가중치)의 가중치 업데이트 계산식 도 patrickstar-jjh.tistory.com 이전 글에 이어서 이번에는 은닉층의 가중치를 업데이트 하는 계산식에 대해 알아보고자 한다. $w_{11}$(은닉층의 가중치)의 가중치 업데이트 계산식 산출 기초적인 식인 $w_{11}(t+1)=w_{11}(t)-\frac{\partial error}{..

datascience/DL 2021.05.25

Backpropagation(역전파) - 출력층 가중치 업데이트 계산식 도출

입력값과 은닉층 그리고 출력층에서 주어지는 수는 각각 2개씩이다. 가중치의 합은 $a$로 활성화 함수는 $\sigma$(sigmoid function)로 주어진다. $w_{31}$(출력층의 가중치)의 가중치 업데이트 계산식 도출 기초적인 식인 $w_{31}(t+1)=w_{31}(t)-\frac{\partial error}{\partial w_{31}}$에서 $\frac{\partial error}{\partial w_{31}}$를 구하고자 한다 여기서 $error=\frac{1}{2}(y_{t1}-y_{1})^{2}+\frac{1}{2}(y_{t2}-y_{2})^{2}$ 이다. (각 출력값의 MSE의 합) 체인룰에 의해 $\frac{\partial error }{\partial w_{31}}=$ $\fr..

datascience/DL 2021.05.22

딥러닝 순전파 실습(퍼셉트론 계산과정)

딥러닝에서 가장 기본적인 순전파과정에 대한 실습 입력값 $x_{1}$과 $x_{2}$에 각각 가중치 $w_{1}$과 $w_{2}$를 곱한 값을 활성화함수로 계산하여 0 혹은 1로 y값 도출 import numpy as np # 입력층 -> 은닉층(1층) X = np.array([10, 20]) W1 = np.array([[0.1, 0.3, 0.5], [0.2, 0.4, 0.6]]) # weight 2x3개 B1 = np.array([1, 2, 3]) # bias 3개 def sigmoid(x): # 활성화 함수 return 1 / (1 + np.exp(-x)) A1 = np.dot(X, W1) + B1 Z1 = sigmoid(A1) print('A1 :', A1) # 입력신호 print('Z1 :', Z..

datascience/DL 2021.05.16