Я пытаюсь добавить в код однослойной нейронной сети, которая принимает растровое изображение в качестве входных данных и имеет 26 выходных данных для вероятности каждой буквы в алфавите.
Первый вопрос, который у меня есть, касается единственного добавляемого скрытого слоя. Правильно ли я полагаю, что скрытый слой будет иметь только собственный набор выходных значений и весов? Не обязательно иметь собственную предвзятость? »
Могу ли я также подтвердить, что я правильно думаю об аспекте прямой связи? Вот какой-то псевдокод:
// input => hidden
for j in hiddenOutput.length:
sum=inputs*hiddenWeights
hiddenOutput[j] = activationFunction(sum)
// hidden => output
for j in output.length:
sum=hiddenOutputs*weights
output[j] = activationFunction(sum)
Предполагая, что это правильно, будет ли обучение примерно таким?
def train(input[], desired[]):
iterate through output and determine errors[]
update weights & bias accordingly
iterate through hiddenOutput and determine hiddenErrors[]
update hiddenWeights & (same bias?) accordingly
Заранее спасибо за любую помощь, я прочитал так много примеров и руководств, и у меня все еще возникают проблемы с определением, как это сделать все правильно.