English

KNOWLEDGE · 기계 학습

역전파는 정답이 없는 가운데 층을 어떻게 가르치나?

출력이 틀린 정도를 연결을 거꾸로 따라 전하면, 정답이 없는 가운데 층의 뉴런도 오차에 대한 자기 몫(δ)을 얻는다. 가중치마다 기울기는 그 몫 × 들어온 값이고, 경사 하강법이 가중치를 그 반대쪽으로 조금씩 고친다.

다층 퍼셉트론(MLP)은 뉴런을 여러 층으로 쌓은 신경망이다. 학습 데이터에는 입력과 출력의 정답만 있고, 가운데 층(은닉층)의 뉴런이 무엇을 내야 하는지는 없다. 1986년 Rumelhart·Hinton·Williams가 보인 역전파는 출력이 틀린 정도를 거꾸로 전해 이 가운데 층까지 가르친다. 아래 그림의 작은 MLP는 XOR를 배운다. 입력은 네 꼭짓점 00, 01, 10, 11이고, XOR는 두 입력이 다른 01과 10에서만 1이다.

출처: 은닉 단위에는 원하는 상태가 주어지지 않는다, 역전파: Rumelhart·Hinton·Williams 1986, Nature 323 p. 533

구조
활성 함수

다층 퍼셉트론(입력 2 → 은닉 2 → 출력 1)이 XOR를 배운다. 네 예시를 한 번씩 보는 것이 한 바퀴다. ‘학습’을 끌어 오차가 뒤로 전해지는 길을 따라가 보자.

  1. ① 앞으로
  2. ② 오차
  3. ③ 뒤로
  4. ④ 고치기

동그라미: 지금 예시에서 뉴런이 낸 값. 선 위의 수: 가중치(파란 선은 +, 노란 선은 −). b: 편향. ③에서 빨간 수: 몫 δ와 기울기. 선이나 b를 누르면 비탈 그림이 그 가중치로 바뀐다.

예시 00의 오차를 v₁ 하나만 바꿔 가며 그렸다(나머지 가중치는 그대로).

점이 지금 자리다(v₁ = 0.0700, 오차 0.1321). 빨간 선(기울기)은 ③-3에서 나온다.

예시 00: 왼쪽에서 오른쪽으로 계산한다(σ는 시그모이드).

h₁ = σ(0.08·0 − 0.30·0 + 0.02) = 0.505

h₂ = σ(0.29·0 + 0.28·0 − 0.13) = 0.468

y = σ(0.07·0.505 + 0.13·0.468 − 0.04) = 0.514

왼쪽 구간은 첫 바퀴를 한 걸음씩 보여 준다. 오른쪽 구간으로 끌면 같은 걸음을 바퀴마다 되풀이한 결과를 본다.

오차 E 0.500맞힌 예시 2/4시작점 1

정답 1정답 0지금 틀림출력 뉴런의 선은닉 뉴런의 선

칠한 곳은 출력이 1인 곳이다(시그모이드면 진할수록 1에 가깝다).

바퀴마다 네 예시의 오차 합 E (점선: 0.05)

계산: 이 페이지가 브라우저에서 직접 한다. 한 바퀴는 네 예시를 00, 01, 10, 11 순서로 한 번씩 보는 것이다. 가중치와 편향은 −0.3~0.3에서 뽑아 시작하고(시작점 1, 2, 3, …), 예시마다 학습률 η = 0.5로 고친다. ‘학습’ 슬라이더의 오른쪽 구간이 고르는 가중치는 처음에 미리 계산해 둔다(풀릴 때까지, 풀리지 않으면 30,000바퀴, 단일 퍼셉트론은 3,000바퀴, 계단 함수는 100바퀴). 비탈 그림은 고른 가중치 하나만 바꿔 가며 오차를 241번 다시 계산한다. 가로축은 그 가중치가 이번 학습 내내 닿는 범위보다 조금 넓다. 기울기 확인은 고른 가중치에 0.001을 더하고 빼서 그 예시의 오차를 다시 계산한다. 같은 계산을 파이썬으로 따로 해 숫자가 같은지 확인했다.

