Ich werde das Thema bestätigen, weil es ein gutes Lernmaterial ist, über das ich mir ein wenig Sorgen gemacht habe.
Ich habe auf Twitter japanische "nur" unlesbare Schriftarten gehört !? Ich fand es dumm, aber ich konnte es nicht lesen, weil es wirklich lesbar zu sein schien! (Http://togetter.com/li/887973)
** "Ändert sich das Lesbare und Unlesbare (= nicht unterscheidbare), je nachdem, ob es eine Erkennungsfunktion für Katakana (oder eine Form in der Nähe) gibt oder nicht?" **
Deshalb habe ich beschlossen, es mit einem Faltungsnetz zu überprüfen. Jemand hat es vielleicht schon versucht, aber es ist eine Sache, weil es studiert.
Die Erklärung des Faltungs-Neuronalen Netzes entfällt hier. Ich weiß es nicht.
Ein Klassifikator, der nur Englisch klassifizieren kann, ist genauer als ein Klassifikator, der Katakana + Englisch klassifizieren kann.
Durch Vergleichen der folgenden 5 Muster bewerten wir die Auswirkung des Unterschieds bekannter Zeichen auf die Genauigkeit.
No. | Trainingsdaten | Anzahl der Ausgabeklassen |
---|---|---|
1 | Nur Alphabet + Nummer | 62 (Groß- und Kleinschreibung beachten) |
2 | No.Nur 1 + Hiragana | 62+48 = 110 |
3 | No.1 + nur Katakana | 62+48 = 110 |
4 | No.1 + Hiragana + Katakana | 62+48*2 = 158 |
5 | No.1 + hebräisches Zeichen | 62+28 = 89 |
Für Nr. 5 http://dic.nicovideo.jp/a/%E3%83%98%E3%83%96%E3%83%A9%E3%82%A4%E6%96%87%E5% Die in AD% 97 beschriebenen "Buchstaben" und "Endform" werden als separate Klassen behandelt. (Erstens, für Tsukkomi, der "hebräische Zeichen" sagte, ist der Grund, dass ich es zum Vergleich hinzugefügt habe, weil es im Kommentar einen Kommentar gab: "Ich denke, es ist ein bisschen wie hebräische Zeichen.")
Ich dachte, ich würde kostenlose Daten für OCR verwenden, aber ich konnte nicht die richtigen finden, also habe ich es selbst gemacht.
Generieren Sie viele Bilder mit einem Zeichen mit Pillow (PIL) (http://qiita.com/lazykyama/items/65bcce351f3d1cf07d8e) Ich habe ein Bild von nur einem Zeichen für die Anzahl der Zielzeichen erstellt und zufälliges Rauschen hinzugefügt, um die Daten aufzublasen. Bei dieser Überprüfung werden 30 Bilder mit Rauschen pro Zeichen dynamisch generiert und als Trainingsdaten verwendet.
Außerdem wurde das verwendete Testbild manuell aus dem Beispielbild unter http://www.dafont.com/electroharmonix.font ausgeschnitten.
Sowohl Trainingsdaten als auch Testdaten verwenden 64x64-Graustufenbilder.
Die Struktur des Klassifikators entspricht dem folgenden Code. Verschiedene Parameter sind angemessen.
self.__model = chainer.FunctionSet(
conv1=F.Convolution2D(1, 16, 5),
conv2=F.Convolution2D(16, 16, 5),
l3=F.Linear(784, 784),
softmax4=F.Linear(784, class_num))
#Unterlassung
x = chainer.Variable(source)
h = F.max_pooling_2d(F.relu(self.__model.conv1(x)), ksize=2, stride=2)
h = F.max_pooling_2d(F.relu(self.__model.conv2(h)), ksize=3, stride=4)
h = F.dropout(F.relu(self.__model.l3(h)), train=train)
y = self.__model.softmax4(h)
Wie Sie sehen können, verwenden wir für diese Implementierung Chainer. (Vielen Dank, dass Sie sich auf http://qiita.com/hogefugabar/items/312707a09d29632e7288 beziehen.)
Dieses Experiment verwendet die folgenden Parameter für alle Muster. (Ich versuche verschiedene andere Dinge)
Die Ergebnisse unter diesen Bedingungen sind wie folgt.
No. | Trainingsdaten | Richtige Antwortrate |
---|---|---|
1 | Nur Alphabet + Nummer | 46.2% (12 / 26) |
2 | No.Nur 1 + Hiragana | 34.6% ( 9 / 26) |
3 | No.1 + nur Katakana | 15.4% ( 4 / 26) |
4 | No.1 + Hiragana + Katakana | 26.9% ( 7 / 26) |
5 | No.1 + hebräisches Zeichen | 23.1% ( 6 / 26) |
Erstens ist der Prozentsatz der richtigen Antworten nicht sehr hoch, aber dennoch ist die Genauigkeit beim Mischen mit Katakana schrecklich. .. .. Schließlich kann es für Japaner schwierig sein, zu lesen.
Schließlich wird das Protokoll zum Zeitpunkt des Tests unten beschrieben. (Im Protokoll zeigt "capsV" usw. an, dass es sich um Großbuchstaben handelt. Der diesmal anvisierte Elektroharmonix scheint sowohl in Groß- als auch in Kleinbuchstaben dieselbe Form zu haben, sodass er unabhängig von der Übereinstimmung als die richtige Antwort behandelt wird. )
test models.
[PATTERN1]: English only.
2015-10-19 08:08:39,112 [INFO] #data: 26
2015-10-19 08:08:39,186 [INFO] correct: v, answer: capsV => RIGHT
2015-10-19 08:08:39,186 [INFO] correct: g, answer: capsT => WRONG
2015-10-19 08:08:39,186 [INFO] correct: s, answer: capsE => WRONG
2015-10-19 08:08:39,187 [INFO] correct: o, answer: capsD => WRONG
2015-10-19 08:08:39,187 [INFO] correct: i, answer: capsZ => WRONG
2015-10-19 08:08:39,187 [INFO] correct: r, answer: capsR => RIGHT
2015-10-19 08:08:39,187 [INFO] correct: u, answer: capsU => RIGHT
2015-10-19 08:08:39,187 [INFO] correct: a, answer: capsA => RIGHT
2015-10-19 08:08:39,187 [INFO] correct: h, answer: capsH => RIGHT
2015-10-19 08:08:39,188 [INFO] correct: l, answer: capsD => WRONG
2015-10-19 08:08:39,188 [INFO] correct: k, answer: capsN => WRONG
2015-10-19 08:08:39,188 [INFO] correct: n, answer: capsO => WRONG
2015-10-19 08:08:39,188 [INFO] correct: q, answer: capsT => WRONG
2015-10-19 08:08:39,188 [INFO] correct: d, answer: capsD => RIGHT
2015-10-19 08:08:39,188 [INFO] correct: m, answer: capsM => RIGHT
2015-10-19 08:08:39,189 [INFO] correct: t, answer: n => WRONG
2015-10-19 08:08:39,189 [INFO] correct: e, answer: capsE => RIGHT
2015-10-19 08:08:39,189 [INFO] correct: x, answer: x => RIGHT
2015-10-19 08:08:39,189 [INFO] correct: p, answer: capsF => WRONG
2015-10-19 08:08:39,189 [INFO] correct: w, answer: capsQ => WRONG
2015-10-19 08:08:39,189 [INFO] correct: z, answer: capsZ => RIGHT
2015-10-19 08:08:39,189 [INFO] correct: y, answer: capsY => RIGHT
2015-10-19 08:08:39,189 [INFO] correct: c, answer: capsT => WRONG
2015-10-19 08:08:39,190 [INFO] correct: b, answer: capsZ => WRONG
2015-10-19 08:08:39,190 [INFO] correct: f, answer: capsF => RIGHT
2015-10-19 08:08:39,190 [INFO] correct: j, answer: capsZ => WRONG
2015-10-19 08:08:39,190 [INFO] test accuracy: 0.461538461538 (12 / 26)
[PATTERN2]: English and hiragana.
2015-10-19 08:08:39,314 [INFO] #data: 26
2015-10-19 08:08:39,387 [INFO] correct: v, answer: capsV => RIGHT
2015-10-19 08:08:39,387 [INFO] correct: g, answer: capsT => WRONG
2015-10-19 08:08:39,387 [INFO] correct: s, answer: capsB => WRONG
2015-10-19 08:08:39,387 [INFO] correct: o, answer: capsB => WRONG
2015-10-19 08:08:39,388 [INFO] correct: i, answer: capsZ => WRONG
2015-10-19 08:08:39,388 [INFO] correct: r, answer:Ho=> WRONG
2015-10-19 08:08:39,388 [INFO] correct: u, answer: capsU => RIGHT
2015-10-19 08:08:39,388 [INFO] correct: a, answer: l => WRONG
2015-10-19 08:08:39,388 [INFO] correct: h, answer:Beeindruckend=> WRONG
2015-10-19 08:08:39,388 [INFO] correct: l, answer: capsU => WRONG
2015-10-19 08:08:39,388 [INFO] correct: k, answer: capsT => WRONG
2015-10-19 08:08:39,389 [INFO] correct: n, answer: capsD => WRONG
2015-10-19 08:08:39,389 [INFO] correct: q, answer: capsT => WRONG
2015-10-19 08:08:39,389 [INFO] correct: d, answer: capsD => RIGHT
2015-10-19 08:08:39,389 [INFO] correct: m, answer: capsM => RIGHT
2015-10-19 08:08:39,389 [INFO] correct: t, answer:Su=> WRONG
2015-10-19 08:08:39,389 [INFO] correct: e, answer: capsE => RIGHT
2015-10-19 08:08:39,390 [INFO] correct: x, answer: x => RIGHT
2015-10-19 08:08:39,390 [INFO] correct: p, answer: capsT => WRONG
2015-10-19 08:08:39,390 [INFO] correct: w, answer:ich=> WRONG
2015-10-19 08:08:39,390 [INFO] correct: z, answer: capsZ => RIGHT
2015-10-19 08:08:39,390 [INFO] correct: y, answer: capsY => RIGHT
2015-10-19 08:08:39,390 [INFO] correct: c, answer: capsE => WRONG
2015-10-19 08:08:39,391 [INFO] correct: b, answer: capsT => WRONG
2015-10-19 08:08:39,392 [INFO] correct: f, answer: capsT => WRONG
2015-10-19 08:08:39,392 [INFO] correct: j, answer: capsJ => RIGHT
2015-10-19 08:08:39,392 [INFO] test accuracy: 0.346153846154 (9 / 26)
[PATTERN3]: English and katakana.
2015-10-19 08:08:39,517 [INFO] #data: 26
2015-10-19 08:08:39,591 [INFO] correct: v, answer: capsV => RIGHT
2015-10-19 08:08:39,591 [INFO] correct: g, answer: capsQ => WRONG
2015-10-19 08:08:39,591 [INFO] correct: s, answer:La=> WRONG
2015-10-19 08:08:39,591 [INFO] correct: o, answer:Beeindruckend=> WRONG
2015-10-19 08:08:39,591 [INFO] correct: i, answer:ヱ=> WRONG
2015-10-19 08:08:39,592 [INFO] correct: r, answer:Beeindruckend=> WRONG
2015-10-19 08:08:39,592 [INFO] correct: u, answer: capsU => RIGHT
2015-10-19 08:08:39,592 [INFO] correct: a, answer:Mu=> WRONG
2015-10-19 08:08:39,592 [INFO] correct: h, answer: r => WRONG
2015-10-19 08:08:39,592 [INFO] correct: l, answer: capsQ => WRONG
2015-10-19 08:08:39,592 [INFO] correct: k, answer:Beeindruckend=> WRONG
2015-10-19 08:08:39,592 [INFO] correct: n, answer:Beeindruckend=> WRONG
2015-10-19 08:08:39,593 [INFO] correct: q, answer: capsR => WRONG
2015-10-19 08:08:39,593 [INFO] correct: d, answer:Beeindruckend=> WRONG
2015-10-19 08:08:39,593 [INFO] correct: m, answer: capsO => WRONG
2015-10-19 08:08:39,593 [INFO] correct: t, answer: l => WRONG
2015-10-19 08:08:39,593 [INFO] correct: e, answer:La=> WRONG
2015-10-19 08:08:39,593 [INFO] correct: x, answer:Mich=> WRONG
2015-10-19 08:08:39,593 [INFO] correct: p, answer:EIN=> WRONG
2015-10-19 08:08:39,593 [INFO] correct: w, answer: capsQ => WRONG
2015-10-19 08:08:39,593 [INFO] correct: z, answer: capsZ => RIGHT
2015-10-19 08:08:39,593 [INFO] correct: y, answer: capsY => RIGHT
2015-10-19 08:08:39,594 [INFO] correct: c, answer: capsE => WRONG
2015-10-19 08:08:39,594 [INFO] correct: b, answer:Leistung=> WRONG
2015-10-19 08:08:39,594 [INFO] correct: f, answer: 5 => WRONG
2015-10-19 08:08:39,594 [INFO] correct: j, answer: capsT => WRONG
2015-10-19 08:08:39,594 [INFO] test accuracy: 0.153846153846 (4 / 26)
[PATTERN4]: English and hiragana and katakana.
2015-10-19 08:08:39,718 [INFO] #data: 26
2015-10-19 08:08:39,792 [INFO] correct: v, answer:Nein=> WRONG
2015-10-19 08:08:39,792 [INFO] correct: g, answer: capsQ => WRONG
2015-10-19 08:08:39,792 [INFO] correct: s, answer:La=> WRONG
2015-10-19 08:08:39,793 [INFO] correct: o, answer: capsQ => WRONG
2015-10-19 08:08:39,793 [INFO] correct: i, answer: capsT => WRONG
2015-10-19 08:08:39,793 [INFO] correct: r, answer:EIN=> WRONG
2015-10-19 08:08:39,793 [INFO] correct: u, answer: capsU => RIGHT
2015-10-19 08:08:39,793 [INFO] correct: a, answer:Mu=> WRONG
2015-10-19 08:08:39,793 [INFO] correct: h, answer:Beeindruckend=> WRONG
2015-10-19 08:08:39,793 [INFO] correct: l, answer:Ri=> WRONG
2015-10-19 08:08:39,794 [INFO] correct: k, answer:Beeindruckend=> WRONG
2015-10-19 08:08:39,794 [INFO] correct: n, answer:Beeindruckend=> WRONG
2015-10-19 08:08:39,794 [INFO] correct: q, answer: capsQ => RIGHT
2015-10-19 08:08:39,794 [INFO] correct: d, answer: capsD => RIGHT
2015-10-19 08:08:39,795 [INFO] correct: m, answer: capsM => RIGHT
2015-10-19 08:08:39,795 [INFO] correct: t, answer:N / a=> WRONG
2015-10-19 08:08:39,795 [INFO] correct: e, answer: capsE => RIGHT
2015-10-19 08:08:39,795 [INFO] correct: x, answer:Mich=> WRONG
2015-10-19 08:08:39,795 [INFO] correct: p, answer:EIN=> WRONG
2015-10-19 08:08:39,796 [INFO] correct: w, answer:B.=> WRONG
2015-10-19 08:08:39,796 [INFO] correct: z, answer: capsZ => RIGHT
2015-10-19 08:08:39,796 [INFO] correct: y, answer:Nein=> WRONG
2015-10-19 08:08:39,796 [INFO] correct: c, answer: capsQ => WRONG
2015-10-19 08:08:39,796 [INFO] correct: b, answer: capsZ => WRONG
2015-10-19 08:08:39,796 [INFO] correct: f, answer:Te=> WRONG
2015-10-19 08:08:39,796 [INFO] correct: j, answer: capsJ => RIGHT
2015-10-19 08:08:39,796 [INFO] test accuracy: 0.269230769231 (7 / 26)
[PATTERN5]: English and Hebrew.
2015-10-19 08:08:39,921 [INFO] #data: 26
2015-10-19 08:08:39,994 [INFO] correct: v, answer: capsV => RIGHT
2015-10-19 08:08:39,995 [INFO] correct: g, answer: ם => WRONG
2015-10-19 08:08:39,995 [INFO] correct: s, answer: capsZ => WRONG
2015-10-19 08:08:39,995 [INFO] correct: o, answer: capsH => WRONG
2015-10-19 08:08:39,995 [INFO] correct: i, answer: capsZ => WRONG
2015-10-19 08:08:39,995 [INFO] correct: r, answer: capsK => WRONG
2015-10-19 08:08:39,995 [INFO] correct: u, answer: capsH => WRONG
2015-10-19 08:08:39,996 [INFO] correct: a, answer: capsA => RIGHT
2015-10-19 08:08:39,996 [INFO] correct: h, answer: b => WRONG
2015-10-19 08:08:39,996 [INFO] correct: l, answer: ם => WRONG
2015-10-19 08:08:39,996 [INFO] correct: k, answer: ל => WRONG
2015-10-19 08:08:39,996 [INFO] correct: n, answer: capsH => WRONG
2015-10-19 08:08:39,997 [INFO] correct: q, answer: capsH => WRONG
2015-10-19 08:08:39,997 [INFO] correct: d, answer: capsD => RIGHT
2015-10-19 08:08:39,997 [INFO] correct: m, answer: capsM => RIGHT
2015-10-19 08:08:39,997 [INFO] correct: t, answer: l => WRONG
2015-10-19 08:08:39,997 [INFO] correct: e, answer: z => WRONG
2015-10-19 08:08:39,997 [INFO] correct: x, answer: capsX => RIGHT
2015-10-19 08:08:39,997 [INFO] correct: p, answer: capsT => WRONG
2015-10-19 08:08:39,998 [INFO] correct: w, answer: capsQ => WRONG
2015-10-19 08:08:39,998 [INFO] correct: z, answer: capsZ => RIGHT
2015-10-19 08:08:39,998 [INFO] correct: y, answer: capsV => WRONG
2015-10-19 08:08:39,998 [INFO] correct: c, answer: capsQ => WRONG
2015-10-19 08:08:39,998 [INFO] correct: b, answer: capsM => WRONG
2015-10-19 08:08:39,998 [INFO] correct: f, answer: capsM => WRONG
2015-10-19 08:08:39,998 [INFO] correct: j, answer: 5 => WRONG
2015-10-19 08:08:39,999 [INFO] test accuracy: 0.230769230769 (6 / 26)
Selbst im Nur-Englisch-Modell wird "g" mit "T" verwechselt, daher kann ich nichts dazu sagen. ↑ "g" von Electroharmonix
↑ "T" der Trainingsdaten
Wenn es sich jedoch um ein Englisch + Katakana-Modell handelt, ist es nutzlos, da "s" mit "la" verwechselt wird ... ↑ "s" von electroharmonix
↑ "La" der Trainingsdaten
… Nicht wirklich. Das scheint falsch zu sein.
Ich habe vergessen, einige zu schreiben, also werde ich es hinzufügen.
Verlassen Sie die Quellen. https://gist.github.com/lazykyama/f586419cd72d5312288e
Recommended Posts