- 2023.03.27
오차 역전파
▷ 오차 역전파 (Back Propagation)
: 다층 퍼셉트론에서의 최적화 과정
- 계산 결과와 정답의 오차에 관여하는 값들의 가중치를 수정하여 오차가 작아지는 방향으로 수정하는 방법
- 역방향(출력층에서 입력층 방향)으로 오차를 전파
동작 원리
: 동일 입력층에 대해 원하는 값이 출력되도록 각 계층의 가중치를 조정하는 방법
- 기존에 설정했던 가중치를 이용해서 net / out 계산
- 가중치에서 전체 오차를 가중치로 편미분한 값을 빼기
- 모든 가중치를 2번 과정 실시
- 위 과정을 학습 횟수만큼 반복
사용 이유
- 미분을 효율적으로 계산할 수 있음
- 수치미분을 사용하지 않고 행렬로 표현되는 수식으로 계산하기 때문에 빠른 계산이 가능해짐
- 계산적 편의성
활성화 함수
▷ 활성화 함수 (Activation Function)
: 노드에 입력된 값들을 비선형 함수에 통과시킨 후 다음 레이어로 전달하는데 쓰이는 함수
- 비선형 함수를 사용하는 이유는 딥러닝 모델의 레이어 층을 깊게 가져갈 수 있기 때문임
- 입력 신호의 총합을 출력신호로 변환하는 함수
- 인공신경망의 은닉층에 사용되는 함수
Sigmoid 함수
: 일정 값을 기준으로 0인지 1인지 구분함으로써 분류하는 방식
- 음수 값을 0에 가깝게 표현해 입력 값이 최종 레이어에 미치는 영향이 적어짐
- 내부 히든층의 깊이가 깊으면 오차율을 계산하기 어려움
- x의 절댓값이 커질수록 미분 값이 소실될 가능성이 있음
- 중심이 0이 아닌 것 때문에 학습이 느려질 수 있음
ReLU (Rectified Linear Unit, 정류된 선형 함수)
: 0보다 작은 값이 나온 경우 0을 반환하고, 0보다 큰 값이 나온 경우 그 값을 그대로 반환하는 함수
- 내부 중간층에 ReLU를 적용하고, 출력층에서만 sigmoid 함수를 적용하면 이전에 비해 정확도 증가
- Sigmoid 함수보다 학습이 빠름 · 연산 비용이 적음 · 구현이 매우 간단
'AI 프로그래밍' 카테고리의 다른 글
히트 맵 (Heat Map)의 개념과 히트맵 작성 예시 python (0) | 2023.04.10 |
---|---|
딥러닝 - 리그오브레전드 승부 예측 모델 (1) | 2023.04.03 |
퍼셉트론과 다층 퍼셉트론, XOR 문제 해결 (1) | 2023.03.27 |
로지스틱 회귀 모델 구현과 시그모이드 함수 (1) | 2023.03.20 |
경사 하강법 (Gradient descent)과 TensorFlow를 이용한 선형회귀 (1) | 2023.03.20 |