Skip to main content

다층 신경망

선형 분리 linearly separable

  • 단층 신경망은 데이터 공간을 하나의 직선(또는 평면)으로 나누는 것
  • 데이터가 복잡하면 하나 이상의 선으로 나눌 필요

선형 vs. 비선형

XOR 문제

  • 수학에서 A OR B는 A와 B 둘 다 참인 경우에도 참
  • 일상적인 의미에서 "또는"은 둘 중에 하나만 참인 경우에 사용
  • XOR(Exclusive OR): A 또는 B 둘 중에 하나만 참인 경우에 참
  • 선형 분리할 수 없음 → 다층 신경망으로 해결

다층신경망 Multi-Layer Perceptron

  • 여러 개의 층으로 이뤄진 신경망
  • 선형 분리 불가능한 비선형 데이터를 다룰 수 있음
  • 입력층 Input layer
  • 은닉층 Hidden layers
    • 신경망의 학습 과정에서 과제 수행에 필요한 특징을 학습
    • 입력층에 가까운 은닉층은 단순한 특징을, 출력층에 가까운 은닉층은 복잡한 특징을 학습
    • 은닉층의 형태에는 제약이 없음
    • 은닉층의 적절한 수와 크기는 문제에 따라 달라짐
    • 다양한 시도를 통해 가장 성능이 좋은 것으로 결정
  • 출력층 Output layer

다층신경망 multi-layer perceptron

model = keras.models.Sequential(
[
keras.layers.Rescaling(1/255),
keras.layers.Flatten(),
keras.layers.Dense(16, activation='relu'),
keras.layers.Dense(1, activation='sigmoid')
]
)

미분의 연쇄 규칙 chain rule

  • f와 g가 미분가능한 함수라고 할 때, y = f(u)이고 u = g(x)이면, 다음이 성립: dy/dx = (dy/du) * (du/dx)
  • 다층신경망의 구성 (x: 입력, L: 손실)
  • 손실 L의 i번째 레이어의 파라미터 θi에 대한 미분:
    • 이후 레이어(K-1)의 미분을 이전 레이어(K-2)의 미분에 재사용할 수 있음

역전파 Backpropagation

  • 다층신경망에서 예측을 할 때는 forward pass로 계산 input → hidden(1) → hidden(2) → … → hidden(K-1) → hidden(K)→ output
  • 파라미터를 업데이트할 때는 역순인 backward pass로 계산 hidden(1) ← hidden(2) ← … ← hidden(K-1) ← hidden(K)
  • 이를 "오차의 역전파"라 함

사라지는 경사 vanishing gradient

  • 미분의 연쇄 규칙에 따르면 경사는 곱셈 형태
  • 경사가 0~1 사이인 레이어가 많으면, 입력층과 가까운 초반 레이어는 손실의 경사가 0에 가까워짐
  • 신경망 초반 레이어에서 변화가 손실에 영향을 주지 못함
  • 초반 레이어로 오차 역전파가 X → 초반 레이어의 파라미터 업데이트 X
  • 레이어가 늘어나도 학습이 되지 않으므로, 딥러닝의 의미 상실

퀴즈

사용자 정보 입력
퀴즈를 시작하기 전에 이름과 소속을 입력해주세요.

Q&A