Obsah
Konvoluční neuronová síť (CNN)
Konvoluční neuronová síť (CNN – Convolutional Neural Network) je typ hluboké neuronové sítě, která je speciálně navržena pro zpracování dat s mřížkovou strukturou, typicky obrázků. Na rozdíl od běžných sítí dokáže efektivně využívat prostorové souvislosti mezi pixely a automaticky se učit hierarchii vizuálních prvků (od hran až po složité objekty).
Zatímco klasická síť by ztratila informaci o tom, že dva pixely sousedí, CNN si tuto informaci udržuje díky procesu zvanému konvoluce.
1. Jak CNN funguje (Architektura)
Typická CNN se skládá ze tří hlavních typů vrstev:
A. Konvoluční vrstva (Convolutional Layer)
Základní stavební kámen. Malý filtr (jádro/kernel) se posouvá přes obrázek a provádí matematické operace (násobení a součet). Tím vzniká tzv. Feature Map (mapa příznaků), která zvýrazňuje specifické rysy (např. svislé čáry, rohy nebo textury).
B. Sdružovací vrstva (Pooling Layer)
Slouží ke zmenšení prostorové dimenze dat (downsampling). Nejčastější je Max Pooling, který z bloku pixelů vybere jen ten s nejvyšší hodnotou. To snižuje počet parametrů, zrychluje výpočty a pomáhá síti být odolnou vůči malým posunům objektu v obraze.
C. Plně propojená vrstva (Fully Connected Layer)
Nachází se na samém konci sítě. Bere všechny extrahované příznaky a na jejich základě provede finální rozhodnutí (klasifikaci) – např. „na obrázku je pes s pravděpodobností 98 %“.
http://googleusercontent.com/image_collection/image_retrieval/957308609600523173_0
2. Hierarchické učení příznaků
Jedinečnost CNN spočívá v tom, jak se postupně učí chápat obraz:
- První vrstvy: Detekují jednoduché tvary – hrany, barvy a přechody.
- Střední vrstvy: Kombinují hrany do složitějších tvarů – kružnice, čtverce, textury srsti.
- Poslední vrstvy: Rozpoznávají celé objekty nebo jejich části – oči, kola, obličeje.
http://googleusercontent.com/image_collection/image_retrieval/725189359314178719_0
3. Proč jsou CNN lepší než běžné sítě?
- Sdílení vah (Weight Sharing): Stejný filtr se používá pro celý obrázek. Pokud se síť naučí rozpoznat hranu v levém horním rohu, umí ji rozpoznat kdekoli jinde.
- Snížení počtu parametrů: Díky konvoluci a poolingu nepotřebuje síť miliony propojení pro každý pixel, což ji činí trénovatelnou i na velkých fotografiích.
- Invariance: Jsou odolné vůči rotaci, změně měřítka nebo posunu objektu.
4. Praktické využití
| Oblast | Příklad aplikace |
|---|---|
| Klasifikace obrazu | Určení, zda je na fotce rentgenový nález nebo zdravá tkáň. |
| Detekce objektů | Vyznačení rámečků kolem chodců a aut v samořiditelných vozech. |
| Segmentace | Přesné ohraničení silnice pixel po pixelu. |
| Obličejová biometrie | Odemknutí chytrého telefonu pomocí FaceID. |
| Zpracování videa | Analýza pohybu ve sportu nebo bezpečnostních systémech. |
Populární architektury
- LeNet-5 (1998): První úspěšná CNN pro rozpoznávání rukou psaných číslic na šecích.
- AlexNet (2012): Odstartovala revoluci hlubokého učení vítězstvím v soutěži ImageNet.
- ResNet: Zavedla „zkratky“ mezi vrstvami, což umožnilo trénovat sítě se stovkami vrstev.
Zajímavost: Architektura CNN byla původně inspirována výzkumem zrakové kůry koček (Hubel & Wiesel, 1959), který ukázal, že určité neurony v mozku reagují pouze na specifické tvary v určitých částech zorného pole.
