다층 퍼셉트론 학습: 최적 성능을 위한 검증된 전략
은닉 노드 층 추가로 퍼셉트론 성능 크게 높일 수 있지만, 은닉 노드 때문에 학습이 좀 더 복잡해집니다.
AAC 신경망 시리즈에서 데이터 분류, 특히 퍼셉트론 종류에 대해 배워왔습니다.
아래 시리즈 복습하거나 이 새 글에서 다층 퍼셉트론(MLP) 신경망 기초 설명 들어갑니다.
- 신경망으로 분류 수행: 퍼셉트론이란?
- 단순 퍼셉트론 예제로 데이터 분류하기
- 기본 퍼셉트론 신경망 학습시키기
- 단순 신경망 학습 이해
- 신경망 학습 이론 입문
- 신경망의 학습률 이해
- 다층 퍼셉트론으로 고급 머신러닝
- 시그모이드 활성화 함수: 다층 퍼셉트론에서의 활성화
- 다층 퍼셉트론 신경망 학습시키기
- 다층 퍼셉트론의 학습 공식과 역전파 이해
- Python 구현을 위한 신경망 아키텍처
- Python으로 다층 퍼셉트론 신경망 만들기
- 신경망을 이용한 신호 처리: 신경망 설계에서의 검증
- 신경망용 학습 데이터셋: Python 신경망 학습 및 검증
다층 퍼셉트론 신경망이란?
이전 글에서 단일층 퍼셉트론이 현대 신경망 아키텍처 기대 성능 낼 수 없음 보임. 선형 분리 가능 함수만 가능한 시스템은 실생활 신호 처리 시나리오 발생 복잡한 입출력 관계 근사 불가. 해법은 다층 퍼셉트론(MLP):

은닉층 추가로 네트워크가 "보편 근사자" 돼 극도로 정교한 분류 달성. 하지만 신경망 가치는 전적으로 학습 품질에 달림. 풍부 다양한 학습 데이터와 효과적 학습 절차 없인 네트워크 절대 입력 샘플 분류 "학습" 못함.
왜 은닉층이 학습 복잡하게 만드나?
이전 글에서 단일층 퍼셉트론 학습에 쓴 학습 규칙:
\[w_{new} = w+(\alpha\times(output_{expected}-output_{calculated})\times input)\]
이 방정식 내재된 가정: 관측 출력 기반 가중치 업데이트라 단일층 퍼셉트론 가중치가 출력값 직접 영향 줘야 작동. 수도꼭지 뜨거운/찬물 노브 돌려 온도 맞추듯 전체 온도와 노브 액션 관계 직관적, 수학 싫어해도 조금 만지다 원하는 온도 찾음.
하지만 뜨거운/찬물 파이프 흐름이 노브 위치와 복잡한 비선형 관계라 상상해보세요. 뜨거운 물 노브 천천히 돌려도 유량 불규칙 변동. 찬물 노브도 마찬가지. 두 혼란스런 제어 관계 조합으로 "출력" 달성해야 하니 이상적 온도 맞추기 훨씬 어려움.
이게 은닉층 딜레마 제 이해. 입력-은닉 가중치는 개념상 저 기계적 불규칙 노브와 유사—입력-은닉 가중치가 출력층 직접 경로 없으니 이 가중치와 네트워크 출력 관계 너무 복잡해 위 단순 학습 규칙 효과 없음.
새로운 학습 패러다임
원래 퍼셉트론 학습 규칙 다층 네트워크 적용 불가하니 학습 전략 재고 필요. 그래디언트 디센트와 오차 함수 최소화 도입.
한가지 명심: 이 학습 절차 다층 신경망 전용 아님. 그래디언트 디센트 일반 최적화 이론서 유래, MLP용 학습 절차 단일층 네트워크에도 적용 가능. 하지만 제 이해엔 MLP 스타일 그래디언트 디센트는 단일층 퍼셉트론엔 (이론적으로) 불필요, 위 단순 규칙이 결국 해내기 때문.
MLP 실제 가중치 업데이트 방정식 유도엔 설명 안 할 위협적 수학 필요. 이 글 나머지 목표: MLP 학습 두 핵심 측면—그래디언트 디센트와 오차 함수—개념적 소개, 다음 글에서 새 활성화 함수 포함해 계속 논의.
그래디언트 디센트
이름 암시하듯 그래디언트 디센트는 기울기 기반으로 오차 함수 최소값 향해 하강. 아래 다이어그램은 그래디언트가 가중치 수정 방법 정보 주는 방식 전달—오차 함수 상 한 점 기울기가 어느 방향 가야 하고 최소값에서 얼마나 먼지 알려줌.

따라서 오차 함수 도함수 계산이 MLP 학습 계산 중요 요소. 실제론 편도함수 필요. 그래디언트 디센트 구현 시 각 가중치 수정은 수정 중인 가중치에 대한 오차 함수 기울기에 비례.
오차 함수 (일명 손실 함수)
신경망 오차 정량화 흔한 방법: 예상(타겟)값과 계산값 차이 제곱 후 모든 출력 노드 합산. "제곱 차이 합" 또는 "제곱오차 합" 등 호칭, LMS(least-mean-square) 약어 쓰임—학습 목표가 평균제곱오차 최소화라서. 오차 함수(E) 수식:
\[E=\frac{1}{2}\sum_k(t_k-o_k)^2\]
k는 출력 노드 범위, t는 타겟 출력값, o는 계산 출력값.
결론
다층 퍼셉트론 성공적 학습 기초 다짐, 다음 글에서 이 흥미로운 주제 계속 탐구.