Želite znati kako funkcionira dubinsko učenje? Evo kratkog vodiča za sve.

Umjetna inteligencija (AI) i strojno učenje (ML) trenutno su neke od najzanimljivijih tema.

Pojam "AI" svakodnevno se razbacuje. Čujete ambiciozne programere kako kažu da žele naučiti AI. Također čujete kako rukovoditelji govore kako žele implementirati AI u svoje usluge. Ali vrlo često, mnogi od tih ljudi ne razumiju što je AI.

Nakon što pročitate ovaj članak, shvatit ćete osnove AI i ML. Još važnije, shvatit ćete kako funkcionira duboko učenje, najpopularnija vrsta ML-a.

Ovaj je vodič namijenjen svima, pa neće biti uključena napredna matematika.

Pozadina

Prvi korak ka razumijevanju načina na koji funkcionira dubinsko učenje jest shvatiti razlike između važnih pojmova.

Umjetna inteligencija vs strojno učenje

Umjetna inteligencija je replikacija ljudske inteligencije u računalima.

Kad su istraživanja AI prvi put započela, istraživači su pokušavali ponoviti ljudsku inteligenciju za određene zadatke - poput igranja igre.

Uveli su velik broj pravila koja je računalo moralo poštivati. Računalo je imalo određeni popis mogućih radnji i donosilo odluke na temelju tih pravila.

Strojno učenje odnosi se na sposobnost stroja da uči koristeći velike skupove podataka umjesto tvrdih kodiranih pravila.

ML omogućuje računalima da samostalno uče. Ova vrsta učenja koristi prednosti procesorske snage suvremenih računala koja mogu lako obraditi velike skupove podataka.

Učenje pod nadzorom u odnosu na učenje bez nadzora

Nadzirano učenje uključuje upotrebu označenih skupova podataka koji imaju ulaze i očekivane izlaze.

Kada trenirate AI koristeći učenje pod nadzorom, dajete mu ulaz i govorite očekivani rezultat.

Ako je izlaz koji generira AI pogrešan, prilagodit će svoje izračune. Ovaj se postupak izvodi iterativno preko skupa podataka, sve dok AI više ne napravi pogreške.

Primjer nadziranog učenja je AI koja predviđa vremenske prilike. Uči predviđati vrijeme koristeći se povijesnim podacima. Ti podaci o treningu imaju ulaze (tlak, vlažnost, brzinu vjetra) i izlaze (temperatura).

Učenje bez nadzora zadatak je strojnog učenja pomoću skupova podataka bez određene strukture.

Kada trenirate AI koristeći učenje bez nadzora, dopuštate mu da stvara logične klasifikacije podataka.

Primjer učenja bez nadzora je AI za predviđanje ponašanja za web stranicu e-trgovine. Neće učiti pomoću označenog skupa podataka ulaza i izlaza.

Umjesto toga, stvorit će vlastitu klasifikaciju ulaznih podataka. Reći će vam kakvi će korisnici najvjerojatnije kupiti različite proizvode.

E sad, kako funkcionira duboko učenje?

Sada ste spremni shvatiti što je duboko učenje i kako ono funkcionira.

Duboko učenje je metoda strojnog učenja . Omogućuje nam osposobljavanje AI za predviđanje rezultata, s obzirom na skup ulaza. I učenje pod nadzorom i bez nadzora može se koristiti za osposobljavanje AI.

Naučit ćemo kako funkcionira duboko učenje izgradnjom hipotetičke usluge procjene cijene zrakoplovnih karata . Trenirat ćemo ga primjenom nadzirane metode učenja.

Želimo da naš procjenitelj cijena zrakoplovnih karata predvidi cijenu pomoću sljedećih unosa (radi jednostavnosti isključujemo povratne karte):

  • Zračna luka Origin
  • Zračna luka odredišta
  • Datum polaska
  • Zrakoplovna kompanija

Neuronske mreže

Pogledajmo unutar mozga naše AI.

Poput životinja, mozak našeg procjenitelja AI ima neurone. Oni su predstavljeni krugovima. Ti su neuroni međusobno povezani.

Neuroni su grupirani u tri različite vrste slojeva:

  1. Ulazni sloj
  2. Skriveni slojevi
  3. Izlazni sloj

Ulazni sloj prima ulazne podatke. U našem slučaju u ulaznom sloju imamo četiri neurona: Zračna luka odredišta, Odredišna zračna luka, Datum polaska i Zračna linija. Ulazni sloj prosljeđuje ulaze prvom skrivenom sloju.

U skriveni slojevi izvoditi matematičke izračune na našim ulaza. Jedan od izazova u stvaranju neuronskih mreža je odlučivanje o broju skrivenih slojeva, kao i o broju neurona za svaki sloj.

" Duboko " u dubinskom učenju odnosi se na više od jednog skrivenog sloja.

