Geoffrey Hinton · Google Brain · 2022

The Forward-Forward Algorithm:
Some Preliminary Investigations

역전파(backpropagation)가 정말 필요한가? — 이 논문은 "뒤로 가지 않고 앞으로만 두 번 가면 학습이 가능하다"는 발상으로, 신경과학적 타당성과 저전력 하드웨어라는 두 마리 토끼를 잡으려 한다.

arXiv →
Forward-Forward Algorithm 역전파 대안 대조 학습 생물학적 학습 로컬 학습 규칙 Noise Contrastive Estimation 아날로그 하드웨어

문제의 배경 — 역전파의 무엇이 문제인가?

지난 10년간 딥러닝의 놀라운 성공은 역전파(backpropagation)라는 알고리즘 위에서 이루어졌다. 하지만 힌튼은 이 논문에서 "역전파가 작동한다는 사실"과 "역전파가 유일한 방법이어야 한다는 믿음"을 분리한다. 역전파에는 세 가지 근본적 한계가 있다.

한계 1 — 뇌는 역전파를 쓰지 않는다

생물학적 비타당성 역전파는 피질(cortex)의 학습 모델로서 타당하지 않다. 오류 도함수(error derivative)를 명시적으로 역방향 전파하거나, 이후 역방향 패스에서 사용하기 위해 신경 활동을 저장한다는 증거가 없다. 시각 경로에서 하위 피질 영역으로 가는 하향 연결은 역전파에서 기대되는 방식대로 상향 연결을 거울처럼 반영하지 않는다.

한계 2 — 시퀀스 학습에서 특히 비현실적

파이프라이닝 불가 시간에 따른 역전파(BPTT)는 더욱 비타당하다. 뇌는 끊임없이 흘러들어오는 감각 입력을 타임아웃 없이 처리해야 한다. 역전파는 도함수를 계산하기 위해 전방향 패스 전체를 저장해야 하므로, 파이프라인 방식의 실시간 학습이 불가능하다.

한계 3 — 블랙박스 모듈을 끼울 수 없다

불투명 연산 차단 역전파는 전방향 패스에서 수행되는 연산을 완벽하게 알아야만 올바른 도함수를 계산할 수 있다. 미분 불가능한 블랙박스 모듈을 삽입하는 순간 역전파는 멈춘다. 강화학습으로 우회할 수 있지만, 그것은 분산이 높고 파라미터 수에 역비례하는 학습률이 필요해서 대형 모델로 확장되지 않는다.
"As a model of how cortex learns, backpropagation remains implausible despite considerable effort to invent ways in which it could be implemented by real neurons."

피질이 학습하는 방식의 모델로서, 역전파는 실제 뉴런이 이를 구현할 수 있는 방법을 발명하려는 상당한 노력에도 불구하고 여전히 비타당하다.

기존 대안들의 한계

생물학적으로 타당한 역전파 대안을 찾으려는 시도들이 있었다:

그래서 이 논문은 다음 질문에 답하려 한다: "전방향 패스만 두 번 반복하는 것으로 역전파를 완전히 대체할 수 있는가?"

이 논문의 선택 — Forward-Forward의 핵심 아이디어

"The idea is to replace the forward and backward passes of backpropagation by two forward passes that operate in exactly the same way as each other, but on different data and with opposite objectives."

아이디어는 역전파의 전방향·역방향 패스를 정확히 같은 방식으로 동작하지만 서로 다른 데이터와 반대 목표를 가진 두 번의 전방향 패스로 대체하는 것이다.

핵심 통찰 각 레이어는 자체 목적함수를 가진다: 양성(real) 데이터에서는 높은 goodness를, 음성(negative) 데이터에서는 낮은 goodness를. 도함수를 역방향으로 전파할 필요가 전혀 없다.

두 전방향 패스의 구조

