Я сейчас просматриваю электронную книгу Майкла Нильсена Нейронные сети и глубокое обучение и запустил код, найденный в конце главы 1, который обучает нейронную сеть распознавать рукописные цифры (с небольшим изменением чтобы сделать алгоритм обратного распространения на основе мини-пакетной матрицы).
Однако, запустив этот код и достигнув точности классификации чуть менее 94%, я решил исключить использование смещений из сети. После переподготовки модифицированной сети я не обнаружил различий в точности классификации!
NB: Выходной слой этой сети содержит десять нейронов; если i-й из этих нейронов имеет наивысшую активацию, то вход классифицируется как ди git i.
Это заставило меня задуматься , почему необходимо использовать смещения в нейронной системе сеть, а не просто вес, и что отличает задачу, в которой смещения улучшат производительность сети, и задачу, в которой их нет?
Мой код можно найти здесь: https://github.com/pipthagoras/neural-network-1