Sto provando ad aggiungere al codice una rete neurale a strato singolo che accetta come input una bitmap e ha 26 uscite per la probabilità di ogni lettera dell'alfabeto.Rete neurale per riconoscimento lettere
La prima domanda che ho riguarda il singolo livello nascosto che viene aggiunto. Ho ragione nel ritenere che il livello nascosto abbia il proprio insieme di valori di output e solo pesi? Non ha bisogno di avere il proprio pregiudizio '?
Posso anche confermare che sto pensando all'aspetto feedforward in modo corretto? Ecco alcuni pseudocodice:
// 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)
Supponendo che è corretto, sarebbe la formazione sia qualcosa di simile?
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
Grazie in anticipo per qualsiasi aiuto, ho letto tanti esempi e tutorial e sto ancora problemi determinare come fare tutto correttamente.
È questo compito? Se è così, taggalo come tale. Che sia o non sia, sperimenta; Ho imparato tonnellate dai miei fallimenti nella simulazione di reti neurali introduttive. Non è che creerai accidentalmente SkyNet e il declino dell'umanità o del sumptin. – msw
sì, è ora taggato.sto sperimentando ma sfortunatamente lo stato attuale si sta comportando molto male, quindi ovviamente sto facendo qualcosa di sbagliato – dylan