01 MLP vs. 단일 퍼셉트론

은닉층이 있어야 XOR를 나눈다

뉴런 하나는 입력마다 가중치를 곱해 더하고, 편향 b를 더한다. 이 합이 0보다 크면 켜지고(1에 가까운 값), 작으면 꺼진다(0에 가까운 값). 입력 평면에서 합이 딱 0인 곳을 이으면 직선이 된다. 그래서 뉴런 하나는 평면을 직선 하나로 나눈다.

합 s = w₁x₁ + w₂x₂ + b, 출력 y = f(s)

단일 퍼셉트론: 선 하나

그림의 ‘단일 퍼셉트론’은 은닉층 없이 출력 뉴런 하나만 있는 망이다. 선 하나로는 XOR를 나눌 수 없다. 01과 10은 한쪽에, 00과 11은 다른 쪽에 두어야 하는데, 01과 10을 잇는 대각선과 00과 11을 잇는 대각선이 가운데에서 엇갈리기 때문이다. 그래서 ‘단일 퍼셉트론’을 고르면 오차가 0.50에서 더 줄지 않고, 끝까지 둘만 맞힌다.

식으로 보면, 그리고 1958년의 퍼셉트론

00이 0이려면 b < 0, 01과 10이 1이려면 w₂ + b ≥ 0, w₁ + b ≥ 0이어야 한다. 뒤의 둘을 더하면 w₁ + w₂ + b ≥ −b > 0이라 11도 1이 된다. 그러니 그런 선은 없다.

1958년 Rosenblatt의 퍼셉트론은 감각, 연합, 반응의 세 층이었다. 하지만 앞 연결은 무작위로 고정되어 있었고 배우는 것은 반응 쪽 한 층뿐이어서, 배우는 층으로 치면 한 층이다.

MLP: 은닉 뉴런마다 선 하나

뉴런을 층으로 쌓은 것이 다층 퍼셉트론(MLP)이다. 가운데 층의 뉴런(은닉 뉴런)이 저마다 선을 하나씩 긋고, 출력 뉴런이 그 결과를 다시 나눈다. 선이 둘이면 XOR도 나뉜다. 손으로 정한다면 h₁은 ‘하나라도 켜짐’(OR), h₂는 ‘둘 다 켜짐’(AND)으로 두고, 출력은 h₁이 켜지고 h₂가 꺼질 때 켜지게 하면 된다. 그림의 초록 점선이 학습으로 찾은 두 선이다.

시작점 1이 스스로 찾은 답

시작점 1의 MLP가 2,097바퀴 뒤에 찾은 답은 손으로 정한 것과 다르다. h₁은 두 입력이 모두 꺼졌을 때, h₂는 두 입력이 모두 켜지지는 않았을 때 켜지고, 출력은 h₂가 켜지고 h₁이 꺼질 때 켜진다. 길은 달라도 같은 일을 한다.

그런데 은닉 뉴런에는 정답이 없다

학습 데이터에는 출력의 정답만 있다. h₁과 h₂가 무엇을 내야 하는지는 아무도 알려 주지 않는다. 그래서 은닉 뉴런으로 들어가는 가중치를 무엇을 보고 고칠지가 오래 문제였다. 은닉층 없는 망에는 퍼셉트론 수렴 절차처럼 단순하고 보장된 규칙이 있었지만, 은닉층이 있는 망에는 그런 규칙이 없었다. 이 빈자리를 채운 것이 역전파다(03).

출처: 뉴런 하나와 계단 함수: Rosenblatt 1958, Bishop 2006 §4.1.7 식 4.52–4.53 · 1958년 퍼셉트론의 세 층과 고정된 앞 연결: Rosenblatt 1958 pp. 389–392, Rumelhart·Hinton·Williams 1986, Nature p. 533 · 은닉 단위 없이는 XOR를 풀 수 없다, 은닉층이 있으면 나타낼 수 있다, 은닉 단위가 있는 망에는 그만한 규칙이 없었다: PDP 8장 pp. 318–321 · 0.50에서 멈춤, 둘뿐, 시작점 1이 찾은 두 선: 이 페이지의 계산

