Paper Review/Deep Learning

[OUTTA Alpha팀 논문 리뷰 요약] Part 1-4. Learning representations by back-propagating errors

YeonJuJeon 2024. 12. 28. 12:12

논문 링크: [PDF] Learning representations by back-propagating errors | Semantic Scholar

 

https://www.semanticscholar.org/paper/Learning-representations-by-back-propagating-errors-Rumelhart-Hinton/052b1d8ce63b07fec3de9dbb583772d860b7c769

 

www.semanticscholar.org

 

OUTTA 논문 리뷰 링크:

[2024-2] 김영중 - Learning representations by back-propagating errors

 

[2024-2] 김영중 - Learning representations by back-propagating errors

https://www.semanticscholar.org/paper/Learning-representations-by-back-propagating-errors-Rumelhart-Hinton/052b1d8ce63b07fec3de9dbb583772d860b7c769 https://www.semanticscholar.org/paper/Learning-representations-by-back-propagating-errors-Rumelhart-Hinton/

blog.outta.ai


0. Abstract

  • 핵심 아이디어:
    • 신경망 학습에서 역전파(Backpropagation) 알고리즘을 이용해 출력 오차(error)를 가중치로 효율적으로 전달
    • 여러 층(layer)으로 구성된 신경망(다층 퍼셉트론 등)의 학습 성능을 극적으로 개선
    • 연쇄 법칙(chain rule)을 바탕으로 오류를 반복 전파하며 가중치 업데이트 수행
  • 중요성:
    • 기존 단층 퍼셉트론으로 한계가 있었던 비선형 문제나 복잡한 함수 근사를 가능케 함
    • 음성 인식, 이미지 분류, 자연어 처리 등 다양한 분야에 적용됨

1. Background

  • Self-organizing neural networks를 개발하려는 다양한 시도
    • 입력·출력 유닛 사이를 강력한 학습 규칙으로 연결
    • 희망 출력 벡터 vs. 실제 출력 벡터 간 차이를 줄이도록 가중치 수정
  • Hidden Unit 도입으로 학습이 더 복잡해짐
    • Hidden Unit의 목표 상태(Desired State)는 과제에서 정의되지 않음
    • 퍼셉트론(단층 구조)에서는 Input → Feature Analyser → Output 흐름이지만, 실제 Representation 학습은 일어나지 않음
    • 다층 신경망에선 Hidden Unit들의 상태와 의미까지 동시에 학습해야 함

2. Information (Backpropagation 의 도입)

  • 역전파 알고리즘의 등장
    • 신경망의 출력 오류를 빠르고 효율적으로 가중치에 전달 가능
    • 연쇄 법칙(chain rule)을 사용해 오류를 각 층의 가중치로 전파
  • 다층 퍼셉트론 구조에 역전파를 적용 → 복잡한 함수 근사 가능
  • 응용 분야: 음성 인식, 컴퓨터 비전(이미지 분류), 자연어 처리 등 다양한 영역
  • 논문 기여:
    • 역전파 알고리즘의 수학적 기초 및 구현 방법 제시
    • 신경망 학습 효율·성능을 높이기 위한 개선 방안 탐색

3. Methodology

3-1. Basic Form

  1. 레이어 구성:
    • 아래쪽(input) → 중간(hidden) → 위쪽(output) 순으로 존재
    • 같은 레이어 안에서는 병렬(Parallel), 다른 레이어 간에는 위계적(Sequential) 연결
    • 중간 레이어는 건너뛸 수 있음(Skip 가능), 단 역전파 시 순서는 유지
  2. 순전파(Forward Pass):
    • Input layer에 입력 벡터를 설정
    • $$x_j = \sum_i \bigl(w_{ji} \times y_i\bigr) + b_j$$ (여기서 $y_i$는 이전 레이어의 출력, $w_{ji}$는 가중치, $b_j$는 편향)
    • 활성화 함수 $f$ 적용 후 출력 $y_j = f(x_j)$ 계산
  3. Output layer에서 state(출력) 산출이 완료될 때까지 진행

