Kaj je AI?
AI (Umetna inteligenca) je veja računalniške znanosti, v kateri so stroji programirani in imajo kognitivno sposobnost razmišljanja in posnemanja dejanj, kot so ljudje in živali. Merilo za umetno inteligenco je človeška inteligenca glede razmišljanja, govora, učenja, vizije in reševanja problemov, kar je daleč v prihodnosti.
AI ima tri različne ravni:
- Ozka umetna inteligenca: umetna inteligenca naj bi bila ozka, kadar lahko stroj opravi določeno nalogo bolje kot človek. Trenutne raziskave umetne inteligence so zdaj tukaj
- Splošno AI : Umetna inteligenca doseže splošno stanje, ko lahko opravlja katero koli intelektualno nalogo z enako natančnostjo, kot bi jo človek
- Aktivna umetna inteligenca : umetna inteligenca je aktivna, ko lahko premaga človeka pri številnih nalogah
Zgodnji sistemi umetne inteligence so uporabljali ujemanje vzorcev in strokovne sisteme.
V tej vadnici boste izvedeli-
- Kaj je AI?
- Kaj je ML?
- Kaj je poglobljeno učenje?
- Proces strojnega učenja
- Proces globokega učenja
- Avtomatizirajte ekstrakcijo funkcij z DL
- Razlika med strojnim učenjem in globokim učenjem
- Kdaj uporabiti ML ali DL?
Kaj je ML?
ML (Machine Learning) je vrsta umetne inteligence, pri kateri je računalnik usposobljen za avtomatizacijo nalog, ki so za človeka izčrpne ali nemogoče. Je najboljše orodje za analizo, razumevanje in prepoznavanje vzorcev v podatkih na podlagi preučevanja računalniških algoritmov. Strojno učenje lahko sprejema odločitve z minimalnim človeškim posredovanjem.
Če primerjamo umetno inteligenco in strojno učenje, strojno učenje uporablja podatke za napajanje algoritma, ki lahko razume razmerje med vhodom in izhodom. Ko se stroj konča z učenjem, lahko napove vrednost ali razred nove podatkovne točke.
Kaj je poglobljeno učenje?
Poglobljeno učenje je računalniška programska oprema, ki posnema mrežo nevronov v možganih. Je podskupina strojnega učenja in se imenuje globoko učenje, ker uporablja globoke nevronske mreže. Naprava uporablja različne sloje za učenje iz podatkov. Globino modela predstavlja število slojev v modelu. Poglobljeno učenje je novo stanje tehnike v smislu umetne inteligence. Pri globokem učenju se učna faza izvaja prek nevronske mreže. Nevronska mreža je arhitektura, pri kateri so plasti zložene ena na drugo
Proces strojnega učenja
Predstavljajte si, da želite ustvariti program, ki prepozna predmete. Za urjenje modela boste uporabili klasifikator . Klasifikator uporablja funkcije predmeta, da poskusi identificirati razred, ki mu pripada.
V primeru bo klasifikator usposobljen za zaznavanje, ali je slika:
- Kolo
- Čoln
- Avto
- Letalo
Štirje zgornji predmeti so razred, ki ga mora klasifikator prepoznati. Če želite sestaviti klasifikator, morate imeti za vhod nekaj podatkov in mu dodeliti oznako. Algoritem bo vzel te podatke, poiskal vzorec in ga nato razvrstil v ustrezen razred.
Ta naloga se imenuje nadzorovano učenje. Pri nadzorovanem učenju podatki o vadbi, ki jih vnesete v algoritem, vključujejo oznako.
Vadba algoritma zahteva nekaj standardnih korakov:
- Zberite podatke
- Uri klasifikator
- Naredite napovedi
Prvi korak je nujen, če izberete prave podatke, bo algoritem uspešen ali neuspešen. Podatki, ki ste jih izbrali za usposabljanje modela, se imenujejo funkcija. V primeru predmeta so značilnosti slikovne pike slik.
Vsaka slika je vrstica v podatkih, medtem ko je vsaka slikovna pika stolpec. Če je vaša slika velikosti 28 x 28, nabor podatkov vsebuje 784 stolpcev (28 x 28). Na spodnji sliki je bila vsaka slika spremenjena v funkcijski vektor. Oznaka pove računalniku, kateri predmet je na sliki.
Cilj je uporabiti te podatke o usposabljanju za razvrstitev vrste predmeta. Prvi korak je sestavljen iz ustvarjanja stolpcev s funkcijami. Nato drugi korak vključuje izbiro algoritma za urjenje modela. Ko bo trening končan, bo model predvidel, katera slika ustreza kateremu predmetu.
Po tem je model enostavno uporabiti za napovedovanje novih slik. Za vsako novo sliko, ki se poda v model, bo naprava predvidela razred, v katerega spada. Skozi model gre na primer povsem nova slika brez nalepke. Za človeka je trivialno vizualizirati sliko kot avto. Stroj s predhodnim znanjem predvidi, da je tudi slika avtomobila.
Proces globokega učenja
Pri globokem učenju se učna faza izvaja prek nevronske mreže. Nevronska mreža je arhitektura, pri kateri so plasti zložene ena na drugo.
Razmislite o istem slikovnem primeru zgoraj. Komplet za vadbo bi bil poslan v nevronsko mrežo
Vsak vhod gre v nevron in se pomnoži z utežjo. Rezultat množenja teče na naslednjo plast in postane vhod. Ta postopek se ponovi za vsako plast omrežja. Končni sloj se imenuje izhodni sloj; zagotavlja dejansko vrednost za regresijsko nalogo in verjetnost vsakega razreda za klasifikacijsko nalogo. Nevronska mreža uporablja matematični algoritem za posodobitev uteži vseh nevronov. Nevronska mreža je popolnoma usposobljena, ko vrednost uteži daje rezultat blizu realnosti. Na primer, dobro usposobljena nevronska mreža lahko prepozna objekt na sliki z večjo natančnostjo kot tradicionalna nevronska mreža.
Avtomatizirajte ekstrakcijo funkcij z DL
Nabor podatkov lahko vsebuje od ducat do stotine funkcij. Sistem se bo učil iz ustreznosti teh funkcij. Vendar pa vse funkcije niso smiselne za algoritem. Ključni del strojnega učenja je iskanje ustreznega sklopa funkcij, s katerimi se sistem nekaj nauči.
Eden od načinov za izvajanje tega dela pri strojnem učenju je uporaba ekstrakcije funkcij. Pridobivanje lastnosti združuje obstoječe funkcije, da ustvari ustreznejši nabor funkcij. To je mogoče storiti s PCA, T-SNE ali drugimi algoritmi za zmanjšanje dimenzij.
Na primer, za obdelavo slike mora izvajalec funkcijo ročno izvleči iz slike, kot so oči, nos, ustnice itd. Izvlečene značilnosti se uporabljajo za klasifikacijski model.
Poglobljeno učenje rešuje to težavo, zlasti za konsvolucijsko nevronsko mrežo. Prva plast nevronske mreže se bo na sliki naučila majhnih podrobnosti; naslednji sloji bodo združili predhodno znanje, da bodo bolj zapletene informacije. V konvolucijski nevronski mreži se ekstrakcija lastnosti izvede s pomočjo filtra. Omrežje uporabi filter za sliko, da ugotovi, ali obstaja ujemanje, tj. Oblika elementa je enaka delu slike. Če obstaja ujemanje, bo omrežje uporabilo ta filter. Postopek ekstrakcije lastnosti se torej izvede samodejno.
Razlika med strojnim učenjem in globokim učenjem
Spodaj je ključna razlika med globokim učenjem in strojnim učenjem
Strojno učenje |
Globoko učenje |
|
Podatkovne odvisnosti |
Odlične predstave na majhnem / srednjem naboru podatkov |
Odlična zmogljivost na velikem naboru podatkov |
Odvisnosti strojne opreme |
Delo na stroju nižjega cenovnega razreda. |
Zahteva zmogljiv stroj, po možnosti z GPU: DL izvede znatno množenje matrike |
Feature inženiring |
Treba je razumeti funkcije, ki predstavljajo podatke |
Ni treba razumeti najboljše funkcije, ki predstavlja podatke |
Čas izvedbe |
Od nekaj minut do ur |
Do tednov. Nevronska mreža mora izračunati znatno število uteži |
Razložljivost |
Nekatere algoritme je enostavno razložiti (logistični, drevo odločitev), nekatere skoraj nemogoče (SVM, XGBoost) |
Težko do nemogoče |
Kdaj uporabiti ML ali DL?
V spodnji tabeli s primeri povzamemo razliko med strojnim učenjem in globokim učenjem.
Strojno učenje | Globoko učenje | |
Nabor podatkov o vadbi | Majhna | Velik |
Izberite funkcije | Da | Ne |
Število algoritmov | Veliko | Nekaj |
Čas treninga | Kratek | dolga |
Pri strojnem učenju potrebujete manj podatkov za urjenje algoritma kot globoko učenje. Poglobljeno učenje zahteva obsežen in raznolik nabor podatkov za prepoznavanje osnovne strukture. Poleg tega strojno učenje omogoča hitreje usposobljen model. Najnaprednejša arhitektura globokega učenja lahko traja od nekaj dni do tedna. Prednost globokega učenja pred strojnim je, da je zelo natančen. Ni vam treba razumeti, katere značilnosti najbolje predstavljajo podatke; nevronska mreža se je naučila izbrati kritične funkcije. Pri strojnem učenju morate sami izbrati, katere funkcije boste vključili v model.
Povzetek
Umetna inteligenca daje kognitivno sposobnost stroju. Če primerjamo umetno inteligenco in strojno učenje, so zgodnji sistemi umetne inteligence uporabljali ujemanje vzorcev in strokovne sisteme.
Ideja strojnega učenja je, da se stroj lahko uči brez človekovega posredovanja. Stroj mora najti način, kako se naučiti rešiti nalogo glede na podatke.
Poglobljeno učenje je preboj na področju umetne inteligence. Kadar je dovolj podatkov za treniranje, globoko učenje doseže impresivne rezultate, zlasti pri prepoznavanju slik in prevajanju besedila. Glavni razlog je, da se funkcija ekstrakcije samodejno izvede v različnih slojih omrežja.