수학·컴퓨터

역전파, 신경망이 실수에서 배우는 계산

인공 신경망은 처음에 엉터리 답을 내놓는다. 틀린 정도를 거꾸로 거슬러 올라가며 수백만 개의 숫자를 조금씩 고치는 역전파가 학습의 핵심이다.

Antigravity AI · 2023년 1월 20일 · 읽는 데 4분

여러 층으로 이어진 신경망에서 신호가 거꾸로 흐르는 모습
여러 층으로 이어진 신경망에서 신호가 거꾸로 흐르는 모습

역전파는 인공 신경망이 학습하는 방법이다. 신경망이 답을 내면 정답과 비교해 얼마나 틀렸는지를 계산하고, 그 오차를 출력층에서 입력층 쪽으로 거꾸로 전달하면서 각 연결의 가중치를 오차가 줄어드는 방향으로 조금씩 고친다. 이 과정을 수많은 예제로 반복하면, 처음에 무작위였던 숫자들이 점점 쓸모 있는 값으로 맞춰진다. 오늘날의 딥러닝은 대부분 이 원리 위에서 작동한다.

신경망은 처음에 무엇을 하나

인공 신경망은 숫자를 받아 여러 층을 거쳐 계산한 뒤 답을 내놓는 함수다. 각 층의 계산은 입력에 가중치라는 숫자를 곱하고 더하는 단순한 연산의 묶음이다. 고양이 사진을 넣으면 '고양이일 확률' 같은 숫자를 내놓는다.

학습을 시작할 때 가중치는 무작위로 정해져 있다. 그러니 처음 내놓는 답은 엉터리다. 고양이 사진을 넣어도 고양이일 확률을 아무렇게나 말한다. 학습이란 결국 이 수많은 가중치를 어떤 값으로 맞춰야 정답에 가까운 답이 나오는지 찾는 일이다. 큰 신경망에는 가중치가 수백만에서 수천억 개까지 있다.

입력층, 은닉층, 출력층으로 이어진 신경망 구조 도식

틀린 정도는 어떻게 숫자로 나타내나

먼저 얼마나 틀렸는지를 하나의 숫자로 나타내야 한다. 이것을 손실이라 부른다. 정답이 고양이인데 신경망이 고양이일 확률을 0.2라고 했다면 손실이 크고, 0.9라고 했다면 손실이 작다. 학습의 목표는 이 손실을 가능한 한 작게 만드는 것이다.

이 상황을 산에서 내려오는 일에 빗댈 수 있다. 가중치의 값들이 산 위의 위치이고, 그 위치의 높이가 손실이다. 짙은 안개 때문에 산 전체를 볼 수는 없고, 발밑의 경사만 느낄 수 있다. 가장 좋은 전략은 발밑에서 가장 가파르게 내려가는 방향으로 한 걸음씩 옮기는 것이다. 이를 경사 하강법이라 한다.

역전파는 경사를 어떻게 구하나

문제는 가중치가 수백만 개라는 점이다. 각 가중치를 조금 바꿨을 때 손실이 얼마나 변하는지, 곧 경사를 일일이 따로 계산하면 시간이 감당할 수 없을 만큼 걸린다.

역전파는 이 계산을 한 번에 효율적으로 해낸다. 핵심은 미분의 연쇄 법칙이다. 신경망은 여러 층의 계산이 겹겹이 이어진 구조라서, 손실에 대한 어떤 가중치의 영향은 그 뒤에 이어진 층들의 영향을 차례로 곱한 것으로 나타낼 수 있다. 역전파는 출력층에서 계산을 시작해 한 층씩 거꾸로 내려오면서, 앞서 구한 값을 재활용해 각 층의 경사를 구한다. 한 번 앞으로 계산하고 한 번 뒤로 계산하는 것만으로 모든 가중치의 경사를 얻는다.

단계 하는 일
순전파 입력을 넣어 층을 차례로 지나며 답을 계산
손실 계산 답과 정답을 비교해 틀린 정도를 숫자로
역전파 손실의 경사를 출력층에서 입력층으로 거꾸로 전달
가중치 갱신 경사의 반대 방향으로 가중치를 조금씩 고침

이 네 단계를 수많은 예제에 대해 되풀이한다. 한 번에 고치는 양은 아주 작아서, 학습은 수만에서 수백만 번의 반복을 거쳐 서서히 이루어진다.

어두운 방에서 여러 대의 그래픽 카드가 빛나는 연산 장비

역전파는 언제부터 쓰였나

역전파의 수학적 아이디어는 1970년대 이전부터 여러 분야에서 나타났지만, 1986년 데이비드 러멜하트, 제프리 힌턴, 로널드 윌리엄스가 신경망 학습에 이를 적용한 논문을 발표하면서 널리 알려졌다. 그러나 당시에는 컴퓨터가 느리고 데이터가 부족해 깊은 신경망을 학습시키기 어려웠다. 2010년대에 들어 그래픽 처리 장치로 대량의 계산을 빠르게 할 수 있게 되고 인터넷에서 방대한 데이터를 얻을 수 있게 되면서, 역전파로 깊은 신경망을 학습시키는 딥러닝이 본격적으로 꽃을 피웠다. 힌턴은 이 공로로 2024년 노벨 물리학상을 함께 받았다.

아직 남은 질문

역전파는 놀라울 만큼 잘 작동하지만 몇 가지 의문이 남아 있다. 하나는 왜 이렇게 잘 되느냐는 것이다. 손실이라는 산에는 수많은 골짜기가 있어서 엉뚱한 곳에 갇힐 법한데, 실제로는 큰 신경망이 대체로 좋은 답에 이른다. 그 이유는 아직 완전히 설명되지 않았다.

다른 하나는 뇌와의 관계다. 인공 신경망은 뇌에서 영감을 받았지만, 실제 뇌의 신경세포가 오차를 거꾸로 전달하는 역전파와 같은 방식으로 학습하는지는 확실하지 않다. 뇌가 이와 다른 방식으로 비슷한 효과를 내는지는 신경과학과 인공지능이 함께 풀어야 할 질문이다.

이어서 읽기