역전파 (Backpropagation)
① 전방향 패스 Layer 1 Layer 2 Loss ② 역방향 패스 (저장 필요) ∂L/∂W₁ ∂L/∂W₂ ∂L ✗ 활성값 전체 저장 ✗ 미분 가능해야 함 ✗ 파이프라이닝 불가
Forward-Forward (FF)
① 양성 패스 (실제 데이터) ↑ good ↑ good ↑ good ② 음성 패스 (가짜 데이터) ↓ good ↓ good ↓ good ✓ 활성값 저장 불필요 ✓ 블랙박스 모듈 OK ✓ 파이프라이닝 가능

Goodness 함수 — 각 레이어의 자체 목적함수

FF의 핵심 개념인 goodness는 레이어의 ReLU 뉴런 활성값의 제곱합이다:

\[ p(\text{positive}) = \sigma\!\left(\sum_j y_j^2 - \theta\right) \]
변수의미비고
y_jj번째 숨겨진 유닛의 활성값 (레이어 정규화 이전)ReLU 출력
Σy²_jgoodness — 레이어 활성값의 제곱합높을수록 "더 좋음"
θ임계값 (threshold)양성/음성 경계
σ로지스틱 함수확률로 변환

직관적 해설

각 레이어는 "이 입력이 실제 데이터인가?"를 독립적으로 묻는다. 실제 데이터라면 뉴런들이 강하게 반응(높은 제곱합)하고, 가짜 데이터라면 약하게 반응하도록 가중치가 조정된다. 이것이 레이어 단위 로컬 학습의 전부다 — 도함수를 역방향으로 전파할 필요가 없다.

수학적 유도

이 수식은 로지스틱 회귀의 형태다. Goodness(= Σy²_j)에서 임계값 θ를 뺀 값을 sigmoid에 통과시켜 양성 확률을 구한다. 학습 목표는 양성 데이터에서 이 확률을 높이고(Σy²_j > θ), 음성 데이터에서 낮추는(Σy²_j < θ) 것이다. 이는 표준 교차 엔트로피 손실로 최적화된다.

왜 이 접근법인가? — 대안 대비 근거

선택 이유 볼츠만 머신은 두 번의 패스가 서로 다르게 동작(에너지 기반 MCMC 수렴)하는 반면, FF는 두 패스가 완전히 동일한 메커니즘으로 동작한다. 구현이 단순하고, 각 레이어가 독립적으로 학습하므로 병렬화가 가능하다.

무엇을 포기했는가? — 트레이드오프

트레이드오프 FF는 역전파보다 약간 느리고 일반화가 약간 더 나쁘다. 또한 고품질의 음성 데이터(negative data)가 필요하며, 이를 만드는 방법이 결과의 품질을 크게 좌우한다. 대규모 모델로의 확장성도 아직 검증되지 않았다.

방법론

4a. 전체 아키텍처 & 데이터 플로우

FF는 다층 신경망의 각 레이어가 독립적으로 학습하는 탐욕적 다층 학습 절차(greedy multi-layer learning)다. 레이어 간 정보 전달을 위해 핵심적인 레이어 정규화(layer normalization)가 사용된다.

양성 패스 (Positive Pass) 실제 데이터 x [B, D_in] Layer 1 ↑ goodness [B, 2000] → norm → [B, 2000] Layer 2 ↑ goodness [B, 2000] → norm → [B, 2000] ··· Layer N ↑ goodness [B, 2000] → norm 음성 패스 (Negative Pass) 음성 데이터 x̃ [B, D_in] Layer 1 ↓ goodness 동일한 가중치 Layer 2 ↓ goodness ··· ↑ 두 패스는 동일한 가중치를 공유하며, 각 레이어가 독립적으로 업데이트

레이어 정규화가 핵심인 이유

FF에서 레이어 정규화는 선택이 아니라 필수적 설계 요소다. 이유를 이해하면 FF의 전체 구조가 명확해진다:

