Neural Networks for Dummies: gyors bevezető e lenyűgöző területre

Gondolkodott már azon, hogy mik ezek a neurális hálózatok, amelyekről mindenki beszél, és túlságosan félt megkérdezni? Nos, ne félj többet! A bejegyzés végére bejárhat bármely konferenciára, és elkápráztathatja az ebédlőasztalt az újonnan megszerzett divatszavakkal!

Ha az elmúlt pár évben megnyitotta böngészőjét, akkor biztosan pár (száz) alkalommal látta a „Neural Networks” kifejezést.

Ebben a rövid olvasmányban adok néhány összefüggést a domainről és magáról a dologról. A következő 5 percben nem leszel a világ szakértője a mezőnyben, de átjutsz a nem triviális fedélzeti szakaszon. Megtanul néhány olyan kulcsszót is, hogy lenyűgözze a családot az ebédlőasztalnál, különösen, ha követi az olvasási listát a végén.

Mi az a gépi tanulás?

A neurális hálózatok megértéséhez először meg kell értenünk a gépi tanulást. És hogy megértsük a gépi tanulást, beszéljünk először az emberi tanulásról vagy a „klasszikus programozásról”.

A klasszikus programozásban nekem, a fejlesztőnek, meg kell értenem a probléma azon aspektusait, amelyet megpróbálok megoldani, és pontosan meg kell tudnom, hogy milyen szabályok vannak a megoldáshoz.

Tegyük fel például, hogy azt akarom, hogy a programom tudja a különbséget egy négyzet és egy kör között. Ezután az egyik módja annak kezelése, ha megírunk egy programot, amely képes felismerni a sarkokat, majd alkalmazza a sarkok megszámlálására . Ha a programot lát 4 sarkok, akkor ez az alak egy négyzet, és ha úgy látja, nincs sarkok, akkor ez a forma a kör.

És a gépi tanulás? Nagyon általában véve a gépi tanulás = példákból tanulás

A Gépi tanulás során, amikor pontosan ugyanazzal a problémával szembesülünk, hogy megkülönböztetjük a köröket és négyzeteket, egy olyan tanulási rendszert terveznénk meg , amely sok formának és osztályának (négyzet vagy kör) példáját venné fel . Reméljük, hogy a gép önmagában megtanulja azokat a tulajdonságokat, amelyek megkülönböztetik őket.

És akkor, barátaim, miután a gép megtanulta ezeket a tulajdonságokat, új képet adhatok neki egy körről vagy négyzetről, amelyet még nem látott , és remélhetőleg helyesen osztályozza.

Mi az a neuron?

Az idegsejt a Neural Networks összefüggésében olyan fantázianév, amelyet az okos-alekszis emberek használnak, ha túl divatosak ahhoz, hogy funkciót mondjanak . A függvény a matematika és az informatika összefüggésében fantázianév valaminek, ami némi bevitelt igényel, logikát alkalmaz és eredményt ad ki.

Pontosabban: az idegsejt egy tanulási egységnek tekinthető .

Ezért meg kell értenünk, mi a tanulási egység , a Gépi Tanulás összefüggésében. Akkor meg fogjuk érteni a neurális hálózat legalapvetőbb építőelemét is, amely a neuron.

Például tegyük fel, hogy megpróbálom megérteni a blogbejegyzésben szereplő szavak és az emberek által a blogbejegyzésből olvasott szavak közötti kapcsolatot. Ne feledje - a Gépi Tanulás tartományban vagyunk, ahol példákból tanulunk.

Tehát sok példát gyűjtök a blogbejegyzésekben a szavak számlálására, x- szel jelölve , és azt, hogy az emberek ténylegesen hány szót olvasnak el ezekben a bejegyzésekben, y , és azt képzelem, hogy van köztük valamilyen kapcsolat, amelyet f jelöl .

A trükk azonban az, hogy csak el kell mondanom a gépnek (a programnak) , hogy mi a kapcsolat, amelyet várhatóan látni fogok (például egy egyeneset), és a gép meg fogja érteni a tényleges vonalat, amelyet meg kell húznia.

Mit szereztem itt?

Legközelebb szeretnék írni egy blogbejegyzést, amely x szó benne, a gép alkalmazza a kapcsolat f megállapította, és mondja meg, hogy hány szót tudok várni az emberektől, olvasni, y .

Tehát egy neurális hálózat…

Nos, ha az idegsejt egy funkció, akkor a neurális hálózat a funkciók hálózata! Ez azt jelenti, hogy sok (sok sok) ilyen funkciónk van, ilyen tanulási egységek , és minden be- és kimenetük összefonódik, és táplálják egymást.

Mint a hálózat tervezője, az én feladatom megválaszolni néhány kérdést:

  • Hogyan modellezhetem az inputokat és outputokat ? (Például, ha a bemenet valamilyen szöveg, modellezhetem betűkkel? számok? vektorok?….)
  • Milyen funkciók vannak az egyes idegsejtekben? (lineárisak? exponenciálisak? ...)
  • Mi a hálózat architektúrája ? (vagyis melyik függvény kimenete melyik függvény bemenete?)
  • Mik a hívószavakHasználhatom a hálózatom leírására?

Miután megválaszoltam ezeket a kérdéseket, sok (sok) példát tudok a hálózatnak bemutatni a helyes bemenetekről és kimenetekről, abban a reményben, hogy amikor egy új példa bemenetet "megmutatok" neki, amelyet még soha nem látott, akkor meg fogja tudni hogy a megfelelő kimenetet adja.

A tanulási folyamat működése meghaladja a bejegyzés kereteit, de ha többet szeretne megtudni, megnézheti ezt. Mehet erre az őrülten klassz Neural Network Playgroundra is, hogy jobban megértse, mit jelent ez.

Neural Networks - A véget nem érő történet

Mivel ez a mező szó szerint robban, a percenként megjelenő új (és kiváló minőségű!) Tartalmak mennyiségét ember nem tudja követni. (Szerinted eljön az OMG, amikor eljön az idő, amikor az emberek olyan AI-t építhetnek, amely képes lesz nyomon követni az AI fejlődésének emberi fejlődését ??)

Erre a területre eljutva először azt kell tudni, hogy SENKI sem tud mindent. Tehát jól érezze magát, ahol van, és csak kíváncsi legyen :)

Ezért azt akarom, hogy a hozzászólásom utolsó szavai utaljanak személyes kedvenc forrásaimra, amelyekből tanulhatok:

  • Gal Yona - az egyik kedvenc bloggerem a területen. Bejegyzései a mélyreható technikai magyarázatoktól a félfilozófiai áttekintésekig terjednek.
  • Siraj Raval - egy youtuber, hatalmas videók gyűjteményével, az elméleti magyarázatoktól kezdve a gyakorlati útmutatókig, és mindez rendkívül szórakoztató!
  • Christopher Olah - szenvedélyes és éleslátó kutató, vizuálisan hívogató blogot tart fenn, az alapkoncepciótól a mélymerülésig bejegyzésekkel.
  • A Towards Data Science című szakterületre jellemző legnagyobb közepes kiadvány, és amit szeretek benne, az az, hogy a szerkesztők kiváló kurátorok. Amikor van néhány perc / óra tartalék, csak menjen a honlapjukra, és kezdjen el mindent felfedezni , a gyakorlati eszközöktől kezdve a mély algoritmikus tartalomig.