Архитектура нейронной сети
Я читал газету, и авторы описали свою сеть следующим образом:
"Для обучения соответствующей глубокой сети используется полностью подключенная сеть с одним скрытым слоем. Сеть имеет девять двоичных входных узлов. Скрытый слой содержит один сигмовидный узел, а в выходном слое есть одна внутренняя функция произведения. Таким образом, Сеть имеет 10 переменных."
Сеть используется для прогнозирования непрерывного числа (y). Моя проблема в том, что я не понимаю структуру сети после сигмовидного узла. Что делает выходной слой? Для чего используется внутренний продукт?
1 ответ
Обычно функции предварительной активации на нейрон представляют собой комбинацию внутреннего продукта (или точечного продукта при умножении вектора на вектор) и одного дополнения для введения смещения. Один нейрон может быть описан как
z = b + w1*x1 + x2*x2 + ... + xn*xn
= b + w'*x
h = activation(z)
где b
аддитивный термин (смещение нейрона), и каждый h
является выходом одного слоя и соответствует входу следующего слоя. В случае "выходного слоя", это то, что y = h
, Слой также может состоять из нескольких нейронов или - как в вашем примере - только из отдельных нейронов.
В описанном случае кажется, что смещение не используется. Я понимаю это следующим образом:
Для каждого входного нейрона x1
в x9
, используется один вес, здесь ничего особенного. Поскольку имеется девять входов, это составляет 9 весов, что приводит к чему-то вроде:
hidden_out = sigmoid(w1*x1 + w2*x2 + ... + w9*x9)
Чтобы подключить скрытый слой к выходному сигналу, применяется то же правило: входное значение выходного слоя взвешивается, а затем суммируется по всем входным данным. Поскольку имеется только один входной сигнал, только один вес должен быть "суммирован", так что
output = w10*hidden_out
Имейте в виду, что функция сигмоида сжимает свой входной сигнал в выходной диапазон 0..1, поэтому умножение его на вес перемасштабирует его до требуемого выходного диапазона.