첫 번째 레이어가 goodness(활성값 제곱합)를 높이도록 학습되면, 두 번째 레이어는 첫 번째 레이어의 벡터 길이만 보고도 양성/음성을 구분할 수 있다. 새로운 특징을 전혀 학습할 필요가 없는 것이다. 레이어 정규화는 벡터를 길이로 나눔으로써 길이 정보(goodness)를 제거하고, 방향 정보(상대적 활성 패턴)만 다음 레이어로 전달한다.

"FF normalizes the length of the hidden vector before using it as input to the next layer... This removes all of the information that was used to determine the goodness in the first hidden layer and forces the next hidden layer to use information in the relative activities of the neurons."

FF는 다음 레이어의 입력으로 사용하기 전에 숨겨진 벡터의 길이를 정규화한다... 이는 첫 번째 레이어에서 goodness를 결정하는 데 사용된 모든 정보를 제거하고, 다음 레이어가 뉴런들의 상대적 활성값 정보를 사용하도록 강제한다.

4b. 수식 & 알고리즘

가중치 업데이트 규칙 (식 3)

\[ \Delta w_j = \frac{2\varepsilon}{\sum_j y_j^2} \cdot \frac{\partial \log(p)}{\partial \sum_j y_j^2} \cdot y_j \mathbf{x} \]
변수의미비고
Δw_j뉴런 j의 입력 가중치 벡터 변화량벡터
y_j레이어 정규화 이전 뉴런 j의 ReLU 활성값스칼라
x레이어 입력 벡터벡터
ε학습률하이퍼파라미터
∂log(p)/∂Σy²log-확률의 goodness에 대한 도함수스칼라

직관적 해설

이 업데이트의 핵심 속성: 가중치 업데이트가 해당 입력 벡터 x에 대한 레이어 정규화 출력을 변경하지 않는다. 이는 모든 숨겨진 활성값이 동일한 비율로 변화하기 때문이다 — y_j만이 뉴런 인덱스 j에 따라 다르고, 나머지는 동일하다. 따라서 활성 벡터의 방향은 유지되고 길이만 달라진다. 이로 인해 여러 레이어를 동시에 온라인 업데이트 할 수 있다.

수학적 유도

로지스틱 회귀와 동일한 형태에서 출발한다. p(positive) = σ(goodness - θ)일 때, log p에 대한 도함수는 (p - 1)이 된다 (양성 케이스). 체인 룰을 적용하면 ∂log(p)/∂w_j = (p-1) × ∂goodness/∂w_j = (p-1) × 2y_j × x. 이를 정리하면 위 식이 나온다. 중요한 점: 이 업데이트는 역방향 패스를 필요로 하지 않고, 해당 레이어의 활성값만으로 계산된다.

학습률 계산 공식 (식 4) — 빠른 학습

\[ \varepsilon = \sqrt{\frac{S^*}{S_L}} - 1 \]
변수의미비고
S*목표 goodness 값원하는 활성값 수준
S_L레이어 L의 현재 goodness레이어 정규화 이전 제곱합
ε이 케이스를 완벽히 처리하는 학습률단일 스텝 해

직관적 해설

이 식은 FF의 흥미로운 속성에서 나온다: 단 한 번의 가중치 업데이트로 특정 입력 벡터에 대해 원하는 goodness를 정확히 달성하는 학습률을 계산할 수 있다. 입력 벡터와 모든 레이어 정규화 벡터가 길이 1이라 가정했을 때 성립한다. 현재는 미니배치를 사용하므로 이 속성을 직접 활용하지는 않지만, 뇌의 "순간 학습(fast learning)" 능력과 관련될 수 있다.

수학적 유도

가중치 업데이트 후 활성값 j의 변화: Δy_j = Δw_j · x = (2ε/Σy²) × ∂log(p)/∂Σy² × y_j × ||x||². 이 변화가 모든 j에 대해 비례적이므로 활성 벡터 길이는 비례적으로 변한다. 원하는 goodness S*에 도달하는 조건을 풀면 ε = √(S*/S_L) - 1이 된다.

4c. 핵심 알고리즘 — 단계별 실행