02 시그모이드 vs. 계단 함수

계단 함수는 뒤로 가는 길을 끊는다

활성 함수는 뉴런에 들어온 합 s를 출력으로 바꾼다. 계단 함수는 s가 0 이상이면 1, 아니면 0만 낸다(1958년 퍼셉트론). 시그모이드는 0과 1 사이를 매끄러운 S자로 잇는다.

계단 함수: 평평해서 신호가 끊긴다

역전파는 오차를 뒤로 전할 때마다, 활성 함수가 그 자리에서 얼마나 가파른지를 곱한다(03의 ③). 계단 함수는 뛰는 한 점을 빼면 어디서나 평평해서 가파르기가 0이다. 0을 곱하니 뒤로 가는 몫이 모두 0이 되고, 가중치는 하나도 바뀌지 않는다. 그림에서 ‘계단 함수’를 고르면 100바퀴를 돌아도 가중치가 처음과 똑같다.

비탈 그림에서 보면 더 분명하다. 계단 함수의 오차는 평평하다가 어느 점에서 0.5씩 뛴다. 첫 바퀴의 예시 00에서 v₁을 0.04보다 작게 하면 이 예시의 오차가 0이 되는데도, 지금 자리(0.07)는 평평해서 그쪽으로 가라고 알려 줄 기울기가 없다.

시그모이드: 어디서나 조금씩 기운다

시그모이드는 어디서나 조금이라도 기울어 있다. 가운데(s = 0)에서 가장 가파르고, 양 끝으로 갈수록 완만해진다. 그래서 뒤로 가는 몫이 끊기지 않고, 모든 가중치가 고칠 방향을 받는다. 꼭 시그모이드가 아니어도 이렇게 매끄럽게 기우는 함수면 된다.

식으로 보면, 그리고 퍼셉트론은 어떻게 배웠나

계단 함수: f(s) = 1 (s ≥ 0), 0 (s < 0)

시그모이드: σ(s) = 1 / (1 + e⁻ˢ), 가파르기 σ(1 − σ)

시그모이드의 가파르기 σ(1 − σ)는 s = 0에서 0.25로 가장 크다. 원 논문은 꼭 시그모이드일 필요는 없고 도함수가 유계인 함수면 된다고 적었다.

1958년 퍼셉트론은 계단 함수로도 배웠다. 틀린 예시가 나오면 그 입력만큼 가중치를 더하거나 빼는 규칙이다. 이 규칙은 그 뉴런의 정답과 견주어 고치므로, 정답이 있는 출력 한 층에만 쓸 수 있다. 이 페이지의 그림은 이 규칙이 아니라 기울기(경사 하강법)로 배우므로, 계단 함수에서는 움직이지 않는다. 퍼셉트론 규칙으로 XOR를 배우면 끝나지 않고 같은 가중치로 되돌아오며 맴돈다(따로 해 본 계산에서는 4바퀴째부터).

출처: 계단 함수: Bishop 2006 식 4.52–4.53 · 틀린 개수는 계단처럼 평평해 기울기가 거의 모든 곳에서 0, 퍼셉트론 기준과 그 규칙: Bishop 2006 p. 193, 식 4.54–4.55 · 시그모이드, 도함수가 유계면 된다: Rumelhart·Hinton·Williams 1986, Nature 식 2, p. 534 · 은닉 단위에는 그만한 규칙이 없었다: PDP 8장 p. 321 · 100바퀴 뒤에도 그대로, 0.5씩 뛰는 오차, 예시 00의 0.04: 이 페이지의 계산 · 퍼셉트론 규칙이 XOR에서 맴돎: 따로 한 계산(시작 0.25, −0.5, 0.25, 학습률 0.5)

