MLP(Multi-Layer Perception, 다층 신경망)
-인공 신경망의 한 종류로 하나 이상의 은닉층을 포함하는 Feedforward 신경망
-복잡한 데이터 패턴을 인식하고 분류, 회귀, 패턴 인식 등의 다양한 작업에 사용

MLP 주요 특징
-
비선형성
비선형성 활성화 함수를 사용하여 선형적으로 구분되지 않는 데이터 처리
-
Feedforward 구조
-MLP는 입력층에서 출력층으로 정보가 순차적으로 전달되는 전향적 구조
-데이터가 여러 은닉층을 거치며 변환
-
역전파 알고리즘
-학습 과정에서는 역전파 알고리즘 (Backpropagation Algorithm)을 사용
-가중치(Weights)와 편향(Biases) 조정 → 주어진 입력에 대한 예측 오류를 최소화하도록 학습
-
범용 근사자
매우 복잡한 함수나 패턴 학습 가능
신경망 발전 과정
-
McCulloch와 Pitts가 신경세포를 모방한 최초의 연산 모형 발표 (1943년)
-
Rosenblatt이 퍼셉트론 발표 (1958년)
-
Minsky가 단층 신경망은 선형 분리가 불가능한 문제를 풀 수 없다고 지적 (1969년)
- 선형 분리성의 제한
XOR 문제와 같은 선형으로 분리 불가능한 문제들에 적용 불가능
- 복잡한 문제 해결 능력 부족
입력과 출력 사이의 복잡한 관계를 모델링하는 데 한계
실세계의 많은 문제들은 복잡하고 비선형적인 관계를 포함하고 있음
→ 단층 신경망보다 더 복잡한 구조 필요
- 특성 추출 능력 부족
고차원 데이터에서 유의미한 특성을 자동으로 추출하고 학습하는 능력이 매우 제한적

-
Rumelhart의 연구진이 역전파 알고리즘(Backpropagation)을 제안하며 다층 퍼셉트론(Multi-layer Perceptron, MLP)의 학습이 가능해짐 (1986년)
인공 신경망 학습 프로세스
- 초기화 (Initialization)
학습 과정을 시작하기 위한 준비 단계, (보통)무작위 값으로 초기화
- 순전파 (Forward Propagation)
-입력 데이터가 신경망의 입력층으로 주어짐, 각 층의 뉴런을 통과하면서 활성화 함수에 의해 처리
-신경망의 출력층까지 과정 수행
- 오차 계산 (Error Calculation)
-신경망의 출력과 실제 타깃 값 사이의 차이 계산 (손실 함수 : MSE or 교차 엔트로피 사용)
-신경망의 예측이 얼마나 정확한지 수치적으로 표현
- 오류 역전파 (Error Backpropagation)
-계산된 오차는 출력층에서부터 입력층 방향으로 역전파되어 각 가중치가 오차에 얼마나 기여하는지 계산
-각 가중치가 오차에 미치는 영향 계산 → 가중치 조정 (경사하강법)
- 가중치 업데이트 (Weight Update)
-경사하강법을 사용하여 각 가중치 업데이트
-오차를 최소화하는 방향으로 가중치를 조정하여 신경망의 성능 개선
- 과적합 (Overfitting)및 정규화 (Regularization)
-학습 과정 중 과적합 발생 가능 (학습 데이터에 대해 너무 잘 맞추어져 새로운 데이터에 대한 일반화 성능이 떨어지는 현상)
-방지를 위해 정규화 기법 (L1, L2 규제, 드롭아웃 등)을 사용, 모델의 복잡도를 제어하고 과적합을 줄임
- 반복 학습 (Iterative Learning)
-위 과정 반복, 최적화 진행
-반복을 통해 입력 데이터에 내재된 복잡한 패턴과 구조를 학습 → 다양한 문제에 대한 예측(계산) 수행
경사 하강법
-함수의 기울기(Gradient)를 사용하여 함수의 최소값을 찾는 최적화 방법
-손실 함수의 최소값을 찾아감
- 함수의 기울기
-주어진 점에서 함수의 증가율을 나타내는 벡터
-증가의 방향과 증가율의 크기를 알려줌

- 기울기가 양수인 경우 : x값이 증가할수록 함수값 증가
기울기가 음수인 경우 : x값이 증가할수록 함수값 감소
- 기울기 계산
함수의 미분을 통해 기울기 계산
→ 각 파리미터에 대해 함수의 출력값이 어떻게 변하는지 파악
- 이동 방향 결정
기울기가 양수라면 파라미터 감소, 음수라면 파라미터 증가
- 파라미터 업데이트
현재 파라미터에서 기울기의 반대 방향으로 일정 단계(학습률, Learning Rate)만큼 이동
→ 함수의 최소값(손실 함수의 최소값)을 향해 이동
- 반복
-위 과정을 반복하면서 (손실)함수의 값을 점차적으로 감소
-충분한 반복 후 함수의 값이 더이상 감소하지 않거나 특정 기준 아래로 떨어지면 과정 종료
역전파 알고리즘 문제점