스텝 1 / 6
입력 준비 Layer 1 goodness 계산 LayerNorm Layer N goodness 계산 가중치 업데이트

4d. 구현 세부사항

음성 데이터 생성 전략 — 핵심 설계 결정

FF는 무엇을 음성 데이터로 쓰느냐에 따라 무엇을 학습하는지가 달라진다. 논문은 두 가지 전략을 제시한다:

비지도 학습용: 하이브리드 이미지 두 자릿수 이미지를 랜덤 블러 마스크로 조합한 "하이브리드" 이미지를 음성 데이터로 사용. 단거리 픽셀 통계는 유사하지만 장거리 상관관계(형태)가 다르도록 설계되어, 네트워크가 형태 관련 특징을 학습하도록 유도한다.
지도 학습용: 잘못된 레이블 (이미지, 올바른 레이블)이 양성 데이터, (이미지, 잘못된 레이블)이 음성 데이터. 훈련 중 중립 레이블로 전방향 패스를 하여 가장 혼란스러운 레이블을 "하드 네거티브"로 선택하면 학습 에폭이 약 1/3로 줄어든다.

구현 하이퍼파라미터

항목MNIST (지도)MNIST (비지도)CIFAR-10
레이어 수442–3
각 레이어 뉴런 수2000 ReLU2000 ReLU3072 ReLU
학습 에폭60–500100-
정규화레이어 정규화레이어 정규화 + peer norm레이어 정규화 + weight decay
연결성완전 연결로컬 수용 필드 (선택)11×11 로컬 수용 필드
리커런트 사용 여부아니오아니오아니오

평가 논문은 명시하지 않지만, 학습 최적화기(optimizer) 종류와 학습률 스케줄에 대한 세부사항이 부족하다. 재현성을 위해서는 추가 정보가 필요하다.

결과

핵심 수치 요약

1.36%
MNIST 테스트 오류율
FF 지도학습 (BP: ~1.4%와 동급)
0.64%
MNIST (데이터 증강)
지터링 500에폭 → CNN 수준
41%
CIFAR-10 오류율 (FF)
BP: 37~39% — 작은 차이
1.37%
MNIST 비지도 FF
하이브리드 음성 데이터 사용

MNIST 실험 결과

방법학습 방식테스트 오류율에폭비고
Baseline Backpropagation 지도 학습~1.4%20Permutation-invariant 기준
Baseline BP + Regularizers 지도 학습~1.1%-Dropout, label smoothing 사용
Ours FF 지도 학습 양성/음성 레이블1.36%60하드 네거티브 레이블 선택
FF 비지도 (완전 연결) 하이브리드 이미지1.37%100선형 분류기 추가
Ours FF 비지도 (로컬 RF) 하이브리드 이미지1.16%60Peer normalization 포함
Ours FF + 데이터 증강 지도 + 지터링0.64%500±2픽셀 jittering, CNN 수준
FF 리커런트 (MNIST) 지도 학습, 8 timesteps1.31%60톱다운 연결 포함

CIFAR-10 실험 결과 — BP vs FF 비교

CIFAR-10은 복잡한 배경을 가진 32×32 컬러 이미지 분류 태스크다. 완전 연결 네트워크로는 심각한 과적합이 발생하므로, 논문은 11×11 로컬 수용 필드를 가진 비가중치-공유 로컬 연결 구조를 사용했다.

주목할 점: FF의 테스트 오류율은 BP보다 약간 높지만, 레이어가 늘어나도 격차가 커지지 않는다. 훈련 오류율에서는 FF가 BP보다 훨씬 높은데, 이는 FF가 역전파만큼 빠르게 훈련 데이터를 피팅하지 못한다는 것을 보여준다.

학습 절차테스트 절차숨겨진 레이어 수훈련 오류율테스트 오류율
Baseline BP표준20%37%
Ours FF (min ssq)레이블별 goodness220%41%
FF (min ssq)원패스 softmax231%45%
FF (max ssq)레이블별 goodness225%44%
Baseline BP표준32%39%
Ours FF (min ssq)레이블별 goodness324%41%

