Geoffrey Hinton, professor da University of Toronto e colega de engenharia em Google Brain, publicou recentemente um artigo sobre Avanço-Avanço algoritmo (FF), uma técnica para treinar redes neurais que usa duas passagens de dados pela rede, em vez de retropropagação, para atualizar os pesos do modelo.

A motivação de Hinton para o algoritmo é abordar algumas das deficiências do treinamento de retropropagação padrão, que requer conhecimento total da computação na passagem direta para calcular derivadas e armazenar valores de ativação durante o treinamento. O insight de Hinton foi usar duas passagens de dados de entrada - uma positivo e um negativo— que têm funções objetivas opostas a serem otimizadas. Hinton mostrou que as redes treinadas com FF podem executar tarefas de visão computacional (CV) tão bem quanto aquelas treinadas usando retropropagação. De acordo com Hinton,

O algoritmo Forward-Forward (FF) é comparável em velocidade à retropropagação, mas tem a vantagem de poder ser usado quando os detalhes precisos da computação direta são desconhecidos. Ele também tem a vantagem de poder aprender enquanto canaliza dados sequenciais por meio de uma rede neural sem nunca armazenar as atividades neurais ou parar para propagar derivadas de erro. de aprendizado no córtex e como uma forma de fazer uso de hardware analógico de baixíssima potência sem recorrer ao aprendizado por reforço.

Embora as redes neurais artificiais (ANN) sejam baseadas em um modelo matemático do cérebro, o algoritmo de retropropagação padrão usado para treinar essas redes não é baseado em nenhum processo biológico conhecido. Além de ser biologicamente implausível, a retropropagação também apresenta algumas desvantagens computacionais, conforme observado acima. Hinton aponta que as ANNs podem ser treinadas usando aprendizado por reforço (RL) sem retropropagação, mas essa técnica “escala mal… para grandes redes contendo muitos milhões ou bilhões de parâmetros”. Em 2021, o InfoQ cobriu uma alternativa biologicamente plausível à retropropagação chamada aprendizado de inferência com divergência zero (Z-IL) que pode reproduzir exatamente os resultados da retropropagação.

O algoritmo FF de Hinton substitui as passagens para frente e para trás do treinamento de retropropagação por duas passagens para frente que “operam da mesma maneira uma da outra”. A primeira passagem direta opera em dados positivos de um conjunto de treinamento e os pesos da rede são ajustados para fazer com que essa entrada aumente o valor de uma camada. melhor valor. Na segunda passagem direta, a rede recebe um exemplo negativo gerado que não é obtido do conjunto de dados. Os pesos da rede são ajustados de forma que essa entrada diminua a qualidade de uma camada.

Hinton usou FF para treinar várias redes neurais para executar tarefas CV no MNIST e CIFAR conjuntos de dados. As redes eram relativamente pequenas, contendo duas ou três camadas convolucionais ocultas, e foram treinadas por menos de 100 épocas. Quando avaliadas em conjuntos de dados de teste, as redes treinadas em FF tiveram desempenho “apenas um pouco pior” do que aquelas treinadas usando retropropagação.

Diego Fiori, CTO da Nebuly, implementou o algoritmo FF de Hinton e discutiu seus resultados no Twitter:

O artigo de Hinton propôs 2 algoritmos Forward-Forward diferentes, que chamei de Base e Recorrente. Vamos ver por que, apesar do nome, o Base é realmente o algoritmo de melhor desempenho... o algoritmo Base FF pode ser muito mais eficiente em termos de memória do que o backprop clássico, com até 45% de economia de memória para redes profundas.