добавление скрытого слоя резко снижает производительность нейронной сети - PullRequest
0 голосов
/ 19 октября 2011

У меня есть некоторый код для однослойной нейронной сети:

class network {

var outputs;
var weights;
var biases;

feedforward(inputs) {
}

outputFunction(number) {
}

}

Функция вывода - сигмовидная (поэтому возвращает число от 0 до 1).Входные данные представляют собой массив из 1 и 0.

Я добавил скрытый слой, добавив output2, weights2, biases2, и затем сделал:узлы теперь являются выходными данными моего скрытого слоя, поэтому он должен по крайней мере иметь аналогичную производительность.Тем не менее, после повторного обучения сети производительность значительно снизилась.Есть идеи?Обучение еще не имеет обратного распространения к скрытому слою, оно просто обновляет веса выходного слоя, и веса скрытого слоя остаются неизменными всегда.

1 Ответ

0 голосов
/ 19 октября 2011

Если веса скрытого слоя случайные и фиксированные, то все, что они делают, это искажают сигнал.

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

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