논문 원본 Figure & Table 보존

아래는 논문에 등장하는 모든 Figure와 Table의 원본 이미지다. 각 Figure 아래에 논문 내 위치, 목적, 주목할 포인트를 해설했다.

Figure 1: Hybrid Image
Figure 1 (논문 §3.2, p.4): 음성 데이터로 사용된 하이브리드 이미지

논문 내 위치: 섹션 3.2 "FF의 간단한 비지도 예시", 4페이지. 무엇을 보여주는가: 두 자릿수 이미지를 랜덤 블러 마스크로 합성한 하이브리드 이미지다. 단거리 픽셀 통계는 실제 이미지와 유사하지만, 형태(장거리 상관관계)는 말이 안 된다. 주목할 포인트: 음성 데이터를 어떻게 만드느냐가 FF가 무엇을 학습할지를 결정한다. 이 설계는 네트워크가 형태 관련 특징을 학습하도록 유도한다. 논문 주장과의 연결: FF는 고품질 음성 데이터 없이도 표현 학습이 가능하며, 이 실험이 그 첫 번째 증거다.

Figure 2 & 3
Figure 2 (논문 §3.3, p.6): 지터링 MNIST로 훈련된 첫 번째 숨겨진 레이어 100개 뉴런의 수용 필드

논문 내 위치: 섹션 3.3, 6페이지. 무엇을 보여주는가: FF로 훈련된 첫 번째 레이어 뉴런들이 엣지, 방향성 필터와 유사한 수용 필드를 학습했음을 보여준다. 레이블 정보가 첫 10픽셀에 인코딩되어 있다. 주목할 포인트: 역전파 없이도 의미 있는 특징 표현을 학습할 수 있음을 시각적으로 보여준다. Gabor 필터와 유사한 패턴이 보인다. 논문 주장과의 연결: 0.64% 테스트 오류율(CNN 수준)을 달성한 네트워크의 내부 표현 품질을 증명한다.

Figure 3: Recurrent Network
Figure 3 (논문 §3.4, p.6): 비디오 처리를 위한 리커런트 네트워크 구조

논문 내 위치: 섹션 3.4 "FF를 이용한 지각의 탑다운 효과 모델링", 6페이지. 무엇을 보여주는가: 정적 이미지를 지루한 비디오로 처리하는 리커런트 구조. 각 레이어의 활성 벡터가 이전 타임스텝의 위아래 레이어로부터 결정된다. 주목할 포인트: FF의 가장 큰 약점인 "레이어 간 피드백 학습 불가"를 리커런트 처리로 우회하려는 시도다. 논문 주장과의 연결: 역전파 없이도 탑다운 연결을 통한 컨텍스트 통합이 가능함을 보여주며, 1.31% MNIST 테스트 오류율을 달성했다.

Table 1: CIFAR-10 Results
Table 1 (논문 §4, p.8): CIFAR-10에서 역전파와 FF의 비교 — 로컬 수용 필드를 사용한 비합성곱 네트워크

논문 내 위치: 섹션 4 "CIFAR-10 실험", 8페이지. 무엇을 보여주는가: 다양한 FF 변형(min/max ssq goodness, 레이블별 goodness vs 원패스 softmax)을 BP와 비교한 테이블. 주목할 포인트: FF의 테스트 오류율은 BP보다 높지만 격차가 크지 않다. "레이블별 goodness 계산"이 "원패스 softmax"보다 3~5%p 더 정확하다. 논문 주장과의 연결: FF가 복잡한 배경을 가진 이미지에서도 BP와 경쟁적인 성능을 낼 수 있음을 보여준다.

한계점 & 트레이드오프

