English

KNOWLEDGE

AI도 잠을 자야 할까?

작은 모델에서 잠(학습을 멈추고 잡음을 흘려 연결이 앞뒤 뉴런만 보고 업데이트)을 통해서 성능 개선을 확인하였다. 하지만 큰 모델에서도 같다는 근거는 찾지 못했다.

잠은 여전히 신기한 영역이다. 왜 자야 하는지, 자는 동안 기억에 무슨 일이 일어나는지 과학자들도 아직 합의하지 못했다. 그런데 2022년의 한 논문은 신경망을 재워 봤고, 잊어버렸던 옛 과제가 돌아왔다.

직접 재워 보기

이 망은 옛 사진 A·B를 이미 안다. 전에 배워 둔 지식이다. 새 사진을 가르쳐 보자.

선 하나는 그 구역에 켜진 칸들의 연결을 더한 값이다. 주황(+)은 찬성, 파랑(−)은 반대이고, 굵을수록 세다. 선 둘을 더한 값이 출력의 점수이고, 점수가 가장 높은 출력이 답이다. 공유는 네 장이 함께 켜는 칸, A칸은 A 사진에만 켜는 칸이다. 출력을 누르면 덧셈이 보인다.

왜 돌아왔나: 한 번씩 눌러 보기

A 사진에서 C로 가는 선 둘만 본다. 새 사진을 배운 직후에서 시작한다.

C가 신호를 내는 순간, 앞쪽 칸마다 규칙 하나만 따른다.

결과를 예측해 보자

전문가용: 칸별 값, 실행 코드, 파라미터

위 이야기와 같은 망이다. 아래 코드는 이 페이지에서 실제로 도는 코드이고, 그림의 모든 칸은 그 코드의 변수값이다.

밤에 흘리는 입력
재우는 빠르기

구조: 입력 뉴런 100개 → 출력 뉴런 4개, 연결 400개

입력 뉴런 100개. 낮에는 고른 사진이 그대로 입력이다.

A 사진을 보여 주면, 켜진 칸의 연결이 표를 던진다

A 출력

발화 0

B 출력

발화 0

C 출력

발화 0

D 출력

발화 0

칸 하나는 입력 뉴런 하나에서 그 출력으로 가는 연결이다. 고른 사진이 켠 칸만 진하게 그렸다. 주황(+)은 찬성, 파랑(−)은 반대이고, 진할수록 표가 세다. 표를 더한 값이 그 출력의 점수이고, 점수가 가장 높은 출력이 답이다. 막대는 막전위로, 끝까지 차면 발화한다.

규칙: 연결 하나가 보는 것은 앞뒤 뉴런뿐이다

앞 뉴런(입력)뒤 뉴런(출력)연결이번 스텝밤새 누적
발화발화강해진다00
침묵발화약해진다00
상관없음침묵그대로00
pre[i] = rng() < input[i] * rateScale ? 1 : 0;
mem[k] = decay * mem[k] + alpha * sum(w[k][i] * pre[i]);
if (mem[k] >= beta) {
  w[k][i] += pre[i] ? inc * g(w[k][i]) : -dec * g(w[k][i]);
  mem[k] = 0;
}

g(w)는 저자 코드에 있는 문지기다. 뚜렷한 양수 연결에서는 거의 0이고 음수 연결에서는 2에 가깝다. 그래서 실제로 움직이는 것은 주로 음수 연결이다. 논문의 의사코드에는 이 항이 없다. 값은 inc 0.0035, dec 0.0002, decay 0.999, beta 1.045이고 저자 코드에서 가져왔다.

논문의 의사코드 그대로는 돌아오지 않았다. 문지기 g(w)와 감쇠를 빼면 새 출력의 연결이 끝없이 커져 11~14칸 모두 50%에 머물렀다. inc와 dec를 함께 1,000분의 1까지 줄여 본 범위에서도 같았다. 저자 코드의 규칙을 쓴 이유다.

점수: A 사진을 보여 주면

A 출력의 점수 C·D 출력 중 큰 점수. 파란 선이 위에 있어야 A라고 답한다.

쉬운 말과 용어

위에서 쓴 말용어
옛 사진에도 새 답을 외친다치명적 망각(catastrophic forgetting)
신호를 낸다발화(spike)
쌓인 신호막전위(membrane potential)
연결의 세기가중치(weight)
옛 사진, 새 사진옛 과제, 새 과제
밤의 한 차례스텝(step), 30,000번

회고 같은데, 왜 잠인가

  1. 겉모습은 회고를 닮았다. 하루를 마치고 일기를 쓰는 사람을 떠올려 보자. 하던 일을 멈추고, 전에 알던 것과 오늘 들어온 것을 함께 놓고 정리한다. 밤의 단계도 새 학습을 멈추고 네 장의 평균을 닮은 입력을 흘린다.
  2. 안에서 일어나는 일은 잠에 가깝다. 회고는 옛 지식과 새 지식을 두고 따져 보고 결론을 낸다. 이 잠은 사고(reasoning)를 하지 않는다. 생물의 뉴런이 그러하듯 노드의 가중치를 고칠 뿐인, 상당히 단순한(naive) 과정이다. 연결 하나는 앞 뉴런과 뒤 뉴런이 방금 발화했는지만 본다.
회고신경망의 잠
하던 일을 멈춘다그렇다그렇다
옛것과 새것을 함께 다룬다그렇다그렇다(평균 입력)
옛 지식과 새 지식을 두고 사고한다그렇다아니다
하는 일따져 보고 결론을 낸다노드의 가중치를 고친다

