m0ng5he1l.log
로그인
m0ng5he1l.log
로그인
오차역전파법 (BACKPROPAGATION)
m0ng5he1l
·
2022년 7월 5일
팔로우
0
딥러닝
0
딥러닝 공부
목록 보기
4/7
계산 그래프 (Computational Graph)
계산 과정을 그래프로 나타낸 것
복수의 노드(Node)와 에지(Edge, 노드 사이의 직선)로 표현됨
순전파(Forward Propagation) : 계산을 왼쪽에서 오른쪽으로 진행하는 단계
역전파(Backward Propagation) : 계산을 오른쪽에서 왼쪽으로 진행하는 단계
계산 그래프의 이점
역전파를 통해 미분을 효율적으로 계산할 수 있음
국소적 계산 : 자신과 직접 관계된 정보만으로 결과 출력
연쇄법칙 (Chain Rule)
계산 그래프의 역전파 예시
f(x) =
x
2
x^2
x
2
라면,
∂
y
/
∂
x
=
2
x
∂y/∂x = 2x
∂
y
/
∂
x
=
2
x
합성 함수 : 여러 함수로 구성된 함수.
연쇄 법칙 : 합성 함수의 미분에 대한 성질로, 합성 함수의 미분은 합성 함수를 구성하는 각 함수의 미분의 곱으로 나타낼 수 있음
역전파가 하는 일은 연쇄 법칙의 원리와 같음
역전파
덧셈 노드의 역전파
z = x+y
덧셈 노드 역전파는 입력 신호를 다음 노드로 출력할 뿐이므로 그대로 다음 노드로 전달함
곱셈 노드의 역전파
z = xy
곱셈 노드 역전파는 상류의 값에 순전파 때의 입력 신호들을 서로 바꾼 값을 곱해서 하류로 전달함
그러므로 순방향 입력 신호의 값이 필요하므로 곱셈 노드를 구현할 때는 순전파의 입력 신호를 변수에 저장
활성화 함수 계층
ReLU 계층
순전파 때의 입력 x가 0보다 크면 상류의 값 그대로 하류로 전달
순전파 때의 입력 x가 0 이하면 하류로 신호를 보내지 않음(0 전달)
Sigmoid 계층
y
2
e
x
p
(
−
x
)
=
y
(
1
−
y
)
y^2exp(-x) = y(1-y)
y
2
e
x
p
(
−
x
)
=
y
(
1
−
y
)
Affine 계층
어파인 변환 : 신경망의 순전파 때 수행하는 행렬의 곱
Affine 계층의 역전파 : X 하나에 대한 순전파하는 경우의 역전파
배치용 Affine 계층의 역전파 : 데이터 N개를 묶어 순전파하는 경우의 역전파
Softmax-with-Loss 계층
Softmax-with-Loss 계층 : 입력값을 정규화(출력의 합이 1이 되도록 변형)하여 출력
Softmax 계층 - 입력 : a1, a2, a3 / 정규화한 출력 : y1, y2, y3
Cross Entropy Error 계층 - 입력 : Softmax의 출력과 정답 레이블(t1, t2, t3) / 출력 : 손실 L
오차역전파법 구현
신경망 계층을 순서가 있는 딕셔너리에 보관하여 순전파 때 추가한 순서대로 역전파 때 반대로 호출
기울기 확인 : 오차역전파법은 구현에서 오류가 생기기 쉬우므로 수치 미분 방법으로 실행한 결과와 일치하는지 확인하는 작업을 함. 만약 기울기의 차가 매우 작으면 이는 실수 없이 구현했다고 신뢰됨 (오차가 0이 되는 일은 드묾)
m0ng5he1l
통통
팔로우
이전 포스트
신경망 학습
다음 포스트
신경망 학습 기술
0개의 댓글
댓글 작성
관련 채용 정보