3-2. Find Weights

  1. 목표: 입력 벡터마다 나오는 Output VectorDesired Output Vector와 가깝도록 가중치 찾기
  2. Total Error 정의: :

  • $c$: 입력-출력 case(샘플) 인덱스
  • $j$: Output unit 인덱스
  • $y_j^{(c)}$: 실제 출력, $d_j^{(c)}$: 원하는 출력
  1. Gradient Descent로 $E$를 최소화 → 각 가중치 $w$에 대해 $\frac{\partial E}{\partial w}$ 계산
  2. Two-pass로 편미분 계산
    • Forward Pass: 실제 출력 $y_j$ 구하기
    • Backward Pass: $\frac{\partial E}{\partial w}$ 구하기 위해 출력층 → 입력층 방향으로 기울기 전파

3-3. Backward Pass, Update Weights

  • 핵심 아이디어(역전파):
    1. 출력층에서 오차 $\delta_j = (y_j - d_j)$ 계산
      • 시그모이드($y_j = \frac{1}{1+e^{-x_j}}$)라면 $\frac{\partial y_j}{\partial x_j} = y_j(1-y_j)$
      • $\frac{\partial E}{\partial x_j} = \delta_j \cdot \frac{\partial y_j}{\partial x_j}$
    2. 가중치에 대한 미분: $$\frac{\partial E}{\partial w_{ji}} = \frac{\partial E}{\partial x_j} \times \frac{\partial x_j}{\partial w_{ji}} = \bigl(\delta_j \cdot y_j(1-y_j)\bigr)\times y_i$$
    3. 더 낮은 레이어(hidden layer)로 전파: $$\delta_i = \sum_j \Bigl(\delta_j \cdot y_j(1-y_j) \cdot w_{ji}\Bigr)$$ (출력층에서 역전파된 오차 항들의 가중 합)
    4. 각 레이어별로 누적된 오차 항을 이용해 $\Delta w_{ji} = -\eta \frac{\partial E}{\partial w_{ji}}$ 갱신
  • Batch 모드: 모든 샘플에 대한 기울기( $\frac{\partial E}{\partial w}$ )를 누적한 뒤 업데이트
  • Momentum(모멘텀) 기법: $$\Delta w(t) = -\eta \frac{\partial E}{\partial w}(t) + \alpha \,\Delta w(t-1)$$  (과거 방향성을 일부 반영 → 지역 최솟값 탈출 및 학습 안정성)

 

Summary

  • 역전파 알고리즘(Backpropagation):
    • 신경망의 출력과 목표값 간의 오차($E$)를 정의
    • 연쇄 법칙으로 각 가중치의 기울기 $\frac{\partial E}{\partial w}$ 계산 → 가중치 갱신
  • 수식 예시: $$E = \frac{1}{2}\sum_k (y_k - t_k)^2 \quad\quad,\quad \frac{\partial E}{\partial w_{ij}} = \delta_j \cdot x_i \quad\quad(\delta_j = \text{오차 항})$$
  • 순전파: $$y_j = f\bigl(\sum_i w_{ji} x_i + b_j\bigr)$$ (입력 → 활성화 함수 → 출력)
  • 역전파:
    • 출력층에서 시작해 입력층으로 오차 항(델타) 전파
    • 각 가중치를 $\Delta w = -\eta \frac{\partial E}{\partial w}$로 업데이트
  • 반복 학습으로 오차 최소화

Discussion & Future Work

  1. 한계점
    • Local Minima 문제: 역전파는 지역 최솟값에 빠질 위험 존재
    • 계산 비용: 네트워크가 깊거나 노드가 많아질수록 학습 시간 증가
    • 활성화 함수 선택에 따른 학습 수렴 속도 및 성능 편차
  2. 개선 방향
    • 최적화 기법: 모멘텀, 적응형 학습률(Adam 등) 사용
    • 가중치 초기화: Xavier, He 초기화 등으로 더 안정적인 학습
    • 대규모 데이터 처리: 미니배치, 병렬화, 분산 학습 등 적용
    • 네트워크 구조 자동화: NAS(Neural Architecture Search) 등으로 구조 최적화

Conclusion

  • 역전파(Backpropagation)의 도입으로 다층 신경망 학습이 가능해짐
  • 단층 퍼셉트론의 한계를 넘어 비선형 문제나 복잡한 문제 해결
  • 이후 딥러닝 분야 발전의 토대가 되었으며, 다양한 패턴 인식 문제에 응용 가능성 열림
  • Representation 학습(Feature Representation)을 자동으로 할 수 있게 되어, 신경망이 입력 데이터의 특징을 스스로 학습