03 경사 하강법

기울기의 반대쪽으로 한 걸음씩

안개 낀 산에서 골짜기로 내려가려면, 발밑이 어느 쪽으로 기울었는지 보고 내리막 쪽으로 한 걸음씩 디디면 된다. 경사 하강법이 하는 일이 이것이다. 땅의 높이는 오차이고, 서 있는 자리는 가중치들의 값이다.

비탈 그림은 가중치 하나만 움직일 때 오차가 어떻게 변하는지 그린 것이다. 빨간 선이 지금 자리의 기울기다. 오른쪽이 오르막(기울기가 양수)이면 가중치를 줄이고, 내리막(음수)이면 늘린다. 경사 하강법은 모든 가중치를 저마다의 기울기 반대쪽으로 조금씩 함께 옮긴다.

새 가중치 = 지금 가중치 − 0.5 × 기울기

0.5는 한 걸음의 크기를 정하는 수로, 학습률이라 한다. 한 걸음은 작다. 첫 바퀴의 예시 00에서 v₁은 0.032만 움직인다. 이 걸음을 되풀이해 시작점 1의 MLP는 2,097바퀴에 XOR를 풀었다. 처음 1,000바퀴쯤은 오차가 거의 줄지 않는다. 오른쪽 구간 앞쪽에서 비탈 그림의 가중치를 은닉 가중치(예: w₁₁)로 바꿔 보면 비탈이 거의 평평한데, 처음 가중치가 작아 은닉 뉴런이 변해도 출력이 거의 변하지 않기 때문일 것이다(가설).

모든 가중치의 기울기: 역전파

출력에 바로 이어진 가중치는 출력이 틀린 정도에서 기울기를 바로 구할 수 있다. 은닉 뉴런으로 들어가는 가중치는 그 뉴런에 정답이 없어 막힌다. 역전파는 틀린 정도를 뒤로 전해 뉴런마다 오차에 대한 몫 δ를 만든다. 그림의 ③이 그 세 걸음이다.

  1. ③-1 출력의 몫: 출력이 틀린 정도(y − d)에 출력 뉴런의 가파르기 y(1 − y)를 곱한다. 이것이 출력 뉴런의 몫 δy다.
  2. ③-2 은닉 뉴런의 몫: δy에 연결 가중치 v를 곱해 은닉 뉴런으로 보내고, 은닉 뉴런의 가파르기 h(1 − h)를 곱한다. 정답이 없는 은닉 뉴런도 이렇게 자기 몫 δh를 얻는다.
  3. ③-3 연결마다 기울기: 연결 끝 쪽 뉴런의 몫 δ에 그 연결로 들어온 값을 곱한다. 들어온 값이 0이면 기울기도 0이다.

δy = (y − d) · y(1 − y)

δh = δy · v · h(1 − h)

기울기 = δ × (들어온 값)

비탈 그림에서 빨간 선의 기울기가 이렇게 구한 값이다. 가중치를 0.001만큼 늘리고 줄여 직접 재 봐도 소수 여섯째 자리까지 거의 언제나 같다(그림의 ③-3).

가중치를 하나씩 흔들어 직접 재도 기울기는 나온다. 하지만 가중치 9개면 계산을 18번 다시 해야 하고, 가중치가 많을수록 그만큼 늘어난다. 역전파는 앞으로 한 번, 뒤로 한 번 계산하면 모든 기울기가 나온다.

몫 δ와 연쇄 법칙을 조금 더

δ는 그 뉴런에 들어온 합이 조금 변할 때 오차가 변하는 비율이다(오차 신호라고도 한다). 변화가 여러 단계를 거쳐 전해지면 단계마다의 변화율을 곱하는데, 이것이 연쇄 법칙이다. 은닉 뉴런 h가 조금 변하면 출력의 합은 v배 변하므로, h가 변할 때 오차가 변하는 비율은 δy · v다. 여기에 h의 가파르기를 곱한 것이 δh다. 은닉 뉴런이 여러 뉴런으로 이어져 있으면 뒤 뉴런마다 (δ × 연결 가중치)를 더한 뒤 가파르기를 곱하고, 층이 더 있으면 같은 식을 한 층씩 되풀이한다.