한계 1 역전파보다 느리고 일반화가 약간 나쁘다. 힌튼은 명시적으로 인정한다: "the forward-forward algorithm is somewhat slower than backpropagation and does not generalize quite as well on several of the toy problems." 파워 소비가 문제가 아닌 응용에서는 역전파를 대체할 가능성이 낮다.
한계 2 고품질 음성 데이터가 필요하다 — 이것이 핵심 미해결 문제. 지도 학습에서는 잘못된 레이블을 쓸 수 있지만, 비지도 학습에서는 좋은 음성 데이터 생성이 어렵다. 대규모 도메인에서의 작동 여부는 불명확하다.
한계 3 (가장 중요) 양성/음성 단계의 시간적 분리가 아직 작동하지 않는다. 힌튼은 이것이 "생물학적 모델로서 가장 중요한 미해결 질문"이라고 말한다. 초기 결과를 재현할 수 없었으며, 버그였을 가능성을 인정한다.
한계 4 대규모 모델 확장성이 검증되지 않았다. 제목 자체가 "예비 조사(preliminary investigations)"이며, 모든 실험이 수백만 파라미터 이하다. 수십억 파라미터 규모에서 BP와 경쟁 가능한지 미지수다.

트레이드오프 재정리

FF가 얻은 것FF가 잃은 것
✓ 역방향 패스 불필요 → 블랙박스 모듈 허용✗ 역전파보다 약간 낮은 성능
✓ 활성값 저장 불필요 → 파이프라이닝 가능✗ 고품질 음성 데이터 필요
✓ 각 레이어 독립 학습 → 병렬화 용이✗ 레이어 간 피드백 학습 어려움
✓ 아날로그 하드웨어 친화적✗ 대규모 확장성 미검증
✓ 뇌 모델로서 더 타당✗ 수면-각성 분리 미해결

영향력 & 후속 연구

누구에게 중요한가?

힌튼은 두 분야를 명시적으로 지목한다:

응용 1: 뇌 피질 학습 모델 역전파가 뇌에서 어떻게 구현되는지 설명하려는 수십 년간의 시도와 달리, FF는 뇌가 실제로 사용할 법한 로컬 학습 규칙만 요구한다. 이는 계산 신경과학자들에게 새로운 연구 방향을 제시한다.
응용 2: 저전력 아날로그 하드웨어 전압(활성값) × 전도도(가중치) = 전하(곱셈)로 구현하면 매우 에너지 효율적이다. 그러나 역전파에는 A-D 변환기와 디지털 연산이 필요하다. FF는 두 번의 전방향 패스만 필요하므로 아날로그 하드웨어에서 역전파 없이 학습이 가능하다.
응용 3: "필멸 계산(Mortal Computation)" 각 하드웨어 인스턴스의 고유한 비선형성을 활용해 학습하는 새로운 패러다임. 가중치를 다른 하드웨어로 복사하는 것이 불가능하지만, 증류(distillation)로 함수 자체를 전달할 수 있다. 1와트 이하 소비 전력의 조 파라미터 네트워크를 꿈꾼다.

저자가 제안한 후속 과제 (Section 10)

Q&A — 연구자의 고민과 독자의 질문

Q1. 왜 역전파 대신 FF를 쓰려는가? 성능이 더 나쁜데?

힌튼의 대답은 두 가지 측면이다. 첫째, 생물학적 타당성: 뇌가 역전파를 사용하지 않는다면, 뇌의 학습을 이해하려면 역전파 없이도 작동하는 알고리즘이 필요하다. FF는 뇌에서 구현할 수 있는 로컬 학습 규칙만을 사용한다.

"The two areas in which the forward-forward algorithm may be superior to backpropagation are as a model of learning in cortex and as a way of making use of very low-power analog hardware."

FF가 역전파보다 우수할 수 있는 두 분야는 피질 학습 모델로서와 저전력 아날로그 하드웨어 활용 방식으로서다.

둘째, 하드웨어 효율성: 아날로그 하드웨어에서 역전파는 A-D 변환기가 필요해 비효율적이다. FF는 두 번의 전방향 패스만으로 학습이 가능하다.

Q2. 음성 데이터를 어떻게 만드는지가 왜 그렇게 중요한가?

