Зачем брать среднее значение весовых матриц при обучении нейронных сетей? - PullRequest
0 голосов
/ 18 июня 2020

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

И мой второй вопрос: почему перемешивание обучающих выборок более эффективно? Неважно, перемешиваете вы это или нет, вы go перебираете их все, поэтому перемешивать их просто не имеет смысла.

1 Ответ

0 голосов
/ 18 июня 2020

По поводу вашего второго вопроса: при передаче образцов в вашу сеть вы хотите, чтобы ваши образцы были как можно более независимыми друг от друга.

Например, предположим, что вы пытаетесь классифицировать изображения и половину ваш набор данных состоит из изображений кошки (и другой половины собак). Если вы не перетасовываете свой набор данных, ваша сеть узнает, что первая выборка относится к кошке, вторая - к кошке и так далее. Что он узнает, увидев половину набора данных? Ничего. Хуже того, ваша сеть научится всегда отвечать «кошка» независимо от ввода. Этот феномен обобщается на классификаторы с более чем двумя классами и даже на регрессию.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...