몫이라 해도 나눠 가진 조각은 아니다. 가중치를 곱해 보낼 뿐이라, 은닉 뉴런들의 몫을 더해도 δy가 되지 않는다.

기울기를 식으로 쓰면 ∂E/∂w, 곧 가중치 w를 조금 늘릴 때 오차 E가 변하는 비율이다. 경사 하강법은 w ← w − η · ∂E/∂w이고, η가 학습률이다. 편향도 늘 1인 입력의 가중치로 친다.

이 페이지의 계산에서 역전파와 직접 잰 기울기의 차이는 가장 커도 1.4 × 10⁻¹¹이었다. 출력에서 거꾸로 미분을 모으는 이 계산은 1960~70년대 여러 분야에서 따로 나왔고(역방향 자동 미분), 1986년 논문은 이것으로 은닉 뉴런이 쓸모 있는 특징을 스스로 배운다는 것을 보였다.

예시마다 한 걸음

이 페이지는 예시 하나를 볼 때마다 바로 가중치를 고친다. 그래서 첫 바퀴의 비탈 그림은 그 예시 하나의 오차이고, 예시마다 당기는 쪽이 다르다. 첫 바퀴에서 00과 11은 v₁을 줄이고, 01과 10은 늘린다. 오른쪽 구간의 비탈 그림은 네 예시를 합친 오차이고, 빨간 선은 네 기울기를 더한 것이다.

예시마다 고치면 무엇이 다른가

예시마다 고치면 진짜 경사 하강에서 조금 벗어나지만, 학습률이 충분히 작으면 그 차이는 무시할 만하다고 PDP 8장은 적었다. 이 페이지의 계산에서 오차가 내려가는 1,000바퀴 뒤에는 한 바퀴 동안 가중치들이 움직인 쪽이 네 기울기를 더한 반대쪽과 거의 같았다. 처음 500바퀴에는 예시마다의 기울기가 서로 반대 방향이고 그 합보다 훨씬 커서, 둘이 거의 상관이 없었다. 단일 퍼셉트론은 3,000바퀴 뒤 한 바퀴를 더 돌아도 가중치가 그대로인데, 비탈 그림의 기울기는 0이 아니다. 예시마다의 걸음이 한 바퀴 안에서 서로 지워지는 곳에 멈춘 것이다.

걸음의 크기와 멈추는 곳

학습률이 크면 걸음이 커져 빨리 내려가지만, 너무 크면 골짜기를 넘나들며 흔들린다. 그래서 흔들리지 않는 한 크게 잡는다.

기울기가 0에 가까워지면 더 내려갈 쪽이 없어 거의 멈춘다. 그곳이 가장 낮은 곳이라는 보장은 없다. 둘레보다만 낮은 골짜기(국소 최솟값)일 수 있다. ‘다른 시작점’을 한 번 누르고(시작점 2) 끝까지 끌어 보자. 오차가 0.33에서 멈추고, 비탈 그림에서 어느 가중치를 골라도 점이 바닥에 있다. 이 페이지의 설정에서는 시작점 100개 중 6개가 30,000바퀴 안에 풀리지 않았다.

모든 가중치를 같은 값에서 시작하면 은닉 뉴런들이 똑같이 배워 늘 같은 선을 긋는다. 그래서 작은 무작위 값에서 시작한다.

학습률과 모멘텀을 조금 더

진짜 경사 하강은 아주 작은 걸음을 가정한다. PDP 8장은 흔들리지 않는 한 가장 큰 학습률을 고른다고 적었다. 은닉 뉴런 8개로 XOR를 배울 때 η = 0.1이면 평균 약 450번, η = 0.75면 약 68번 보여 주어(원문의 presentations) 풀렸고, 그보다 크면 불안정했다. 앞 걸음의 일부를 더해 걸음을 키우는 모멘텀(Nature 식 9)도 있지만, 이 페이지는 쓰지 않는다.