Izlazni sloj vraća izlaznih podataka. U našem slučaju daje nam predviđanje cijene.

Pa kako izračunava predviđanje cijene?

Tu započinje čarolija dubokog učenja .

Svaka veza između neurona povezana je s težinom . Ova težina diktira važnost ulazne vrijednosti. Početna težina postavlja se slučajnim odabirom.

Kada se predviđa cijena avionske karte, datum polaska jedan je od težih čimbenika. Stoga će veze neurona s datumom odlaska imati veliku težinu.

Svaki neuron ima funkciju aktivacije. Te je funkcije teško razumjeti bez matematičkog obrazloženja.

Jednostavno rečeno, jedna od njegovih svrha je "standardizirati" izlaz iz neurona.

Jednom kada je skup ulaznih podataka prošao kroz sve slojeve neuronske mreže, vraća izlazne podatke kroz izlazni sloj.

Ništa komplicirano, zar ne?

Obuka neuronske mreže

Obuka AI je najteži dio dubokog učenja. Zašto?

  1. Treba vam velik skup podataka .
  2. Potrebna vam je velika količina računske snage .

Za našu procjenu cijena zrakoplovnih karata moramo pronaći povijesne podatke o cijenama karata. A zbog velike količine mogućih zračnih luka i kombinacija datuma polaska, potreban nam je vrlo velik popis cijena karata.

Da bismo obučili AI, moramo mu dati ulaze iz našeg skupa podataka i usporediti njegove izlaze s izlazima iz skupa podataka. Budući da je AI još uvijek neobučen, njegovi će izlazi biti pogrešni.

Nakon što prođemo kroz cijeli niz podataka, možemo stvoriti funkciju koja nam pokazuje koliko su pogrešni izlazi AI bili iz stvarnih izlaza. Ova se funkcija naziva troškovna funkcija.

U idealnom slučaju želimo da naša funkcija troškova bude nula. Tada su izlazi našeg AI isti kao i izlazi skupa podataka.

Kako možemo smanjiti funkciju troškova?

Mijenjamo težine između neurona. Mogli bismo ih nasumično mijenjati dok nam funkcija troškova ne bude niska, ali to nije baš učinkovito.

Umjesto toga, koristit ćemo tehniku ​​nazvanu Gradient Descent.

Gradient Descent je tehnika koja nam omogućuje da pronađemo minimum funkcije. U našem slučaju tražimo funkciju minimuma troškova.

Radi se mijenjanjem pondera u malim koracima nakon svake iteracije skupa podataka . Izračunavanjem izvedenice (ili gradijenta) funkcije troškova pri određenom skupu težine, možemo vidjeti u kojem je smjeru minimum.

Da biste minimizirali troškovnu funkciju, trebate mnogo puta prelistati svoj skup podataka. Zbog toga vam je potrebna velika količina računske snage.

Ažuriranje utega pomoću gradijentnog spuštanja vrši se automatski . To je čarolija dubokog učenja!

Nakon što obučimo naš AI za procjenu cijena avionskih karata, možemo ga koristiti za predviđanje budućih cijena.

Gdje mogu naučiti više?

Postoje mnoge druge vrste neuronskih mreža: Konvolucijske neuronske mreže za računalni vid i Ponavljajuće neuronske mreže za obradu prirodnog jezika.

Ako želite naučiti tehnički aspekt dubokog učenja, predlažem pohađanje internetskog tečaja.

Trenutno je jedan od najboljih tečajeva za dubinsko učenje Andrew Ng's Deep Learning Specialization. Ako vas ne zanima certifikat, ne morate platiti tečaj. Umjesto toga možete ga besplatno pregledati.

Ako imate pitanja ili želite tehnička objašnjenja koncepata, pitajte u nastavku!

U sažetku…

  • Dubinsko učenje koristi neuronsku mrežu za oponašanje životinjske inteligencije.
  • Postoje tri vrste slojeva neurona u neuronskoj mreži: ulazniSloj, skriveni sloj (ovi) i izlazni sloj.
  • Veze između neurona povezane su s utegom, što diktira važnost ulazne vrijednosti.
  • Neuroni primjenjuju funkciju aktiviranja na podatke kako bi "standardizirali" izlaz koji izlazi iz neurona.
  • Da biste trenirali neuronsku mrežu, potreban vam je velik skup podataka.
  • Iteracijom kroz skup podataka i usporedbom izlaza stvorit će se troškovna funkcija koja pokazuje koliko je AI isključen od stvarnih izlaza.
  • Nakon svake iteracije kroz skup podataka, težine između neurona podešavaju se pomoću Gradient Descent kako bi se smanjila funkcija troškova.

Ako vam se svidio ovaj članak, molim vas dajte mi nekoliko pljeska kako bi ga vidjelo više ljudi. Hvala!

Također možete provjeriti moje iskustvo kako sam stekao praksu u Shopify!

Za više ažuriranja, slijedite me na Twitteru.