다층 퍼셉트론에서 가중치 업데이트와 역전파 마스터하기
이 글에서는 가중치 업데이트 계산에 사용되는 정확한 방정식을 제시하고 역전파가 다층 퍼셉트론(MLP)의 데이터 학습을 어떻게 가능케 하는지 설명합니다.
AAC 종합 머신러닝 시리즈에 오신 것을 환영합니다.
지금까지 시리즈 요약:
- 신경망으로 분류 수행: 퍼셉트론이란?
- 단순 퍼셉트론 예제로 데이터 분류하기
- 기본 퍼셉트론 신경망 학습시키기
- 단순 신경망 학습 이해
- 신경망 학습 이론 입문
- 신경망의 학습률 이해
- 다층 퍼셉트론으로 고급 머신러닝
- 시그모이드 활성화 함수: 다층 퍼셉트론에서의 활성화
- 다층 퍼셉트론 신경망 학습시키기
- 다층 퍼셉트론의 학습 공식과 역전파 이해
- Python 구현을 위한 신경망 아키텍처
- Python으로 다층 퍼셉트론 신경망 만들기
- 신경망을 이용한 신호 처리: 신경망 설계에서의 검증
- 신경망용 학습 데이터셋: Python 신경망 학습 및 검증
신경망 이론 핵심인 MLP 가중치 미세조정 계산 단계에 도달했습니다. 이 과정은 현대 딥러닝 초석인 역전파 알고리즘 기초.
가중치 업데이트
MLP 학습은 수학적으로 밀집, 용어는 출처마다 다름. 아래 방정식은 Dr. Dustin Stansbury의 명확한 유도에서 가져와 초심자와 실무자 모두 훌륭한 참고자료.
다이어그램은 코드 구현할 아키텍처, 이어지는 방정식은 이 구조에 직접 매핑.

용어 정의
- 사전활성화 (SpreA): 뉴런 활성화 함수 입력 가중합, 들어오는 가중치와 활성화의 닷 프로덕트 계산.
- 사후활성화 (SpostA): 활성화 함수 fA(·) 적용 후 뉴런 출력. 예제에서 로지스틱(시그모이드) 함수 사용.
- 가중치 행렬: 코드에서 ItoH(입력-은닉), HtoO(은닉-출력) 라벨로 모호성 방지.
- 타겟 (T): 학습 샘플 정답 출력.
- 학습률 (LR): 가중치 업데이트 스텝 크기.
- 최종 오차 (FE): SpostA,O – T.
- 오차 신호 (SERROR): FE × 출력 뉴런 활성화 함수 도함수.
- 그래디언트: 특정 가중치의 오차 신호 기여도; 현재 가중치에서 LR × 그래디언트 뺌.
동반 다이어그램은 이 개념들을 문맥에 보여줍니다.

가중치 업데이트 방정식은 제곱오차 합을 각 가중치로 편미분해 유도. 은닉-출력 가중치:
SERROR = FE × fA'(SpreA,O)
gradientHtoO = SERROR × SpostA,H
weightHtoO ← weightHtoO – (LR × gradientHtoO)
입력-은닉 가중치는 오차 추가 레이어 통과 필요:
gradientItoH = SERROR × weightHtoO × fA'(SpreA,H) × input
weightItoH ← weightItoH – (LR × gradientItoH)
역전파
역전파는 은닉 노드 딜레마 해결: 입력-은닉 가중치가 최종 출력에 간접 영향만 주지만, 오차 신호를 네트워크 뒤로 전파하고 나가는 가중치와 활성화 도함수로 스케일링해 그 효과 계산 가능. 이 기법은 딥 모델 학습 기초.
결론
MLP 가중치 업데이트 핵심 방정식과 역전파 메커니즘 해부. 이 개념들은 모든 현대 신경망 애플리케이션 기반, 마스터하면 고급 모델링 문 열림. 다음 연재에서 아키텍처 설계, Python 구현, 검증 기법 더 깊이 다룰 예정.