入力としてビットマップを受け取り、アルファベットの各文字の可能性に対して 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
助けてくれてありがとう、私は非常に多くの例とチュートリアルを読みましたが、すべてを正しく行う方法をまだ判断できていません。