역전파(Backpropagation)
신경망(neural network)의 손실을 각 가중치(weight)로 미분(differentiation)하는 방법. 출력에서 입력 쪽으로 연쇄법칙(chain rule)을 한 층씩 거꾸로 적용해, 모든 기울기(slope)를 한 번의 역방향 계산으로 얻는다.
신경망을 경사 하강법(gradient descent)으로 학습시키려면 손실 L을 가중치 하나하나로 미분한 값이 모두 필요합니다. 가중치가 수십억 개여도 이것을 싸게 얻는 방법이 역전파입니다. 아래는 입력 x 하나, 숨은 단위 둘, 출력 하나인 작은 신경망을 계산 순서대로 그린 그래프(계산 그래프, computational graph)입니다. 각 칸의 값은 왼쪽 칸들의 값만으로 정해집니다.
입력 x =
앞으로 계산은 왼쪽에서 오른쪽으로 값을 채웁니다. 거꾸로 계산은 오른쪽 끝의
이고, 지금 값은
확인해 봅시다.
왜 이렇게 쌀까요? 층이 여럿이면 입력에서 L까지 가는 길의 수는 층마다 곱해져 폭발적으로 늘어납니다. 역전파는 칸마다 '여기서 L까지 가는 모든 길의 곱의 합'을 한 번만 계산해 적어 두고, 왼쪽 칸들은 그 값을 다시 씁니다. 겹치는 작은 문제의 답을 표에 적어 두는 동적 계획법(dynamic programming)과 같은 생각입니다. 층 단위로 보면 각 층의 국소 미분은 층의 출력 하나하나를 입력 하나하나로 미분한 값을 모은 행렬(독일 수학자 야코비의 이름을 딴 야코비 행렬(Jacobian matrix))이고 연쇄법칙은 그 행렬(matrix)들의 곱입니다. 손실은 수 하나이므로 L 쪽부터 곱해 나가면 매번 '벡터(vector) × 행렬'로 끝나지만, 입력 쪽부터 곱하면 '행렬 × 행렬'이 되어 훨씬 비쌉니다. 역전파는 곱하는 순서를 잘 고른 연쇄법칙입니다.
이 방법은 여러 번 따로 발견되었습니다. 1970년 핀란드의 세포 린나인마가 일반적인 계산의 역방향 자동 미분(reverse-mode automatic differentiation)을 석사 논문에 적었고, 1974년 폴 워보스가 박사 논문에서 신경망 학습에 쓰자고 제안했으며, 1986년 미국의 심리학자 데이비드 러멜하트, 영국 출신 컴퓨터 과학자 제프리 힌턴, 로널드 윌리엄스가 『네이처』에 낸 논문이 숨은 층(hidden layer)이 쓸모 있는 특징을 스스로 배운다는 것을 보여 주면서 널리 퍼졌습니다.
이어지는 곳. 오늘날의 딥러닝(deep learning) 도구는 앞으로 계산만 적으면 계산 그래프를 기록해 두었다가 거꾸로 따라가는 자동 미분(automatic differentiation)으로 기울기를 냅니다. 층이 깊으면
이 개념이 나오는 긴 글
이 개념 위에 세워진 것
이 개념을 언급하는 페이지
- 미분계수
… 오차를 줄이려면 가중치 하나하나에 대한 미분계수가 필요한데, 이를 연쇄법칙으로 한꺼번에 구하는 방법이역전파입니다. 역전파는 프로그램을 기본 연산으로 쪼개 도함수의 값을 정확히 구하는 자동 미분 가운데, 출력 …
- 연쇄법칙
… = 1 , 곧 x\cdot(\ln x)' = 1 이라 (\ln x)' = 1/x 입니다. 신경망 학습의역전파도 이 곱을 출력 쪽에서 입력 쪽으로 거꾸로 따라가는 계산입니다. 행렬 곱은 어느 쪽부터 묶어도 결과가 …
- 행렬의 곱
… 신경망은 층을 지날 때마다 입력에 행렬을 곱하고, 이어서 휘어진 함수를 한 번 적용합니다. 학습에 쓰는역전파는 층마다의 야코비 행렬을 출력 쪽부터 거꾸로 곱해 나가며, 각 가중치를 조금 바꾸면 오차가 얼마나 …
- 퍼셉트론
… 로 바꾸면, 출력을 '노랑일 확률'로 읽는 로지스틱 회귀가 됩니다. 매끄러우니 미분할 수 있고, 그래서역전파로 학습하는 신경망의 부품이 됩니다. 두 무리 사이의 빈 띠를 가장 넓히는 직선을 고르면, …
- 경사 하강법
… 수십억 개인 신경망에서는 그럴 수 없어서, 기울기만 쓰는 경사 하강법과 그 변형을 씁니다. 그 기울기는역전파로 구합니다. 데이터가 많을 때의 손실은 예 하나하나의 손실의 평균이고 기울기도 평균입니다. 매번 전부 …
- 신경망
… 같은 꼴)을 줄이도록 경사 하강법의 변형인 Adam으로 고치고, 모든 가중치에 대한 기울기는역전파가 한꺼번에 계산합니다. 학습은 버튼을 누를 때만 하고, 손실이 0.02 아래로 내려가거나 더 줄지 않으면 …
- 쿨백–라이블러 발산
… 정답 분포 p와 모형이 내놓는 분포 q 사이의 교차 엔트로피 -\sum p_i \log q_i 를 줄이도록역전파와 경사 하강법으로 학습합니다. H(p)는 모형과 무관하니 교차 엔트로피를 줄이는 것은 D(p‖q)를 …
- 기계 학습
… 자료 일부로 기울기를 어림하는 확률적 경사 하강법), 층이 깊은 신경망에서 그 미분값을 싸게 얻는역전파가 오늘날의 일꾼입니다. 확률로 보면 손실을 줄이는 것은 대개 자료의 가능도를 키우는 것이어서, 분류기가 …
- 소프트맥스와 교차 엔트로피
… 모형이 이미 확신하며 맞히면 힘은 거의 0이고, 확신하며 틀리면 힘이 가장 큽니다. 이 '확률 − 정답'이역전파가 출력에서 입력 쪽으로 거슬러 전하는 첫 신호입니다. 손실은 어떤 유한한 점수에서도 0이 되지 않습니다. …
- 특잇값 분해
… 가장 작게 만들면, 배운 부분공간은 처음 k개 주성분이 펼치는 부분공간과 같습니다. 깊은 신경망의역전파에서는 기울기가 층마다 야코비 행렬을 곱하며 흐릅니다. 그 특잇값이 층마다 모두 1보다 작으면 기울기가 …
- 기울기 벡터와 야코비 행렬
… 손실 쪽 끝부터 '가로줄 벡터 × 행렬'을 차례로 곱해 나가면 모든 기울기를 싸게 얻습니다. 이것이역전파이고, 아무 프로그램에나 쓸 수 있게 일반화한 것이 자동 미분입니다. 가중치 행렬에 대한 기울기는 …
- 자동 미분
… x_1 (지금 )과 \partial f/\partial x_2 (지금 )가 함께 나옵니다. 신경망의역전파는 후진 모드 자동 미분을 신경망에 쓴 것입니다. 무엇이 얼마나 드나. 입력이 n개, 출력이 m개인 계산을 …
- 확률적 경사 하강법과 Adam
… 대부분 실험으로 정합니다. 이어지는 곳. 미니배치마다의 기울기는 자동 미분의 후진 모드, 신경망에서는역전파가 계산합니다. 미니배치 기울기는 전체 평균을 무작위 표본의 평균으로 어림하는 몬테카를로 방법의 한 …
- 인공지능
… 옮겨 갔습니다. 1986년 데이비드 러멜하트, 제프리 힌턴, 로널드 윌리엄스는 여러 층의 신경망을역전파로 학습시키는 방법을 널리 알렸고, 1989년 벨 연구소의 얀 르쿤과 동료들은 손글씨 숫자를 …
- 합성곱 신경망
… 가운데 칸을 이웃보다 도드라지게 합니다. 합성곱 신경망에서는 이 아홉 개의 수를 사람이 정하지 않고역전파로 학습합니다. 덧붙이면, 수학에서 말하는 합성곱은 필터를 뒤집어 \sum …
- 순환 신경망과 LSTM
… 시간 축을 따라 펼쳐 놓으면 RNN은 층마다 같은 가중치를 쓰는 아주 깊은 신경망이어서, 펼친 망에역전파를 그대로 적용해 학습합니다(시간 역전파, BPTT). 합성곱 신경망이 같은 필터를 공간의 모든 위치에 …
- 오토인코더와 잠재 공간
… (\varepsilon \sim N(0,1)) 로 쓰면 무작위성이 ε으로 옮겨 가서 μ와 σ로는 보통처럼역전파할 수 있습니다(재매개변수화). VAE가 만든 그림은 흐릿한 편이라는 것이 널리 알려진 약점입니다. 제곱 …
- 어텐션
… 소프트맥스는 이 두 극단 사이를 매끄럽게 이어 주므로 미분할 수 있고, 그래서 '무엇을 볼지'를역전파로 배울 수 있습니다. 왜 √d로 나누는가. d는 쿼리와 키의 차원입니다. 학습을 시작할 때처럼 q와 k의 …
- 트랜스포머
… F(x))/\partial x = I + \partial F/\partial x 이므로(야코비 행렬),역전파에서 기울기가 블록을 지날 때 단위행렬 I를 통해 줄지 않고 그대로 흐르는 길이 늘 하나 남습니다. 층을 …
- 전문가 혼합
… 최대 13만 개 넘게, 매개변수를 1,370억 개까지 늘렸습니다. 라우터는 어떻게 배울까요? 신경망은역전파로 배웁니다. 출력이 얼마나 틀렸는지에서 거꾸로 거슬러 가며, 각 매개변수를 조금 바꾸면 오차가 어떻게 …
- 반환
… 부릅니다(그래프가 나무 모양일 때 정확합니다). 연쇄법칙으로 경로마다 국소 미분을 곱해 더하는역전파도 (+, ×) 반환의 경로 합을 출력 쪽에서부터 채우는 계산입니다.
- 배타적 논리합
… 넣으면 됩니다. 남은 문제는 그렇게 쌓은 여러 층의 가중치를 예에서 배우게 하는 방법이었고, 그 답이역전파입니다. 이어지는 곳. AND·OR·NOT과 진리표, XOR과 AND로 만드는 반가산기는 불 대수에, …