Also, das NN erkennt Bilder und der Trainer erwartet:
{
"pngprefix": "sep1_",
"nrouts": 24,
"w": 200,
"h": 20,
"maxiterations": 100,
"issquareouts": false,
"makegrey": false,
"tolearn": {
"sep1_44b2af7f.png": [
0.16,
0.25,
0.315,
0.405,
0.465,
0.59,
0.685,
0.74,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
],
"sep1_9ba226e0.png": [
0.22,
0.315,
0.41,
0.5,
0.6,
0.685,
0.77,
0.88,
0.965,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
],
"sep1_58d815ec.png": [
0.125,
0.18,
0.24,
0.3,
0.36,
0.415,
0.475,
0.55,
0.61,
0.65,
0.69,
0.75,
0.815,
0.87,
0.935,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
],
"sep1_9af89658.png": [
0.085,
0.125,
0.165,
0.205,
0.245,
0.285,
0.325,
0.38,
0.42,
0.445,
0.475,
0.515,
0.56,
0.605,
0.645,
0.69,
0.74,
0.795,
0.855,
0.905,
0.0,
0.0,
0.0,
0.0
],
"sep1_dcc6a401.png": [
0.195,
0.28,
0.4,
0.525,
0.645,
0.77,
0.825,
0.945,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
],
"sep1_734ad32a.png": [
0.145,
0.24,
0.38,
0.475,
0.535,
0.64,
0.745,
0.795,
0.88,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
],
"sep1_98a5bf4f.png": [
0.125,
0.185,
0.24,
0.295,
0.36,
0.415,
0.475,
0.55,
0.61,
0.645,
0.69,
0.75,
0.81,
0.875,
0.935,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
]
}
}
Wie man sieht, gibt es immer 24 Outputs, aber die Outputswerte sind unterschiedlich lang, steigen monoton an und die restlichen Werte sind 0.
Das NN soll berechnen, wann in einem Text der nächste Buchstabe anfängt.
Beispiele:
Hier ist es schon ganz gut, obwohl das ‘k’ etwas aus dem Bild ragt.
Hier ist’s schwer, ein Teil des 't’s ragt mit in das ‘l’, obwohl viel Leerraum nach dem ‘t’.
Hier erkennt er das ‘a’ noch nicht…
Hab ich die Trainingsdatenoutputs richtig gewählt?