SMS brána Eurotel Jednoduché OCR pomocí neuronových sítí Marek Kukačka
Úloha: rozpoznávání textu v obrázcích, které tvoří ochranu proti automatizaci odesílání SMS zpráv –SMS brána na adrese: ndex.html
Příprava trénovací množiny Stáhnutí obrázků z Internetu Popsání textu v obrázcích Vyříznutí obdélníku se znakem –podle prázdných sloupců –problémy s příliš širokými znaky, které splývají –řešení: ignoruji je, vyřadím je z učení
Zajímavost: v obrázcích se nikdy nevyskytují znaky: nula, jedna, malé O a malé L Převod znaku na matici nul a jedniček –případně jedniček a mínus jedniček pro kompetiční síť Roztáhnutí matice na standartní výšku a šířku –maximální výška znaku je 18 pixelů, max. šířka je 16 pixelů –dimenze vstupních vektorů sítě tedy je 16*18 = 288 Příprava trénovací množiny pokračování
Řešení 1: kompetiční síť 36 neuronů s váhovými vektory dimenze 288, s předem přiřazeným znakem, který budou reprezentovat Parametry: -plasticita sítě (α)– jak moc se vítězný vektor přiblíží k předloženému vzoru, podle vzorce: ∆w i = α * (x i – w i ) -použití techniky podobné LVQ – odstrkávání špatných neuronů dál od vzoru v případě, že jsou moc blízko
Kompetiční síť – postup učení 1.Předložit síti všechny vzory z množiny v náhodném pořadí 2.Pro každý vzor provést úpravu neuronu, který tento vzor reprezentuje, podle vzorce ∆w i = α * (x i – w i ) 3.Pokud je zapnuté použití LVQ, pak zjistit neuron nejbližší k tomuto vzoru (podle euklidovské metriky), a pokud to není ten správný, pak ho odstrčit dál (∆w i je stejné jako výše, jen se odčítá místo přičítá)
Kompetiční síť – výsledky Použití LVQ nepřineslo žádné výrazné zlepšení Nejefektivnější postup: –začít s malou plasticitou (0,2) –provést několikrát (10x) učení –po každém učení snížit plasticitu (o 0,01) Výsledné sítě měly úspěšnost kolem 94%, nejlepší pak 97% (špatně 12 znaků z 450)
Řešení 2: Síť se zpětným šířením Vrstevnatá síť s jednou skrytou vrstvou a sigmoidální přechodovou funkcí Topologie: 288 neuronů ve vstupní vrstvě, 36 ve výstupní, skrytá vrstva nastavitelná Použit moment učení Nastavitelné parametry: strmost sigmoidy, parametr učení, moment, # neuronů ve skryté vrstvě
Síť se zpětným šířením - výsledky Vyzkoušené varianty: Strmost sigmoidy Parametr učení # neuronů ve skryté vr. Moment učení Úspěšnost , 0.5Kolem 20% Přes 90% % Toto jsou výsledky zhruba po 300 epochách. Úspěšnost je měřena na trénovací množině! Při úspěšnosti 100% na trénovací množině má síť na datech, která nikdy neviděla, úspěšnost cca 97%
Zdrojáky K dispozici na Program není hotov! SMS zprávy neodesílá, chtěl jsem hlavně rozchodit a vyzkoušet práci neuronových sítí.