출처: 경사 하강법의 식: Rumelhart·Hinton·Williams 1986, Nature 식 8, Bishop 2006 식 5.41 · 편향은 늘 1인 입력의 가중치: Nature 식 1 · 오차 곡면과 기울기, 기울기가 0인 곳, 전역·국소 최솟값: Bishop 2006 §5.2.1 그림 5.5, 식 5.26 · 앞으로·뒤로 두 단계와 식 4–7: Nature pp. 534–535 · δ의 식과 기울기 = δ × 들어온 값: Bishop 2006 식 5.53–5.56 · 유한 차분의 비용: Bishop 2006 §5.3.3 · 역방향 미분의 역사: Griewank 2012 pp. 389–390 · 예시마다 고치기: Bishop 2006 식 5.43, Nature p. 535, PDP 8장 p. 324 · 학습률과 모멘텀: PDP 8장 pp. 329–330, 333–334, Nature 식 9 · 국소 최솟값, 대칭 깨기: Nature p. 535, PDP 8장 pp. 330–332 · 0.0648과 0.032, 2,097바퀴, 1.4 × 10⁻¹¹, 예시마다 당기는 쪽, 한 바퀴의 움직임(코사인 가운데값: 1,000바퀴 뒤 0.96 이상, 처음 500바퀴 0 근처), 단일 퍼셉트론이 멈춘 곳의 기울기, 은닉 가중치의 평평한 첫 비탈, 100개 중 6개, 시작점 2의 0.33, 기울기 확인: 이 페이지의 계산

정리

역전파가 일하려면

  1. 은닉층이 있어야 한다(01). 은닉 뉴런마다 선을 하나씩 그어 XOR를 나눈다. 그런데 은닉 뉴런에는 정답이 없다.
  2. 활성 함수가 매끄러워야 한다(02). 평평한 계단 함수는 뒤로 가는 몫을 0으로 끊는다.
  3. 역전파가 뉴런마다 몫 δ를 구해 모든 가중치의 기울기(δ × 들어온 값)를 내고, 경사 하강법이 그 반대쪽으로 조금씩 고친다(03). 가장 낮은 곳에 닿는다는 보장은 없다.

오해역전파는 신경망을 학습시키는 알고리즘이다.

실제로는역전파는 기울기를 구하는 부분이다. 그 기울기로 가중치를 고치는 것은 경사 하강법 같은 최적화 방법이고, 같은 기울기를 다른 방법에도 쓸 수 있다.

오해역전파는 뇌가 배우는 방식이다.

실제로는1986년 논문 스스로 지금 꼴로는 뇌의 학습을 그럴듯하게 설명하는 모형이 아니라고 적었다. 다만 경사 하강으로 쓸모 있는 내부 표현을 만들 수 있으니, 더 생물학적인 방법을 찾을 가치가 있다고 맺었다.

확인됨 · 가설 · 모름

출처: 역전파와 경사 하강의 구분: Bishop 2006 §5.3 · 뇌의 학습 모형이 아니다: Rumelhart·Hinton·Williams 1986, Nature p. 536 · 국소 최솟값: Nature p. 535, PDP 8장 pp. 331–332 · 처음 기울기의 크기: 이 페이지의 계산

질문

자주 묻는 질문

역전파(backpropagation)란?

신경망 출력의 오차를 연쇄 법칙으로 출력에서 입력 쪽으로 거꾸로 전해, 모든 가중치에 대한 오차의 기울기를 한 번에 구하는 방법이다. 정답이 없는 은닉 뉴런도 뒤 뉴런들의 오차 신호에 연결 가중치를 곱해 받아 자기 오차 신호를 얻고, 그것으로 자기 가중치의 기울기를 구한다. Rumelhart·Hinton·Williams가 1986년 Nature에 은닉층을 가진 망의 학습으로 발표해 널리 알려졌다.

