Нейронная сеть для распознавания букв

Я пытаюсь добавить в код однослойной нейронной сети, которая принимает растровое изображение в качестве входных данных и имеет 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

Заранее спасибо за любую помощь, я прочитал так много примеров и руководств, и у меня все еще возникают проблемы с определением, как это сделать все правильно.

7
задан Bill the Lizard 18 September 2012 в 16:59
поделиться