Джеффри Хинтон, профессор Университет Торонто и научный сотрудник в Google Brain, недавно опубликовал статью о Вперед-Вперед алгоритм (FF), метод обучения нейронных сетей, который использует два прямых прохода данных через сеть вместо обратное распространение, чтобы обновить веса модели.

Мотивация Хинтона для алгоритма состоит в том, чтобы устранить некоторые недостатки стандартного обучения обратного распространения, которое требует полного знания вычислений в прямом проходе для вычисления производных и сохранения значений активации во время обучения. Идея Хинтона состояла в том, чтобы использовать два прямых прохода входных данных — один положительный и один отрицательный– которые имеют противоположные целевые функции, подлежащие оптимизации. Хинтон показал, что сети, обученные с помощью FF, могут выполнять задачи компьютерного зрения (CV) так же, как сети, обученные с использованием обратного распространения ошибки. По словам Хинтона,

Алгоритм «вперед-вперед» (FF) сравним по скорости с обратным распространением, но имеет то преимущество, что его можно использовать, когда неизвестны точные детали прямого вычисления. У него также есть то преимущество, что он может обучаться во время конвейерной передачи последовательных данных через нейронную сеть, даже не сохраняя нейронную активность или не останавливаясь для распространения производных ошибок… Две области, в которых алгоритм прямого-прямого распространения может быть лучше обратного распространения, — это модель. обучения в коре головного мозга и как способ использования очень маломощного аналогового оборудования, не прибегая к обучению с подкреплением.

Хотя искусственные нейронные сети (ИНС) основаны на математическая модель мозга, стандартный алгоритм обратного распространения, используемый для обучения этих сетей, не основан на каком-либо известном биологическом процессе. Помимо того, что обратное распространение неправдоподобно с биологической точки зрения, оно также имеет некоторые вычислительные недостатки, как отмечалось выше. Хинтон отмечает, что ИНС можно обучать с помощью обучения с подкреплением (RL) без обратного распространения, но этот метод «плохо масштабируется… для больших сетей, содержащих многие миллионы или миллиарды параметров». В 2021 году InfoQ рассмотрел биологически правдоподобную альтернативу обратному распространению, называемую обучение выводу с нулевым расхождением (Z-IL), который может точно воспроизвести результаты обратного распространения.

Алгоритм FF Хинтона заменяет проходы вперед-назад при обучении обратному распространению двумя проходами вперед, которые «работают одинаково друг с другом». Первый прямой проход работает с положительными данными из обучающего набора, а веса сети корректируются таким образом, чтобы эти входные данные увеличивали значение слоя. лучший ценить. На втором прямом проходе сети предоставляется сгенерированный отрицательный пример, не взятый из набора данных. Веса сети корректируются таким образом, чтобы эти входные данные уменьшали качество слоя.

Хинтон использовал FF для обучения нескольких нейронных сетей выполнению задач CV на МНИСТ и СИФАР наборы данных. Сети были относительно небольшими, содержали два или три скрытых сверточных слоя и обучались менее чем за 100 эпох. При оценке тестовых наборов данных сети, обученные FF, работали «лишь немного хуже», чем сети, обученные с использованием обратного распространения.

Диего Фиори, технический директор Nebuly, внедрил алгоритм Хинтона FF и обсудил его результаты на Twitter:

В статье Хинтона предложено 2 разных алгоритма Forward-Forward, которые я назвал базовым и рекуррентным. Давайте посмотрим, почему, несмотря на название, Base на самом деле является самым производительным алгоритмом… Алгоритм Base FF может быть намного более эффективным с точки зрения памяти, чем классический backprop, с экономией памяти до 45% для глубоких сетей.