역전파와 경사 하강법은 어떻게 다른가?

역전파는 기울기를 구하는 계산이고, 경사 하강법은 그 기울기의 반대 방향으로 가중치를 조금씩(학습률 η만큼) 옮기는 방법이다. Bishop 2006 §5.3은 이 둘을 구분하고, 역전파로 구한 기울기를 경사 하강법보다 강력한 다른 최적화 방법에도 쓸 수 있다고 적는다.

역전파에서 연쇄 법칙은 무슨 일을 하나?

가중치가 오차에 주는 영향을, 가중치가 총입력을, 총입력이 출력을, 출력이 오차를 바꾸는 비율의 곱으로 구하게 한다. 은닉 뉴런의 오차 신호는 뒤 뉴런들의 오차 신호에 연결 가중치를 곱해 더하고, 자기 활성 함수의 기울기를 곱한 값이다(Rumelhart·Hinton·Williams 1986 식 5–7).

역전파는 왜 출력에서 거꾸로 계산하나?

출력 쪽 오차 신호를 한 번 구해 두면 그 앞 층의 오차 신호를 곱셈 몇 번으로 얻기 때문이다. 앞으로 한 번, 뒤로 한 번이면 모든 가중치의 기울기가 나온다. 가중치를 하나씩 바꿔 보는 유한 차분은 가중치가 W개면 앞으로 계산이 W번, 중심 차분이면 2W번 든다(Bishop 2006 §5.3.3).

역전파에서 활성 함수는 왜 미분할 수 있어야 하나?

계단 함수는 거의 모든 곳에서 평평해(가파르기 0), 오차를 줄이려면 가중치를 어느 쪽으로 바꿔야 하는지 알려 주지 않는다. 시그모이드 σ(s) = 1 / (1 + e⁻ˢ)처럼 미분할 수 있는 함수는 가파르기 σ(1 − σ)가 0이 아니어서 오차가 뒤로 전해진다. 원 논문은 도함수가 유계인 함수면 된다고 적었다(Rumelhart·Hinton·Williams 1986 식 2, 5).

역전파는 언제나 답을 찾나?

아니다. 오차 곡면에 국소 최솟값이 있어 경사 하강법이 거기서 멈출 수 있다(Rumelhart·Hinton·Williams 1986). 은닉 뉴런 둘로 XOR를 배울 때 PDP 8장은 수백 번 가운데 두 번 갇혔다고 적었고, 이 페이지의 계산(학습률 0.5, 시작 가중치 −0.3~0.3)에서는 시작점 100개 중 6개가 30,000바퀴 안에 풀리지 않았다.

다층 퍼셉트론(MLP)이란?

뉴런을 입력층, 하나 이상의 은닉층, 출력층으로 쌓고 앞 층에서 뒤 층으로만 잇는 신경망이다. 각 뉴런은 앞 층의 출력에 가중치를 곱해 더하고 편향을 더한 값을 활성 함수에 넣는다. 은닉층의 가중치는 역전파로 구한 기울기로 학습한다(Rumelhart·Hinton·Williams 1986 p. 533).

XOR에는 왜 은닉층이 필요한가?

뉴런 하나는 입력 평면을 직선 하나로 나누는데, XOR는 00과 11을 한쪽에, 01과 10을 다른 쪽에 두어야 해서 그런 직선이 없다. 은닉 뉴런을 두면 선이 여럿이 되어 나눌 수 있다(PDP 8장 pp. 318–321). 이 페이지에서 은닉층을 빼면 같은 학습 규칙으로도 오차가 0.50에서 멈춘다.

출처: Rumelhart·Hinton·Williams 1986(Nature 323 식 2, 5–7, pp. 533, 535) · Bishop 2006 §5.3, §5.3.3 · PDP 8장 pp. 318–321, 331–332

더 보기