====== Konvoluční neuronová síť (CNN) ====== **Konvoluční neuronová síť** (CNN – Convolutional Neural Network) je typ hluboké [[it_encyklopedie:neuronova_sit|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. [[it_encyklopedie:ai_rozcestnik|Zpět na AI rozcestník]]