돌려 보니

위 코드를 시드 100개로 돌려 네 장 가운데 맞힌 비율을 쟀다. 논문의 그림 1과 같은 작은 실험을 직접 구현한 것이다.

겹치는 칸새 과제 뒤잠든 뒤옛 과제(잠든 뒤)
10칸100%100%100%
11칸50%100%100%
13칸50%99%99%
14칸50%80%59%
15칸50%50%0%
16칸(네 장이 똑같다)25%25%0%

논문이 보고한 더 큰 실험은 다음과 같다. 숫자는 다섯 과제를 차례로 배운 뒤의 테스트 정확도(%)다(논문 Table 1). 잠이 하한을 크게 넘지만 다 되찾지는 못한다.

데이터잠 없음잠사진 0.75% 저장한꺼번에 학습
MNIST19.4948.4779.9198.02
CIFAR-1019.0144.5539.3972.43

얼마나 확인했나

확인됨논문의 잠 절차(Algorithm 1)와 Table 1의 수치, 저자 코드의 잠 규칙과 파라미터(저장소 파일을 읽었다). 위 "돌려 보니"의 결과(이 페이지의 코드를 node로 돌렸다). 다만 저자의 MATLAB 코드 자체를 돌린 것은 아니다.

가설잠이 옛 기억을 되살린다기보다 한쪽으로 치우친 망을 되돌린다는 해석. 이 작은 실험과는 맞지만, 은닉층이 둘인 망에서는 둘째 은닉층의 옛 과제 입력이 늘었다는 보고(논문 Fig. 5)도 있어 두 설명을 가른 실험을 찾지 못했다.

모름큰 망에서 처음부터 끝까지 학습할 때도 통하는지, 독립된 팀이 재현했는지(찾지 못했다). 뇌에서도 이런 식으로 겹침이 풀리는지.

논문과 다른 점이 구현은 11칸부터 잊고 15칸에서 50%다. 논문 그림 1B는 13칸부터 잊고 15칸에서 약 75%다(그림에서 읽은 값). 사진마다 켜는 칸 16개는 논문 그림 1A에서 세었고, 학습률 0.1과 4회는 저자 스크립트, 모멘텀 없음은 논문 본문을 따랐다.

흔한 오해

오해잠이 옛 기억을 다시 세게 만든다.

실제로는이 실험에서 A로 가는 연결은 거의 그대로다. 새 출력이 옛 사진에 덜 외치게 되어 A가 다시 이긴다. 논문 그림 1C도 같은 방향이다.

오해뇌도 이렇게 잠을 잔다.

실제로는수면 연구에서 착안했을 뿐, 해마도 수면 단계도 순서 재생도 없다. 저자들도 단순화했다고 인정한다. 이 결과는 뇌의 기제를 뒷받침하는 근거가 아니다.

오해저장한 것이 아무것도 없다.

실제로는옛 사진은 저장하지 않지만 입력의 평균은 저장한다. 논문은 평균과 상관없는 입력으로도 일부는 돌아온다고 쓰지만 평균 입력이 더 낫다(Methods, SI §4). 논문의 임계값과 스케일도 학습 세트 성능으로 찾았고, 여기에 옛 과제 데이터가 쓰였는지는 논문에 적혀 있지 않다.

자주 묻는 질문

치명적 망각이 무엇인가요?

신경망이 과제를 차례로 배울 때 최근 과제는 잘하지만 앞서 배운 과제의 성능이 크게 떨어지는 현상입니다. 논문의 MNIST 실험에서 다섯 과제를 차례로 배우면 전체 정확도가 19.49%였습니다.

신경망의 잠은 무엇을 하나요?

활성화 함수를 임계값으로 바꾸고, 과거 입력의 평균 세기로 만든 잡음을 흘립니다. 뒤 뉴런이 발화할 때 앞 뉴런도 발화했으면 연결을 강화하고 침묵했으면 약화한 뒤, 원래 신경망으로 되돌립니다. 논문은 이 절차를 Sleep Replay Consolidation(SRC)이라고 부릅니다.

잠에 정답 데이터가 필요한가요?

잠 단계에는 정답도 오차도 저장한 사진도 쓰지 않고, 입력의 평균만 씁니다. 다만 논문은 파라미터를 학습 세트 성능으로 찾았고, 잠을 언제 재울지 정하려면 과제가 바뀌는 때를 알아야 합니다.

신경망을 재우면 성능이 얼마나 오르나요?

논문 Table 1에서 MNIST는 19.49%에서 48.47%로, CIFAR-10은 19.01%에서 44.55%로 올랐습니다. 한꺼번에 학습한 상한은 98.02%와 72.43%입니다. MNIST에서는 사진 0.75%를 저장하는 방법(79.91%)보다 낮고, CIFAR-10에서는 그 방법(39.39%)보다 높습니다.

ChatGPT 같은 큰 언어 모델에도 쓰이나요?

이 방법을 큰 언어 모델이나 제품에 적용한 사례는 찾지 못했습니다. 후속 연구도 대부분 저자 그룹에서 나왔고, 규모가 큰 망각 시험은 찾지 못했습니다.

사람의 수면도 기억을 지켜 주나요?

수면이 기억에 이롭다는 근거는 있지만, 새로운 학습의 간섭으로부터 기억을 보호한다는 핵심 발견은 직접 재현에 실패한 보고가 있습니다(Bailes 등 2020). 이 논문의 결과로 사람의 수면을 설명할 수는 없습니다.

더 보기