순환 신경망과 LSTM(Recurrent neural network and LSTM)
같은 규칙 h_t = tanh(W h_{t−1} + U x_t + b)를 매 걸음 되풀이하며 지난 입력을 상태 벡터(vector)에 접어 넣는 신경망(neural network). 학습 신호는 시간을 거슬러 가며 행렬(matrix) W를 거듭 곱하므로 고유값(eigenvalue)의 크기에 따라 지수적으로 사라지거나 폭발하고, LSTM은 곱해지는 수를 1 가까이 둘 수 있는 게이트로 이를 누그러뜨린다.
문장을 한 낱말씩 읽는다고 합시다. '나는 어제 서울에서 친구를 …' 다음 낱말을 맞히려면 앞에 나온 낱말들을 어딘가에 기억해 두어야 합니다. 순환 신경망(RNN)은 지금까지 읽은 것을 벡터 하나(은닉 상태(hidden state) h)에 접어 두고, 새 입력
W는 지난 상태를 새 상태로 옮기는 행렬, U는 입력을 섞어 넣는 행렬이고, tanh는 값을 −1과 1 사이로 누르는 S자 함수입니다. 다음 항을 앞 항으로 정하는 점화식(recurrence relation)인데, 그 규칙을 사람이 아니라 학습이 정합니다. 입력을 떼어 놓고 보면
거슬러 올라가는 학습 신호. 마지막 걸음의 손실이 k걸음 전의 상태에 얼마나 민감한지를 연쇄법칙(chain rule)으로 풀면, 걸음마다 하나씩 곱해진 k개의 야코비 행렬(기울기 벡터(gradient vector)와 야코비 행렬(Jacobian matrix))이 나옵니다.
출발 신호를 두 고유벡터로 나누어
그래서 오래 지나면 가장 큰
LSTM. 1997년 호흐라이터와 위르겐 슈미트후버의 장단기 메모리(LSTM)는 상태를 매번 고쳐 쓰는 대신, 더해 가는 통로(셀 상태(cell state) c)를 따로 둡니다.
f, i, o는 0과 1 사이 값을 내는 게이트로, 지금 입력과 지난 상태를 보고 칸마다 따로 정해집니다. ⊙는 칸끼리의 곱이고,
확률(probability) 모형과 견주면. 마르코프 연쇄(Markov chain)의 분포도 전이 행렬(transition matrix)을 거듭 곱하며 나아갑니다. 고유값 1이 하나뿐이고 나머지 고유값의 절댓값이 모두 1보다 작으면, 분포는 처음을 잊고 정상 분포(stationary distribution)로 갑니다. 처음을 잊는 빠르기를 둘째로 큰 고유값의 절댓값이 정한다는 점에서, RNN의 기울기 소실(vanishing gradient)과 같은 종류의 수학입니다. 모양이 가장 닮은 것은 은닉 마르코프 모델(hidden Markov model)입니다. 둘 다 보이지 않는 상태가 관측을 따라 걸음마다 바뀝니다. 다만 HMM의 상태는 몇 개 가운데 하나인 무작위 변수입니다. 그 확률은 전향 알고리즘(forward algorithm)
역사와 지금. 1986년 마이클 조던, 1990년 제프리 엘먼이 오늘날의 꼴에 가까운 단순 순환망을 내놓았습니다. 2014년 일리야 수츠케버 등은 LSTM으로 문장을 읽어 고정된 길이의 벡터 하나에 담고, 또 다른 LSTM으로 다른 언어의 문장을 풀어내는 번역 모델(seq2seq)을 보였습니다. 긴 문장을 벡터 하나에 욱여넣는 것이 약점이었는데, 같은 해 드미트리 바다나우, 조경현, 벤지오는 풀어낼 때마다 입력 문장의 어느 낱말을 볼지 고르는 어텐션(attention)을 덧붙였습니다. 2016년에는 구글 번역도 LSTM 기반 신경망으로 바뀌었습니다. 2017년의 트랜스포머(transformer)는 순환을 아예 없애고 어텐션만 남겼습니다. 걸음을 차례로 하나씩 계산해야 하는 RNN과 달리 모든 위치를 한꺼번에 계산할 수 있어 GPU에서 훨씬 빨리 학습되기 때문입니다. 최근에는 선형 점화식
이어지는 곳. 규칙 하나를 되풀이해 수열을 만든다는 뼈대는 점화식에서, 되풀이가 수렴(convergence)하는지 발산(divergence)하는지 요동치는지는 동역학계와 고정점(fixed point)에서 볼 수 있습니다. 기울기가 폭발한다는 것은 k걸음 전 상태의 작은 차이가 지금 상태에서 지수적으로 커진다는 뜻이어서, 혼돈(chaos)의 초기값 민감성(sensitive dependence on initial conditions)과 같은 현상입니다. 행렬의 거듭제곱이 고유값의 거듭제곱이 되는 까닭은 대각화에 있습니다. 시간을 거슬러 기울기를 모으는 계산은 역방향 자동 미분(automatic differentiation)을 펼친 망에 쓴 것입니다. 입력
이 개념이 나오는 긴 글
이 개념 위에 세워진 것
이 개념을 언급하는 페이지
- 역전파
… 그 지름길로 줄지 않고 흘러감)을 쓰는 까닭 가운데 하나입니다. 같은 행렬을 시간 걸음마다 거듭 곱하는순환 신경망에서는 기울기가 지수적으로 사라지거나 폭발하기 쉽습니다. 퍼셉트론의 계단 함수는 거의 모든 곳에서 …
- 동역학계
… 신경망을 훈련하는 과정도 매개변수 공간 위의 이산 동역학계입니다. 입력을 받으며 같은 규칙을 되풀이하는순환 신경망도 이산 동역학계입니다. 그 학습 신호는 시간을 거슬러 한 걸음마다 같은 가중치 행렬이 든 곱을 거듭 …
- 기계 학습
… 로지스틱 회귀, 결정 트리, 서포트 벡터 머신이, 깊은 신경망의 갈래로는 합성곱 신경망,순환 신경망, 오토인코더, 확산 모델이 있고, 보상으로 배우는 쪽은 강화 학습입니다. 손실과 정보의 관계는 …
- 인공지능
… 모델이 학습 자료를 통째로 외우지 않게 했습니다. 이어 음성 인식과 기계 번역도 신경망으로 넘어갔고(순환 신경망과 LSTM), 2016년 3월 서울에서는 딥마인드의 알파고가 신경망과 몬테카를로 트리 탐색, 강화 학습을 엮어 …
- 어텐션
… 어텐션은 2014년 드미트리 바흐다나우, 조경현, 요슈아 벤지오가 기계 번역에 도입했습니다. 그전의순환 신경망번역기는 원문 전체를 고정된 길이의 벡터 하나에 눌러 담아야 해서 긴 문장에 약했습니다. 그들은 번역할 …
- 트랜스포머
… 규모의 법칙에서 쓰는 학습 계산량 C \approx 6ND (D는 학습 토큰 수)입니다. 트랜스포머가순환 신경망을 대신하게 된 까닭은 주로 계산 방식에 있습니다. 순환 신경망은 앞 토큰의 상태가 나와야 다음 토큰을 …
- 언어 모델과 다음 토큰 예측
… 들어옵니다. n-그램은 바로 앞 n − 1개 토큰만 본다고 가정하고(마르코프 연쇄의 가정),순환 신경망은 지금까지의 글을 고정된 크기의 벡터 하나에 요약하며, 트랜스포머는 정해진 문맥 창 안의 모든 토큰을 …
- 상태 공간 모형과 선형 순환
… 0.01 , 곧 |\lambda| \ge 0.01^{1/1000} \approx 0.9954 여야 합니다.순환 신경망의 기울기 소실과 같은 수학이지만, 여기서는 갱신이 선형이라 고유값을 학습이 우연히 만들어 내기를 기다리지 …
- 전문가 혼합
… y = \sum_{i:\,g_i(x) > 0} g_i(x)\,E_i(x) 이들은 글을 순서대로 읽는순환 신경망의 한 종류인 LSTM의 층 사이에 이런 층을 끼워, 전문가를 최대 13만 개 넘게, 매개변수를 …