Есть ли другой способ инициализации весов и смещений? Я инициализирую это случайно.
Да, обычно инициализировать веса случайным образом. Однако существуют разные методы выбора дисперсии, например, Инициализация Ксавье, инициализация Хе и т. Д. (См. это обсуждение ).
Это немного по-другому для предубеждений. В отличие от весов, вполне нормально начинать их с нулей. В сетях на основе ReLu обычно используются слегка положительные числа, чтобы убедиться, что большинство активаций положительные, по крайней мере, на начальном этапе, и обратное распространение ошибки. Но случайная инициализация обычно тоже работает.
Нужно ли выполнять backprop после каждого прямого прохода, или я должен брать средние ошибки оп и обновлять его в конце эпохи?
В классическом алгоритме да. Идея состоит в том, чтобы оценивать и обновлять сеть итеративно. Но вы можете выполнять обе операции для мини-пакета, а не для отдельных экземпляров, если это то, что вы описываете, и это работает более эффективно. Но нередко делать несколько проходов вперед перед одним проходом назад, это только замедлит тренировку.
Нужно ли использовать смещения во входном слое?
Смещения появляются в линейном слое вместе с весами. Сами данные передаются на первый уровень без смещения.