Обсуждение статьи "Многослойный перцептрон и алгоритм обратного распространения ошибки"

 

Опубликована статья Многослойный перцептрон и алгоритм обратного распространения ошибки:

В последнее время, с ростом популярности этих двух методов на Matlab, R, Python, C ++ и т.д., было разработано много библиотек, которые получают обучающий набор в качестве входа и автоматически создают соответствующую нейронную сеть для предполагаемой проблемы. Мы собираемся понять, как работает базовый тип нейронной сети (перцептрон с одним нейроном и многослойный перцептрон), а также захватывающий алгоритм, который отвечает за обучение сети (градиентный спуск и обратное распространение). Эти сетевые модели будут основой для более сложных моделей, существующих на сегодняшний день.

Градиентный спуск — это процесс минимизации функции в направлении градиента функции стоимости.

Это подразумевает знание формы стоимости, а также производной, чтобы с определенной точки мы могли узнать наклон и могли двигаться в этом направлении, например, вниз по направлению к минимальному значению.


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

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

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

Автор: Jonathan Pereira

 
Gostei muito do seu artigo, foi muito esclarecedor sobre os fundamentos do funcionamento de uma rede neural. Eu venho usando redes neurais para o desenvolvimento de eas a muito tempo, sempre aproveitando os critérios publicados nos artigos mas sem entender como eles funcionam.
 
Thank you, Jonathan! It is written in detail and interesting.
 

"Ниже представлена ​​функция под названием initialize_network(), которая создает веса нашей нейронной сети."

И тут же ниже...

// Forward propagate input to a network output
void forward_propagate(void)
...
...
Причина обращения: