Deep Learning

[Paper] The Forward-Forward Algorithm: Some PreliminaryInvestigations

ju_young 2023. 1. 27. 01:18
728x90

What is wrong with backpropagation

backpropagation의 주된 한계점 중 하나는 learning과 inference가 따로 따로 수행된다는 것이다. neural network의 weights를 맞추기위해 training 알고리즘은 inference를 멈추고 backpropagation을 수행해야한다는 말이다. 하지만 실제로 real world에서의 뇌는 끊임없이 정보를 받으며 "perceptual system은 real time으로 inference와 learning을 수행해야한다"라고 말한다.

 

또한 backpropagation은 forward pass 에서 미분이 가능하지 않을때 수행되지 않는다. 이것은 "forward pass에 black box를 삽입하면 black box의 미분 가능한 모델을 학습하지 않는한 더 이상 backpropagation을 수행할 수 없다"라고 설명했다.

 

backpropagation이 불가능한 경우 reinforcement learning이 사용될 수 있는데 reinforcement learning는 expensive, slow, unstable하다.

 

The Forward-Forward Algorithm

두 개의 forward pass는 서로 비슷하지만 상반되는 다른 데이터에 각각 돌아간다. real data에 "positive pass"가 수행되면 network의 weights는 "goodness"가 증가하도록 조절된다. 반대로 negative data에 "negarive pass"가 수행되면 "goodness"가 감소하도록 조절된다.

 

본 논문에서는 sum of squared neural activities 과 negative sum of squared activities 으로 goodness를 측정한다. learning은 real data에 대한 특정 threshold 이상, negative data에 대한 특정 threshold 미만으로 network의 weights를 조절하는 것이 목적이다.

 

학습 중에, example과 label은 하나의 vector로 합쳐져 positive data가 만들어진다. 그리고 negative data를 만들때는 false label을 사용한다. 이렇게 만들어진 data가 network에 들어간 후 positive examples에 대한 goodness는 증가하고 negative examples에 대한 goodness는 감소하도록 weights가 조절된다. (backpropagation 없이!)

또한 FF algorithm은 미분이 필요없기 때문에 모델의 내부 작동을 알지못해도 parameter를 tuning 할 수 있다.

 

FF algorithm은 backpropagation과 속도는 비슷하지만 forward computation의 정확한 datail을 알 수 없는 경우 사용할 수 있다는 장점이 있다.

 

[reference]

https://bdtechtalks.com/2022/12/19/forward-forward-algorithm-geoffrey-hinton/

 

728x90