FF의 학습 목표는 네트워크가 양성과 음성 데이터를 구분하는 것이다. 따라서 음성 데이터가 어떤 점에서 양성 데이터와 다른지가 네트워크가 배우는 특징을 결정한다.

만약 단순히 랜덤 노이즈를 음성 데이터로 사용한다면, 네트워크는 "노이즈 대 의미 있는 신호"만 구분하는 낮은 수준의 특징을 배운다. 하이브리드 이미지처럼 단거리 통계는 유사하지만 장거리 구조가 다른 음성 데이터를 사용하면, 네트워크는 더 고수준의 형태 관련 특징을 학습하도록 강제된다.

평가 이 점은 FF의 가장 큰 설계 도전이기도 하다. 도메인마다 좋은 음성 데이터를 만드는 방법이 달라지므로, FF를 새로운 도메인에 적용하려면 도메인 지식이 필요하다.

Q3. 레이어 정규화를 빼면 어떻게 되는가? 왜 반드시 필요한가?

레이어 정규화 없이는 두 번째 레이어가 첫 번째 레이어의 활성 벡터 길이(= goodness)만 보고 양성/음성을 완벽히 구분할 수 있다. 첫 레이어가 goodness를 높이도록 학습됐으므로, 두 번째 레이어는 길이만 체크하면 되고 새로운 특징을 전혀 학습할 필요가 없다.

"The length is used to define the goodness for that layer and only the orientation is passed to the next layer."

벡터 길이는 해당 레이어의 goodness를 정의하는 데 사용되고, 방향만이 다음 레이어로 전달된다.

레이어 정규화는 길이를 제거함으로써 각 레이어가 상대적 활성 패턴(방향)에서 새로운 정보를 추출하도록 강제한다.

Q4. FF로 생성 모델(이미지 생성 등)을 만들 수 있는가?

논문은 이 질문을 미래 연구로 남긴다. FF는 각 레이어가 판별 모델(discriminative model)의 역할을 하므로, 동일한 숨겨진 표현을 공유하는 생성 모델을 학습시킬 가능성이 있다. 숨겨진 표현을 실제 데이터로 변환하는 부분은 역전파 없이 선형 변환(softmax로의 로짓 계산)으로도 가능하다.

평가 GAN과의 관계(§6.2)에서 힌튼은 FF를 GAN의 특수한 경우로 볼 수 있다고 논의한다. GAN의 판별 모델과 생성 모델이 동일한 숨겨진 표현을 공유하면 모드 붕괴(mode collapse)가 제거될 수 있다는 통찰은 흥미롭지만, 실제 구현은 아직 시연되지 않았다.

Q5. 힌튼이 직접 버그가 있었다고 인정한 부분은 무엇인가?

수면(sleep) 섹션(§5)에서 힌튼은 초기 논문 초안에서 양성/음성 단계를 시간적으로 분리할 수 있다고 보고했다고 말한다. 예를 들어 양성 업데이트를 여러 번 한 다음 음성 업데이트를 여러 번 하는 방식이 잘 작동한다고 했다. 하지만 이후 이 결과를 재현할 수 없었고, 버그 때문이었을 것으로 의심한다.

이것은 이 논문이 완성된 연구가 아니라 예비 조사임을 보여주는 중요한 사례다. 힌튼은 자신의 실패를 솔직하게 공개한다.

"I have been unable to replicate this result and I now suspect it was due to a bug."

나는 이 결과를 재현할 수 없었으며, 이제 그것이 버그 때문이었을 것으로 의심한다.

Q6. 코드/구현은 어디서 볼 수 있는가?

논문 자체에는 공식 코드 링크가 제공되지 않는다. 그러나 이 논문은 큰 반향을 일으켜 커뮤니티에서 여러 구현이 나왔다:

보충 힌튼은 2022년 NeurIPS에서 이 알고리즘을 발표했으며, 강연 영상에서 추가 직관을 얻을 수 있다.