Serguey Zefirov (thesz) wrote,
Serguey Zefirov
thesz

Category:

Тренировка нейросетй без распространения ошибок.

Раз: https://arxiv.org/pdf/1908.01580.pdf
Два: http://proceedings.mlr.press/v48/taylor16.pdf
Три: https://arxiv.org/pdf/1910.01526.pdf

В первой и третьей статьях тренируют нейросети послойно (в некотором приближении), уменьшая потери относительно выхода. В третьей сети это непосредственный процесс уменьшения ошибки предсказания выхода, в первой - уменьшают некоторую статистическую оценку между выходом уровня сети и входом и выходом сети в целом.

Вторая статья использует, можно сказать, распространение ошибок, но в режиме оптимизации по всему объёму данных - по всему объёму тренировочных данных, не на очередной выборке (batch) из тренировочного объёма.

Распространение ошибок выполняется через вычисление наименьших квадратов по всему набору тренировочных данных, уменьшая ошибку между текущим входом уровня нейроcети и ожидаемым предсказанием. Поэтому второй метод требует большого количества узлов - надо где-то хранить вычисленные входы, чтобы создавать задачи наименьших квадратов.

Самое интересное во второй статье на странице 8: метод обратного распространения ошибок (backpropagation) заканчивает там, где метод второй статьи (ADMM) начинает работу. Да и сопряжённый градиент не отстал.

Поэтому я читаю такие странные вещи. Несмотря на относительную дешевизну, метод обратного распространения ошибок требует значительного внимания к скорости обучения (learning rate), качеству выборки данных из тренировочного набора и многому другому. В некоторых случаях достаточно хорошего способа выборки примеров просто нельзя найти, например, с рекуррентными сетями.

Вдогонку: https://arxiv.org/pdf/1409.5827.pdf - как вместо сложных статистических вычислений использовать невероятно параллельные.
Tags: нейронные сети
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments