- Terminologija (A do D)
- Nadzor zmogljivosti AI
- AIOps
- Albumentacije
- Učinkovitost sredstev
- Samodejni kodirnik
- Razmnoževanje
- Bayesov izrek
- Big Podatki
- Chatbot: vodnik za začetnike
- Računalniško razmišljanje
- Računalniška vizija
- Matrica zmede
- Konvolucijsko nevronsko omrežje
- Cybersecurity
- Podatkovna tkanina
- Podatkovno pripovedovanje zgodb
- Znanost podatki
- Skladiščenje podatkov
- Drevo odločitve
- Deepfakes
- Globoko učenje
- Učenje poglobljenega okrepitve
- DevOps
- DevSecOps
- Difuzijski modeli
- Digital Twin
- Zmanjšanje dimenzij
- Terminologija (E do K)
- Edge AI
- AI čustva
- Učenje ansambla
- Etično vdiranje
- ETL
- Razložljiv AI
- Zvezno učenje
- FinOps
- Generativna AI
- Generacijska svetovalna mreža
- Generativno proti diskriminaciji
- Gradient krepitev
- Gradient spust
- Nekajkratno učenje
- Razvrstitev slik
- IT operacije (ITOPs)
- Avtomatizacija incidentov
- Inženiring vpliva
- K-pomeni združevanje v gruče
- K-Najbližji sosedje
- Terminologija (L do Q)
- Terminologija (R do Ž)
- Okrepitveno učenje
- Odgovorni AI
- RLHF
- Robotska procesna avtomatizacija
- Strukturirano proti nestrukturiranemu
- Analiza občutka
- Nadzorovani proti nenadzorovanim
- Podporni vektorski stroji
- Sintetični podatki
- Sintetični mediji
- Razvrstitev besedil
- TinyML
- Prenosno učenje
- Transformatorske nevronske mreže
- Turingov test
- Iskanje podobnosti vektorjev
AI 101
Kaj so CNN (konvolucijske nevronske mreže)?
Kazalo vsebine
Morda ste se spraševali, kako lahko Facebook ali Instagram samodejno prepoznata obraze na sliki ali kako vam Google omogoča iskanje podobnih fotografij v spletu samo tako, da naložite svojo fotografijo. Te funkcije so primeri računalniškega vida in jih poganja konvolucijske nevronske mreže (CNN). Toda kaj točno so konvolucijske nevronske mreže? Poglobimo se v arhitekturo CNN in razumemo, kako delujejo.
Kaj so nevronske mreže?
Preden začnemo govoriti o konvolucijskih nevronskih mrežah, si vzemimo trenutek za opredelitev navadne nevronske mreže. tam je še en članek na temo razpoložljivih nevronskih mrež, zato se ne bomo preveč poglabljali vanje. Vendar, če jih na kratko opredelimo, so računalniški modeli, ki so jih navdihnili človeški možgani. Nevronska mreža deluje tako, da zajema podatke in manipulira s podatki s prilagajanjem "uteži", ki so predpostavke o tem, kako so vhodne lastnosti povezane med seboj in z razredom predmeta. Ko se omrežje usposablja, se vrednosti uteži prilagajajo in upamo, da se bodo zbližale na uteži, ki natančno zajemajo razmerja med funkcijami.
Tako deluje povratna nevronska mreža, CNN pa so sestavljene iz dveh polovic: povratne nevronske mreže in skupine konvolucijskih plasti.
Kaj so konvolucijske nevronske mreže (CNN)?
Kakšni so "konvolucije", ki se dogajajo v konvolucijski nevronski mreži? Konvolucija je matematična operacija, ki ustvari nabor uteži, kar v bistvu ustvari predstavitev delov slike. Ta niz uteži se imenuje jedro ali filter. Filter, ki je ustvarjen, je manjši od celotne vhodne slike in pokriva samo pododdelek slike. Vrednosti v filtru so pomnožene z vrednostmi na sliki. Filter se nato premakne, da se oblikuje predstavitev novega dela slike, in postopek se ponavlja, dokler ni pokrita celotna slika.
Drug način razmišljanja o tem je, da si predstavljamo opečnato steno, pri čemer opeke predstavljajo piksle na vhodni sliki. Po steni se premika naprej in nazaj »okno«, ki je filter. Kocke, ki jih je mogoče videti skozi okno, so slikovne pike, katerih vrednost je pomnožena z vrednostmi v filtru. Zaradi tega se ta metoda ustvarjanja uteži s filtrom pogosto imenuje tehnika "drsnih oken".
Izhod filtrov, ki se premikajo po celotni vhodni sliki, je dvodimenzionalni niz, ki predstavlja celotno sliko. Ta niz se imenuje a "zemljevid funkcij".
Zakaj so konvolucije bistvene
Kaj je sploh namen ustvarjanja konvolucij? Konvolucije so potrebne, ker mora biti nevronska mreža sposobna interpretirati piksle na sliki kot številske vrednosti. Funkcija konvolucijskih plasti je pretvorba slike v številske vrednosti, ki jih lahko nevronska mreža interpretira in nato iz njih izlušči ustrezne vzorce. Naloga filtrov v konvolucijski mreži je ustvariti dvodimenzionalni niz vrednosti, ki se lahko prenesejo v kasnejše plasti nevronske mreže, tiste, ki se bodo naučile vzorcev na sliki.
Filtri in kanali
CNN ne uporabljajo samo enega filtra za učenje vzorcev iz vhodnih slik. Uporablja se več filtrov, saj različni nizi, ustvarjeni z različnimi filtri, vodijo do bolj zapletene in bogate predstavitve vhodne slike. Običajne številke filtrov za CNN so 32, 64, 128 in 512. Več kot je filtrov, več možnosti ima CNN, da pregleda vhodne podatke in se iz njih uči.
CNN analizira razlike v vrednostih slikovnih pik, da bi določil meje predmetov. V sivinski sliki bi CNN opazoval samo razlike v črno-belem, svetlem in temnem izrazu. Kadar so slike barvne, CNN ne upošteva samo temne in svetle barve, ampak mora upoštevati tudi tri različne barvne kanale – rdečo, zeleno in modro. V tem primeru imajo filtri 3 kanale, tako kot jih ima sama slika. Število kanalov, ki jih ima filter, se imenuje njegova globina, število kanalov v filtru pa se mora ujemati s številom kanalov na sliki.
Konvolucijska nevronska mreža (CNN) Arhitektura
Oglejmo si celotno arhitekturo konvolucijska nevronska mreža. Konvolucijska plast se nahaja na začetku vsake konvolucijske mreže, saj je treba slikovne podatke pretvoriti v numerične nize. Vendar lahko konvolucijske plasti pridejo tudi za drugimi konvolucijskimi plastmi, kar pomeni, da je te plasti mogoče zložiti eno na drugo. Imeti več konvolucijskih plasti pomeni, da so lahko rezultati iz ene plasti podvrženi nadaljnjim konvolucijam in združeni v ustrezne vzorce. Praktično to pomeni, da ko slikovni podatki potekajo skozi konvolucijske plasti, začne omrežje »prepoznavati« bolj zapletene značilnosti slike.
Začetne plasti ConvNet so odgovorne za ekstrahiranje funkcij nizke ravni, kot so slikovne pike, ki sestavljajo preproste črte. Kasnejši sloji ConvNet bodo te črte združili v oblike. Ta proces prehoda od analize na površinski ravni k analizi na globoki ravni se nadaljuje, dokler ConvNet ne prepozna kompleksnih oblik, kot so živali, človeški obrazi in avtomobili.
Ko gredo podatki skozi vse konvolucijske plasti, se nadaljujejo v gosto povezan del CNN. Gosto povezane plasti so tisto, kar izgleda tradicionalno nevronsko omrežje s posredovanjem podatkov, vrsta vozlišč, razporejenih v plasti, ki so med seboj povezane. Podatki potekajo skozi te gosto povezane plasti, ki se naučijo vzorcev, ki so jih ekstrahirali konvolucijski sloji, in pri tem postane omrežje sposobno prepoznati objekte.
Bloger in programer s posebnostmi v strojno učenje in Globoko učenje teme. Daniel upa, da bo drugim pomagal uporabiti moč umetne inteligence za družbeno dobro.
Morda vam bo všeč
AI Soulmate Recommender sistem, ki temelji samo na slikah
Detektor laži na osnovi umetne inteligence za pogovore v klicnem centru
Mobilni sistem za polnjenje avtonomnih robotov, ki jim primanjkuje energije
Raziskovalci na pametnih telefonih ustvarjajo 3D-holograme v realnem času, ki jih poganja AI
Kaj je nekajkratno učenje?
Kaj so transformatorske nevronske mreže?