- Terminologie (A až D)
- Řízení schopností AI
- AI Ops
- alba
- Výkon aktiv
- Autokodér
- Zpětná propagace
- Bayesova věta
- Big dat
- Chatbot: Průvodce pro začátečníky
- Výpočetní myšlení
- Počítačové vidění
- Matice zmatků
- Konvoluční neuronové sítě
- Kybernetická bezpečnost
- Data Fabric
- Vyprávění dat
- Data Science
- Skladování dat
- Rozhodovací strom
- Deepfakes
- Hluboké učení
- Hluboké posílení učení
- DevOps
- DevSecOps
- Difúzní modely
- Digitální Twin
- Snížení rozměrů
- Terminologie (E až K)
- Edge AI
- Emoce AI
- Ensemble Learning
- Etické hackování
- ETL
- Vysvětlitelná AI
- Federované učení
- FinOps
- Generativní AI
- Generativní protivníková síť
- Generativní vs. diskriminační
- Zesílení přechodu
- Gradientní sestup
- Učení několika výstřelů
- Klasifikace obrazu
- IT operace (ITOps)
- Automatizace incidentů
- Influence Engineering
- K-Means Clustering
- K-Nejbližší sousedé
- Terminologie (od L do Q)
- Terminologie (od R do Z)
- Posílení učení
- Zodpovědná AI
- RLHF
- Automatizace robotických procesů
- Strukturované vs. Nestrukturované
- Analýza sentimentu
- Pod dohledem vs bez dozoru
- Podporujte vektorové stroje
- Syntetická data
- Syntetická média
- Klasifikace textu
- TinyML
- Přenos učení
- Transformátorové neuronové sítě
- Turingův test
- Hledání podobnosti vektorů
AI 101
Co jsou to CNN (konvoluční neuronové sítě)?
Obsah
Možná vás napadlo, jak je Facebook nebo Instagram schopen automaticky rozpoznat obličeje na obrázku nebo jak vám Google umožňuje hledat na webu podobné fotografie pouhým nahráním vlastní fotografie. Tyto funkce jsou příklady počítačového vidění a jsou poháněny konvoluční neuronové sítě (CNN). Co přesně jsou konvoluční neuronové sítě? Pojďme se hluboce ponořit do architektury CNN a pochopit, jak fungují.
Co jsou to neuronové sítě?
Než začneme mluvit o konvolučních neuronových sítích, udělejme si chvíli na definici běžné neuronové sítě. Tady je další článek na téma dostupných neuronových sítí, takže se jim zde nebudeme příliš věnovat. Abychom je však stručně definovali, jedná se o výpočtové modely inspirované lidským mozkem. Neuronová síť funguje tak, že přijímá data a manipuluje s nimi úpravou „váh“, což jsou předpoklady o tom, jak spolu vstupní funkce souvisejí s třídou objektu. Jak je síť trénována, hodnoty vah se upravují a doufejme, že se sblíží k vahám, které přesně zachycují vztahy mezi prvky.
Takto funguje dopředná neuronová síť a CNN se skládají ze dvou polovin: dopředné neuronové sítě a skupiny konvolučních vrstev.
Co jsou konvoluční neuronové sítě (CNN)?
Jaké jsou „konvoluce“, ke kterým dochází v konvoluční neuronové síti? Konvoluce je matematická operace, která vytváří sadu vah, v podstatě vytváří reprezentaci částí obrazu. Tato sada závaží je označována jako jádro nebo filtr. Vytvořený filtr je menší než celý vstupní obrázek a pokrývá pouze část obrázku. Hodnoty ve filtru se vynásobí hodnotami na obrázku. Filtr se poté přesune, aby vytvořil reprezentaci nové části obrázku, a proces se opakuje, dokud není pokryt celý obrázek.
Dalším způsobem, jak o tom přemýšlet, je představit si cihlovou zeď, kde cihly představují pixely ve vstupním obrázku. Po stěně se posouvá „okno“, což je filtr. Cihly, které jsou viditelné v okně, jsou pixely, jejichž hodnota je vynásobena hodnotami ve filtru. Z tohoto důvodu je tato metoda vytváření závaží pomocí filtru často označována jako technika „posuvných oken“.
Výstupem z filtrů, které se pohybují kolem celého vstupního obrazu, je dvourozměrné pole reprezentující celý obraz. Toto pole se nazývá a "mapa funkcí".
Proč jsou konvoluce zásadní
Jaký je vlastně účel vytváření konvolucí? Konvoluce jsou nezbytné, protože neuronová síť musí být schopna interpretovat pixely v obrázku jako číselné hodnoty. Funkcí konvolučních vrstev je převést obraz na číselné hodnoty, které neuronová síť dokáže interpretovat a následně z nich extrahovat příslušné vzory. Úkolem filtrů v konvoluční síti je vytvořit dvourozměrné pole hodnot, které lze předávat do pozdějších vrstev neuronové sítě, tedy těch, které se naučí vzory v obrázku.
Filtry A Kanály
CNN nepoužívají pouze jeden filtr k učení vzorů ze vstupních obrázků. Používá se více filtrů, protože různá pole vytvořená různými filtry vedou ke složitější a bohatší reprezentaci vstupního obrazu. Běžné počty filtrů pro CNN jsou 32, 64, 128 a 512. Čím více filtrů je, tím více příležitostí má CNN zkoumat vstupní data a učit se z nich.
CNN analyzuje rozdíly v hodnotách pixelů, aby určila hranice objektů. Na obrázku ve stupních šedi by se CNN podívala pouze na rozdíly v černé a bílé, od světla k tmě. Když jsou obrázky barevné, CNN bere v úvahu nejen tmu a světlo, ale musí také vzít v úvahu tři různé barevné kanály – červenou, zelenou a modrou. V tomto případě mají filtry 3 kanály, stejně jako samotný obrázek. Počet kanálů, které má filtr, se označuje jako jeho hloubka a počet kanálů ve filtru musí odpovídat počtu kanálů v obrázku.
Konvoluční neuronová síť (CNN) Architektura
Pojďme se podívat na kompletní architekturu konvoluční neuronová síť. Konvoluční vrstva se nachází na začátku každé konvoluční sítě, protože je nutné transformovat obrazová data do číselných polí. Konvoluční vrstvy však mohou také následovat po jiných konvolučních vrstvách, což znamená, že tyto vrstvy mohou být naskládány jedna na druhou. Mít více konvolučních vrstev znamená, že výstupy z jedné vrstvy mohou podstoupit další konvoluce a být seskupeny do příslušných vzorů. Prakticky to znamená, že jak obrazová data postupují konvolučními vrstvami, síť začíná „rozpoznávat“ složitější rysy obrazu.
První vrstvy ConvNet jsou zodpovědné za extrahování nízkoúrovňových funkcí, jako jsou pixely, které tvoří jednoduché čáry. Pozdější vrstvy ConvNet spojí tyto čáry dohromady do tvarů. Tento proces přechodu od analýzy na úrovni povrchu k analýze na hluboké úrovni pokračuje, dokud ConvNet nerozpozná složité tvary, jako jsou zvířata, lidské tváře a auta.
Poté, co data projdou všemi konvolučními vrstvami, postupují do hustě propojené části CNN. Hustě propojené vrstvy vypadají jako tradiční dopředná neuronová síť, řada uzlů uspořádaných do vrstev, které jsou vzájemně propojeny. Data postupují přes tyto hustě propojené vrstvy, které se učí vzory, které byly extrahovány konvolučními vrstvami, a tím se síť stává schopnou rozpoznávat objekty.
Blogerka a programátorka se specializací v Strojové učení a Hluboké učení témata. Daniel doufá, že pomůže ostatním využívat sílu AI pro společenské dobro.
Můžete se vám líbit
Systém doporučení spřízněných duší AI založený pouze na obrázcích
Detektor lži založený na umělé inteligenci pro hovory v call centru
Mobilní dobíjecí systém pro autonomní roboty s nedostatkem energie
Výzkumníci vytvářejí na chytrých telefonech 3D hologramy v reálném čase poháněné umělou inteligencí
Co je to učení se několika výstřely?
Co jsou transformátorové neuronové sítě?