2022년 12월 등장한 'The Forward-Forward Algorithm: Some Preliminary Investigations' 논문은 인공지능 연구자들에게 큰 충격을 줬습니다. 기존의 학습 방법인 역전파를 대체할 새로운 학습 방법이 등장했다는 기대감에 많은 사람들이 이 논문에 주목했는데요. 대체 Forward-Forward Algorithm, 이하 FF가 무엇이길래 역전파를 대체한다는 말이 나오는 것인지 살펴보겠습니다.
The Forward-Forward Algorithm: Some Preliminary Investigations
인공지능 연구 초기에는 인간의 신체 기작을 모방하는 방향으로 기술이 발전했습니다. 뇌의 뉴런을 본 뜬 인공뉴런(Artificial Neuron)부터 인간의 사물 인지 방식을 바탕으로 하는 CNN(Convolutional Neural Network)까지, 상당한 수의 핵심 아이디어들은 인간의 신체 작동 과정으로부터 나왔습니다.
DNN(Deep Neural Network) 역시 뇌의 뉴런들이 정보를 전달하는 방식을 참고해서 설계되었는데요. FF 알고리즘은 DNN의 역전파 과정이 뇌가 작동하는 방식과 유사하지 않고, 믿을만하지 않다라는 가정으로부터 시작합니다.
기존 딥러닝 네트워크는 순전파에서 연산 과정을 저장하고, 수많은 가중치와 편향과의 연산을 통해 결과를 예측합니다. 예측값은 실제 값과 비교되어, chain rule을 바탕으로 오차를 줄여나가게 되는데요. 즉, 정답값과 근사해가는 과정에서 필연적으로 역전파를 계속 계산해야 될 필요가 있다는 걸 의미합니다. 이렇게 매 번 순전파와 역전파를 반복하는 과정은 약간의 'time-out'을 초래하게 됩니다. 가중치 조정 단계와 추론 단계를 오가면서 약간의 시간이 소요되는 것이죠. 또한 미분을 사용하는 역전파의 특성상, 미분 불가능한 값을 처리하는 과정에서 데이터 손실도 일어나게 됩니다.
'time-out'이 발생하는 역전파는 연속적인 정보를 처리해야 되는 뇌의 입장에서 굳이 선택할 필요없는 비효율적인 방법입니다. 실제 뇌는 역전파와 같은 top-down 방식을 사용하지 않고, 일종의 'Loop'를 형성하여 정보를 처리합니다. 만약 정보가 뇌로 들어오면, 뉴런이 차례대로 이를 학습해서 오차를 줄여나가는 것이 아니라 활성화된 수많은 뉴런들과 상호 작용한 뒤에 스스로에게 다시 돌아오게 되는 것이죠.
Forward-Forward pass
본 논문은 기존의 역전파를 또 다른 forward pass로 대체하여, 총 2개의 forward pass를 활용합니다. 두 개의 pass는 각각 positive, negative data를 다루며 'goodness'를 평가하는데요. 한 번 예시를 살펴보겠습니다.
파란색 박스는 제대로 라벨된 'positive data', 빨간색 박스는 라벨링이 잘못된 'negative data'입니다. 각 layer는 아래의 goodness 함수를 거치는데요.
$$ p(positive) = \sigma (\Sigma_j y_j^2 - \theta) $$
positive data가 흐르면 네트워크는 각 layer별로 활성화 값의 제곱합, 즉 'goodness'가 최대가 되도록 학습합니다. 반대로, negative data는 이를 최소화하는 방향으로 학습하겠죠. Contrastive learning의 아이디어와 유사한 것 같죠? 여러 layer를 통과할 때는, 기존 활성화 값의 크기가 결과에 영향을 미칠 것을 고려하여 방향을 유지하며 크기를 조정하는 정규화 과정을 거칩니다.
추론을 할 때는, 각 Layer의 뉴런들이 학습된 내용을 바탕으로 데이터의 goodness를 판단한 뒤에 이에 맞는 결과값을 내놓습니다. Class의 개수만큼 추론을 한 뒤에, 데이터의 goodness 총합이 가장 큰 label을 class로 예측하는 것이죠.
이 과정은 인간이 생각하는 방식과 굉장히 유사한데요. 예를 들어, 저녁을 먹을 식당을 결정한다고 생각해봅시다. 우리는 일반적으로 여러 식당들을 떠올리면서 각 식당이 좋을지 안 좋을지 나름의 기준으로 판단한 뒤, 가장 좋을 것 같은 식당을 결정합니다. FF 알고리즘은 이런 일련의 사고 과정을 모방하여, 인공지능 역시 인간과 비슷한 방식으로 생각하고 결과를 반환할 수 있게 만들어줍니다.
역전파를 대체할 수 있을까?
결론부터 말하자면, 아직 역전파를 대체할 정도로 성능이 좋진 않습니다. 논문 저자 역시 Forward-Forward 알고리즘은 역전파를 대체하기 위함이 아니라, 특정한 상황(power-efficient가 필요한 task)에 적용 가능한 또다른 학습방법이라고 말합니다.
비록, 아직 역전파를 완전히 대체할 수는 없지만 역전파의 한계점을 지적하고 이를 대체할 새로운 학습 아이디어를 제시했다는 점에서 굉장한 의의가 있습니다. 본 논문에는 아티클에 담지 못한 다양한 실험과 자세한 설명이 서술돼 있으니 읽어보시는 걸 추천합니다. 앞으로의 후속 연구가 정말 기대되네요!!
'아티클' 카테고리의 다른 글
Dropout의 실체: Dropout Reduces Underfitting (0) | 2023.03.08 |
---|---|
딥러닝의 정의(feat. 머신러닝) (0) | 2023.03.06 |