일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 결정트리
- CNN
- 알파폴드
- 인공신경망
- SVM
- 시그모이드
- 바이오인포매틱스
- 생명정보학
- 자바
- BLaST
- 행렬
- Kaggle
- 이항분포
- AP
- COVID
- Java
- 인공지능
- 바이오파이썬
- 서열정렬
- 인공지능 수학
- 생물정보학
- 딥러닝
- 오류역전파
- ncbi
- MERS
- 캐글
- AP Computer Science A
- 파이썬
- 블록체인
- bioinformatics
- Today
- Total
데이터 과학
손실함수와 역전파 본문
오류역전파(Backpropagation)는 인공신경망에서 가중치(weight)와 편향(bias)을 업데이트하기 위해 사용되는 알고리즘입니다. 이 알고리즘은 손실함수(loss function)의 기울기(gradient)를 계산하여 역방향으로 전파합니다.
그리고, 이러한 역전파 수식을 사용하여 가중치와 편향을 조정하면서 최적화 과정을 진행합니다.
손실함수의 역전파 수식은 다음과 같이 나타낼 수 있습니다. 오류역전파는 기본적으로 미분(chain rule)을 사용하여 계산됩니다. 다음은 출력층과 은닉층에 대한 역전파 수식입니다.
1. 출력층(Output Layer):
출력층의 뉴런은 활성화 함수를 거쳐 출력값을 계산합니다. 이를 식으로 나타내면 다음과 같습니다.
z = w * a + b
y = f(z)
여기서, z는 출력층의 입력값, w는 가중치, a는 이전 층의 출력값, b는 편향, y는 출력값, f는 활성화 함수입니다.
손실함수를 L이라고 할 때, 출력층의 가중치와 편향의 변화율은 다음과 같이 계산할 수 있습니다.
∂L/∂w = ∂L/∂y * ∂y/∂z * ∂z/∂w
∂L/∂b = ∂L/∂y * ∂y/∂z * ∂z/∂b
2. 은닉층(Hidden Layer):
은닉층에서는 출력층과 마찬가지로 입력값을 받아 활성화 함수를 거쳐 출력값을 계산합니다.
이를 식으로 나타내면 다음과 같습니다.
z = w * a + b
a = f(z)
여기서, z는 은닉층의 입력값, w는 가중치, a는 이전 층의 출력값, b는 편향, f는 활성화 함수입니다.
은닉층의 가중치와 편향의 변화율은 다음과 같이 계산할 수 있습니다.
∂L/∂w = (∂L/∂z) * (∂z/∂w) = (∂L/∂a) * (∂a/∂z) * (∂z/∂w)
∂L/∂b = (∂L/∂z) * (∂z/∂b) = (∂L/∂a) * (∂a/∂z) * (∂z/∂b)
오류역전파를 적용할 때, 출력층에서 시작하여 은닉층까지 역방향으로 위의 수식을 사용하여 기울기를 계산하고, 이를 이용하여 가중치와 편향을 업데이트합니다. 이 과정을 반복하여 신경망의 학습을 진행합니다.
'인공지능 > 기초 인공신경망' 카테고리의 다른 글
인공신경망 학습순서 (1) | 2024.06.05 |
---|---|
인공신경망에서 함수 (1) | 2024.03.31 |
chatGPT 원리 (0) | 2023.05.17 |
테일러 급수를 이용한 인공신경망 (0) | 2023.05.16 |
기초인공신경망 - 미분 개요 (0) | 2023.04.03 |