Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Hekuri
  • Me fjalë të thjeshta për kompleksin: çfarë janë rrjetet nervore? Një hyrje në të mësuarit e thellë.

Me fjalë të thjeshta për kompleksin: çfarë janë rrjetet nervore? Një hyrje në të mësuarit e thellë.

Dhe pjesërisht, ky udhëzues është menduar për këdo që është i interesuar në mësimin e makinerive, por nuk di nga të fillojë. Përmbajtja e artikujve është menduar për një audiencë të gjerë dhe do të jetë mjaft sipërfaqësore. Por a kujdeset dikush? Sa më shumë njerëz të jenë të interesuar për mësimin e makinerive, aq më mirë.

Njohja e objekteve duke përdorur të mësuarit e thellë

Ju mund ta keni parë tashmë këtë komik të famshëm xkcd. Shakaja është se çdo fëmijë 3-vjeçar mund të njohë një fotografi të një zogu, por për ta bërë kompjuterin për ta bërë këtë, shkencëtarëve më të mirë të informatikës u janë dashur mbi 50 vjet. Në vitet e fundit, më në fund kemi gjetur një të mirë Qasja për njohjen e objektit duke përdorur rrjetet nervore konvolucionale të thella... Kjo tingëllon si një grumbull fjalësh të sajuara nga një roman fantazi i William Gibson, por do të bëhet e qartë kur t'i zbërthejmë një nga një. Pra, le ta bëjmë atë - shkruaj një program që njeh zogjtë!

Le të fillojmë thjesht

Para se të mësojmë se si të njohim imazhet e zogjve, le të mësojmë se si të njohim diçka shumë më të thjeshtë - numrin e shkruar me dorë "8".

Çfarë është të mësuarit e thellë? 3 mars 2016

Tani ata flasin për teknologjitë në modë të të mësuarit të thellë, sikur të ishte mana nga parajsa. Por a e kuptojnë folësit se çfarë është në të vërtetë? Por ky koncept nuk ka përkufizim zyrtar dhe bashkon një grumbull të tërë teknologjish. Në këtë postim, dua të jem sa më popullor, dhe në fakt të shpjegoj se çfarë fshihet pas këtij termi, pse është kaq popullor dhe çfarë na japin këto teknologji.


Shkurtimisht, ky term i ri (të mësuarit e thellë) ka të bëjë me atë se si të grumbullohet një abstraksion (përfaqësim) më kompleks dhe i thellë nga një abstraksion i thjeshtë. përveç kësaj, edhe abstraksionet më të thjeshta duhet të grumbullohen nga vetë kompjuteri, dhe jo nga një person... ato. nuk ka të bëjë më vetëm me të mësuarit, por me meta-mësimin. Në mënyrë figurative, kompjuteri duhet të mësojë në mënyrë të pavarur se si ta mësojë atë më së miri. Dhe, në fakt, termi "thellë" nënkupton pikërisht këtë. Pothuajse gjithmonë, ky term përdoret për rrjetet nervore artificiale, ku përdoret më shumë se një shtresë e fshehur, kështu që formalisht "thellë" nënkupton edhe një arkitekturë më të thellë të rrjetit nervor.

Në rrëshqitjen e zhvillimit, mund të shihni qartë se sa ndryshon të mësuarit e thellë nga të mësuarit e zakonshëm. E përsëris, unike për të mësuarit e thellë është se vetë makina gjen veçori(tiparet kryesore të diçkaje që e bëjnë më të lehtë ndarjen e një klase objektesh nga një tjetër) dhe Këto veçori janë të strukturuara në mënyrë hierarkike: ato më komplekse formohen nga më të thjeshtat... Më poshtë do ta analizojmë këtë me një shembull.

Le të shohim një shembull të një problemi të njohjes së imazhit: më parë, ata futën një fotografi të madhe (1024 × 768 - rreth 800,000 vlera numerike) në një rrjet të rregullt nervor me një shtresë dhe panë kompjuterin të vdesë ngadalë, duke u mbytur nga mungesa e kujtesës dhe paaftësia. për të kuptuar se cilët pikselë janë të rëndësishëm për njohjen dhe cilët jo. Për të mos përmendur efektivitetin e kësaj metode. Këtu është arkitektura e një rrjeti nervor kaq të zakonshëm (të cekët).

Pastaj, megjithatë, ata dëgjuan se si truri i dallon shenjat, dhe ai e bën atë në mënyrë rigoroze hierarkike, dhe ne gjithashtu vendosëm të nxjerrim një strukturë hierarkike nga fotografitë. Për ta bërë këtë, ishte e nevojshme të shtoheshin më shumë shtresa të fshehura (shtresa që ndodhen midis hyrjes dhe daljes; përafërsisht, fazat e transformimit të informacionit) në rrjetin nervor. Edhe pse ata vendosën ta bënin këtë pothuajse sapo u shpikën neuronet, atëherë rrjetet me vetëm një shtresë të fshehur u trajnuan me sukses. ato. në parim, rrjetet e thella kanë ekzistuar për aq kohë sa ato të zakonshmet, thjesht nuk mund t'i trajnonim. Çfarë ka ndryshuar?

Në vitin 2006, disa studiues të pavarur e zgjidhën këtë problem menjëherë (përveç kësaj, kapacitetet e harduerit tashmë ishin zhvilluar mjaftueshëm, u shfaqën karta video mjaft të fuqishme). Këta studiues: Jeffrey Hinton (dhe kolegu i tij Ruslan Salakhutidinov) me teknikën e trajnimit paraprak të çdo shtrese të rrjetit nervor me një makinë Boltzmann të kufizuar (më falni për këto terma ...), Ian Lecun me rrjetet nervore konvolucioniste dhe Yoshuaia Benjio me autoenkoderë kaskadë. Dy të parët u rekrutuan menjëherë nga Google dhe Facebook, përkatësisht. Këtu janë dy leksione: një - Hinton, tjetra është Lyakuna, në të cilën ata shpjegojnë se çfarë është të mësuarit e thellë. Më mirë se ata, askush nuk do të tregojë për këtë. Një tjetër e lezetshme leksion Schmidhuber mbi zhvillimin e të mësuarit të thellë, gjithashtu një nga shtyllat e kësaj shkence. Dhe Hinton gjithashtu ka një kurs të shkëlqyer në kursorët e neuroneve.

Për çfarë janë në gjendje rrjetet nervore të thella tani? Ata janë në gjendje të njohin dhe përshkruajnë objekte, mund të themi "të kuptojnë" se çfarë është. Bëhet fjalë për njohjen e kuptimit.

Thjesht shikoni këtë video të njohjes në kohë reale të asaj që shikon kamera.

Siç thashë, teknologjitë e të mësuarit të thellë janë një grup i tërë teknologjish dhe zgjidhjesh. Unë kam renditur tashmë disa prej tyre në paragrafin e mësipërm, një shembull tjetër janë rrjetet e përsëritura, të cilat përdoren vetëm në videon e mësipërme për të përshkruar atë që sheh rrjeti. Por përfaqësuesi më i popullarizuar i kësaj klase teknologjish janë ende rrjetet nervore konvolucionare LaCun. Ato janë ndërtuar në analogji me parimet e korteksit vizual të trurit të maces, në të cilin u zbuluan të ashtuquajturat qeliza të thjeshta që u përgjigjen vijave të drejta në kënde të ndryshme, dhe komplekse - reagimi i të cilave shoqërohet me aktivizimin e një grup i caktuar i qelizave të thjeshta. Megjithëse, për të qenë i sinqertë, vetë LaKun nuk ishte i orientuar drejt biologjisë, ai po zgjidhte një problem specifik (shih leksionet e tij), dhe më pas përkoi.

Thjesht, rrjetet konvolucionale janë rrjete ku elementi kryesor strukturor i të mësuarit është një grup (kombinim) neuronesh (zakonisht një katror 3 × 3,10 × 10, etj.), dhe jo një. Dhe në çdo nivel të rrjetit, dhjetëra grupe të tilla trajnohen. Rrjeti gjen kombinime të neuroneve që maksimizojnë informacionin rreth imazhit. Në nivelin e parë, rrjeti nxjerr elementet më themelore, strukturore të thjeshta të figurës - mund të thuhet, ndërtimi i njësive: kufijtë, goditjet, segmentet, kontrastet. Më lart, tashmë ka kombinime të qëndrueshme të elementeve të nivelit të parë, dhe kështu me radhë deri në zinxhir. Dua të theksoj edhe një herë tiparin kryesor të të mësuarit të thellë: vetë rrjetet formojnë këto elemente dhe vendosin se cili prej tyre është më i rëndësishëm dhe cilët jo. Kjo është e rëndësishme, sepse në fushën e mësimit të makinerive, krijimi i veçorive është kyç dhe tani po kalojmë në fazën kur vetë kompjuteri mëson të krijojë dhe përzgjedhë veçori. Vetë makina identifikon hierarkinë e veçorive informative.

Pra, në procesin e trajnimit (duke parë qindra foto), rrjeti konvolucionist formon një hierarki tiparesh të niveleve të ndryshme të thellësisë. Këtu në nivelin e parë, ata mund të nxjerrin në pah, për shembull, elementë të tillë (duke reflektuar kontrastin, këndin, kufirin, etj.).


Në nivelin e dytë, ky tashmë do të jetë një element nga elementët e nivelit të parë. Në të tretën - nga e dyta. Ju duhet të kuptoni se kjo foto është vetëm një demonstrim. Tani në përdorim industrial, rrjete të tilla kanë nga 10 deri në 30 shtresa (nivele).

Pasi të jetë trajnuar një rrjet i tillë, ne mund ta përdorim atë për klasifikim. Pasi kanë paraqitur një imazh në hyrje, grupet e neuroneve të shtresës së parë kalojnë mbi imazhin, duke u aktivizuar në ato vende ku ka një element fotografie që korrespondon me një element specifik. ato. ky rrjet e analizon figurën në pjesë - fillimisht në viza, goditje, kënde të animit, pastaj pjesë më komplekse, dhe në fund del në përfundimin se një fotografi nga ky lloj kombinimi i elementeve bazë është një fytyrë.

Më shumë rreth rrjeteve konvolucionale -

Mësova për tendencat e biznesit në një konferencë në shkallë të gjerë në Kiev. I gjithë procesi është i mbushur me njohuri të së shtunës, pasi ata hoqën njohuritë dhe njohuritë e reja, arsyen e zhvillimit të një ore. Në konferencë ka 4 rryma idesh shtesë për pronarët e bizneseve, menaxherët TOP, tregtarët, shitjet, punonjësit dhe specialitete të tjera. Një nga zëdhënësit e Ministrisë së Infrastrukturës Volodymyr Omelyan, i cili foli për zhvillimin e galuzive, rrugët e rinovuara dhe aeroportet.

Ditë të mbarë për të gjithë, të dashur kolegë pseudonime iOS, me siguri secili prej jush ka punuar me rrjetin dhe ka qenë i angazhuar në analizimin e të dhënave nga JSON. Për këtë proces, ka një mori bibliotekash, të gjitha llojet e mjeteve që mund të përdorni. Disa janë komplekse dhe disa janë të thjeshta. Për një kohë shumë të gjatë vetë, sinqerisht e analizova JSON me dorë, duke mos ia besuar këtë proces disa bibliotekave të palëve të treta, dhe kjo kishte avantazhet e saj.

Më 9 shtator 2014, gjatë një prezantimi të rregullt, Apple prezantoi sistemin e vet të pagesave celulare - Apple Pay.

Me Apple Pay, përdoruesit e iPhone 6 dhe iPhone 6+ dhe Apple Watch më të fundit mund të blejnë online, të përfitojnë nga përfitimet e shtuara të Apple Pay për aplikacionet celulare dhe të bëjnë pagesa duke përdorur teknologjinë e komunikimit në terren të afërt (NFC). Për autorizimin e pagesave, përdoren teknologjitë Touch ID ose Face ID.

Teknologjitë nuk qëndrojnë ende dhe proceset e zhvillimit ecin me to. Nëse kompanitë e mëparshme punonin sipas modelit "Ujëvara", tani, për shembull, të gjithë po përpiqen të zbatojnë "Scrum". Evolucioni po ndodh edhe në ofrimin e shërbimeve të zhvillimit të softuerit. Ndërsa kompanitë dikur u ofronin klientëve zhvillim cilësor me buxhet, duke u ndalur këtu, tani ato përpiqen të ofrojnë vlerë maksimale për klientin dhe biznesin e tij duke ofruar ekspertizën e tyre.

Gjatë viteve të fundit, janë shfaqur kaq shumë shkronja të mira, duke përfshirë ato falas, saqë vendosëm të shkruajmë një vazhdim të tonës për stilistët.

Çdo stilist ka një sërë shkronjash të preferuara për të punuar, me të cilat është mësuar të punojë dhe që pasqyrojnë stilin e tij grafik. Dizajnerët thonë "Nuk ka kurrë shumë fonte të mira", por tani ne mund të imagjinojmë me siguri një situatë kur ky grup përbëhet vetëm nga fonte falas.

Sa shpesh menaxherët e projektit e gjejnë veten mes gurit dhe vendit të vështirë kur përpiqen të gjejnë një ekuilibër midis të gjitha kërkesave dhe afateve të klientit dhe shëndetit mendor të të gjithë ekipit? Sa nuanca duhet të merren parasysh në mënyrë që të ketë paqe dhe rregull në të dy anët e përgjegjësisë? Si e kuptoni që jeni një menaxher i mirë apo keni nevojë urgjente për të kapur hapin në të gjitha frontet? Si të përcaktoni se në çfarë aspektesh jeni ju si kryeministër që keni mbetur prapa dhe ku jeni një shok i mirë dhe një vajzë e zgjuar? Kjo është ajo që konferenca e ardhshme Code'n'Coffee ishte rreth.

Teknologjia e njohjes së modeleve përfshihet gjithnjë e më shumë në jetën tonë të përditshme. Kompanitë dhe institucionet e përdorin atë për gjithçka, nga siguria deri te hulumtimi i kënaqësisë së klientit. Investimet në produkte të bazuara në këtë veçori pritet të rriten në 39 miliardë dollarë deri në vitin 2021. Këtu janë vetëm disa shembuj se si përdoret njohja e modelit në fusha të ndryshme.

(Botimet Manning).

Ky artikull është menduar për njerëzit që tashmë kanë përvojë të rëndësishme me të mësuarit e thellë (për shembull, ata që kanë lexuar tashmë kapitujt 1-8 të këtij libri). Supozohet se keni shumë njohuri.

Mësimi i thellë: Pamje gjeometrike

Gjëja më e mahnitshme për të mësuarit e thellë është se sa e thjeshtë është. Dhjetë vjet më parë, askush nuk mund ta imagjinonte se çfarë rezultatesh mahnitëse do të arrinim në problemet e perceptimit të makinës duke përdorur modele të thjeshta parametrike të trajnuar me zbritje gradient. Tani rezulton se ne kemi nevojë vetëm mjaftueshem i madh modele parametrike të trajnuar mbi mjaftueshem i madh numri i mostrave. Siç tha dikur Feynman për universin: Nuk është e vështirë, ka vetëm shumë».

Në mësimin e thellë, gjithçka është një vektor, d.m.th. pikë v hapësirë ​​gjeometrike... Të dhënat hyrëse të modelit (mund të jenë tekst, imazhe, etj.) dhe objektivat e tij fillimisht "vektorizohen", domethënë përkthehen në një hapësirë ​​fillestare vektoriale në hyrje dhe në hapësirën vektoriale të synuar në dalje. Çdo shtresë në një model të të mësuarit të thellë kryen një transformim të thjeshtë gjeometrik në të dhënat që rrjedhin nëpër të. Së bashku, zinxhiri i shtresave të modelit krijon një transformim gjeometrik shumë kompleks, të ndarë në një seri të thjeshtash. Ky transformim kompleks përpiqet të transformojë hapësirën e të dhënave hyrëse në hapësirën e synuar, për çdo pikë. Parametrat e transformimit përcaktohen nga peshat e shtresave, të cilat përditësohen vazhdimisht bazuar në atë se sa mirë po performon modeli aktualisht. Karakteristika kryesore e transformimit gjeometrik është se duhet të jetë të diferencueshme, domethënë, ne duhet të jemi në gjendje t'i zbulojmë parametrat e tij përmes zbritjes së gradientit. Intuitivisht, kjo do të thotë se morfizimi gjeometrik duhet të jetë i rrjedhshëm dhe i vazhdueshëm - një kufizim i rëndësishëm.

I gjithë procesi i aplikimit të këtij transformimi kompleks gjeometrik në të dhënat hyrëse mund të vizualizohet në 3D duke përshkruar një person që përpiqet të shpalos një top letre: një top letre i thërrmuar është një shumëllojshmëri të dhënash hyrëse me të cilat modeli fillon të funksionojë. Çdo lëvizje e një personi me një top letre është si një transformim i thjeshtë gjeometrik i kryer nga një shtresë. Një sekuencë e plotë gjestesh të shpalosura është një transformim kompleks i të gjithë modelit. Modelet e të mësuarit të thellë janë makina matematikore për zbërthimin e shumëfishtë të ngatërruar të të dhënave shumëdimensionale.

Kjo është magjia e të mësuarit të thellë: shndërroni një vlerë në vektorë, në hapësira gjeometrike dhe më pas mësoni gradualisht transformimet komplekse gjeometrike që transformojnë një hapësirë ​​në një tjetër. Gjithçka që nevojitet janë hapësira të një dimensioni mjaft të madh për të përcjellë të gjithë gamën e marrëdhënieve që gjenden në të dhënat origjinale.

Kufizimet e të mësuarit të thellë

Grupi i detyrave që mund të zgjidhen me këtë strategji të thjeshtë është pothuajse i pafund. E megjithatë, shumë prej tyre janë ende përtej mundësive të teknikave aktuale të të mësuarit të thellë - edhe me sasinë e madhe të të dhënave me shënime manuale të disponueshme. Le të themi, për shembull, se mund të mbledhësh një grup të dhënash prej qindra mijëra - madje edhe miliona - përshkrimesh në anglisht të veçorive të softuerit të shkruar nga menaxherët e produkteve, së bashku me një vit referencë përkatës të zhvilluar nga ekipet inxhinierike për të përmbushur këto kërkesa. Edhe me këto të dhëna, ju nuk mund të trajnoni një model të të mësuarit të thellë duke lexuar thjesht përshkrimin e produktit dhe duke gjeneruar bazën e duhur të kodit. Ky është vetëm një shembull nga shumë. Në përgjithësi, çdo gjë që kërkon argumentim, arsyetim - si programimi ose aplikimi i metodës shkencore, planifikimi afatgjatë, manipulimi i të dhënave në një stil algoritmik - është përtej aftësive të modeleve të të mësuarit të thellë, pavarësisht se sa të dhëna u hidhni atyre. Edhe mësimi i një rrjeti nervor për të renditur algoritmin është tepër i vështirë.

Arsyeja është se modeli i të mësuarit të thellë është "vetëm" zinxhir transformimesh të thjeshta, të vazhdueshme gjeometrike që transformojnë një hapësirë ​​vektoriale në një tjetër. Gjithçka që mund të bëjë është të transformojë një grup të dhënash X në një grup tjetër të dhënash Y, me kusht që të ketë një transformim të mundshëm të vazhdueshëm nga X në Y që mund të mësohet dhe disponueshmëria grup i dendur i mostrës transformoni X: Y si të dhëna trajnimi. Pra, ndërsa modeli i të mësuarit të thellë mund të konsiderohet një lloj programi, por shumica e programeve nuk mund të shprehen si modele të të mësuarit të thellë- për shumicën e problemeve, ose nuk ka një rrjet nervor të thellë me madhësi praktikisht të përshtatshme që e zgjidh problemin, ose nëse ekziston, mund të jetë i pamësueshëm, domethënë, transformimi gjeometrik përkatës mund të jetë shumë kompleks, ose nuk ka të dhëna të përshtatshme për trajnimin e tij.

Rritja e teknikave ekzistuese të të mësuarit të thellë - duke shtuar më shumë shtresa dhe duke përdorur më shumë të dhëna trajnimi - mund të lehtësojë vetëm sipërfaqësisht disa nga këto probleme. Nuk do të zgjidhë problemin më themelor që modelet e të mësuarit të thellë janë shumë të kufizuara në atë që mund të përfaqësojnë dhe që shumica e programeve nuk mund të shprehen si morfim gjeometrik i vazhdueshëm i një shumëllojshmërie të dhënash.

Rreziku i antropomorfizimit të modeleve të mësimit të makinerive

Një nga rreziqet reale të AI moderne është keqinterpretimi i mënyrës sesi funksionojnë modelet e të mësuarit të thellë dhe ekzagjerimi i aftësive të tyre. Një tipar themelor i mendjes njerëzore është "modeli i psikikës njerëzore", tendenca jonë për të projektuar qëllimet, besimet dhe njohuritë mbi gjërat rreth nesh. Vizatimi i një fytyre të buzëqeshur në një gur befas na bën "të lumtur" - mendërisht. E aplikuar për të mësuarit e thellë, kjo do të thotë, për shembull, se nëse ne mund të trajnojmë pak a shumë me sukses një model për të gjeneruar përshkrime tekstuale të fotografive, atëherë ne priremi të mendojmë se modeli "kupton" përmbajtjen e imazheve si dhe ato të krijuara. përshkrimet. Atëherë ne habitemi shumë kur, për shkak të një devijimi të vogël nga grupi i imazheve të paraqitura në të dhënat e trajnimit, modeli fillon të gjenerojë përshkrime krejtësisht absurde.

Në veçanti, kjo është më e theksuar në "shembuj kundërshtarë", domethënë mostra të të dhënave hyrëse të rrjetit të mësimit të thellë, të zgjedhura posaçërisht për t'u klasifikuar gabimisht. Tashmë e dini që mund të bëni ngjitje gradient në hapësirën hyrëse për të gjeneruar modele që maksimizojnë aktivizimin, siç është një filtër i veçantë CNN - ky është thelbi i teknikës së interpretimit që trajtuam në Kapitullin 5 (Shënim: Mësimi i thellë me libra Python) , ashtu si algoritmi Deep Dream nga Kapitulli 8. Në mënyrë të ngjashme, përmes ngjitjes me gradient, mund ta ndryshoni paksa madhësinë e imazhit për të maksimizuar parashikimin e klasës për një klasë të caktuar. Nëse bëjmë një foto të një panda dhe shtojmë një gradient gibon, ne mund ta detyrojmë rrjetin nervor ta klasifikojë atë panda si një gibon. Kjo tregon brishtësinë e këtyre modeleve dhe ndryshimin e thellë midis transformimit të hyrjes në dalje që e udhëheq atë dhe perceptimit tonë njerëzor.

Në përgjithësi, modeleve të të mësuarit të thellë u mungon kuptimi i inputeve, të paktën jo në kuptimin njerëzor. Kuptimi ynë i imazheve, tingujve, gjuhës bazohet në përvojën tonë sensoromotore si njerëz - si qenie materiale tokësore. Modelet e mësimit të makinerive nuk kanë akses në këtë përvojë dhe për këtë arsye nuk mund t'i "kuptojnë" të dhënat tona në asnjë mënyrë si njeriu. Duke shënuar një numër të madh shembujsh trajnimi për modelet tona, ne i detyrojmë ata të mësojnë një transformim gjeometrik që sjell të dhëna në konceptet njerëzore për atë grup specifik shembujsh, por ky transformim është thjesht një skicë e thjeshtuar e modelit origjinal të mendjes sonë, si të zhvilluara nga përvoja jonë si agjentë trupor janë si një reflektim i dobët në një pasqyrë.

Si praktikues në mësimin e makinerive, mbajeni gjithmonë këtë në mendje dhe mos bini kurrë në grackën e të besuarit se rrjetet nervore e kuptojnë detyrën që po kryejnë - nuk e kuptojnë, të paktën jo në mënyrën që ka kuptim për ne. Ata u trajnuan në një detyrë të ndryshme, shumë më të ngushtë nga ajo që ne duam t'u mësojmë: thjesht konvertimin e mostrave të trajnimit të dhëna në kampionë trajnimi të synuar, pikë për pikë. Tregojuni atyre çdo gjë që është e ndryshme nga të dhënat e stërvitjes dhe ata thyejnë në mënyrën më absurde.

Përgjithësimi lokal kundrejt përgjithësimit kufizues

Duket se ka një ndryshim thelbësor midis morfimit të drejtpërdrejtë gjeometrik të hyrjes në dalje që bëjnë modelet e të mësuarit të thellë dhe mënyrës se si njerëzit mendojnë dhe mësojnë. Nuk është vetëm se njerëzit mësojnë nga përvoja e tyre trupore, dhe jo përmes përpunimit të një sërë modelesh trajnimi. Përveç ndryshimit në proceset e të mësuarit, ka dallime thelbësore në natyrën e besimeve themelore.

Njerëzit janë të aftë për shumë më tepër sesa të konvertojnë një stimul të menjëhershëm në një përgjigje të menjëhershme, si një rrjet nervor ose ndoshta një insekt. Njerëzit mbajnë në ndërgjegjen e tyre modele komplekse, abstrakte të situatës aktuale, vetvetes, njerëzve të tjerë dhe mund t'i përdorin këto modele për të parashikuar opsione të ndryshme të mundshme për të ardhmen dhe për të kryer një planifikim afatgjatë. Ata janë në gjendje të ndërthurin koncepte të njohura në një tërësi koherente për të paraqitur gjëra që nuk i dinin kurrë më parë - si për shembull vizatimi i një kali me xhinse, ose përshkrimi i asaj që do të bënin nëse do të fitonin lotarinë. Aftësia për të menduar hipotetikisht, për të zgjeruar modelin tonë të hapësirës mendore shumë përtej asaj që ne përjetuam drejtpërdrejt, domethënë aftësia për të bërë abstraksione dhe arsyetimiështë ndoshta karakteristika përcaktuese e njohjes njerëzore. Unë e quaj këtë "përgjithësim përfundimtar": aftësia për t'u përshtatur me situata të reja, të pa përjetuara kurrë më parë, duke përdorur shumë pak ose aspak të dhëna.

Kjo është në kontrast të plotë me atë që bëjnë rrjetet e të mësuarit të thellë, të cilin unë do ta quaja "përgjithësim lokal": konvertimi i inputeve në rezultate bëhet shpejt i pakuptimtë nëse inputet e reja janë edhe paksa të ndryshme nga ato që hasën gjatë trajnimit. ... Konsideroni, për shembull, problemin e të mësuarit të parametrave të duhur të lëshimit që një raketë të zbresë në Hënë. Nëse keni përdorur një rrjet nervor për këtë detyrë, duke e mësuar atë me një mësues ose me përforcim, do t'ju duhet t'i jepni mijëra ose miliona shtigje fluturimi, domethënë, duhet të lëshoni grup i dendur shembujsh në hapësirën e vlerave hyrëse për të mësuar një transformim të besueshëm nga hapësira e vlerave hyrëse në hapësirën e vlerave dalëse. Në të kundërt, njerëzit mund të përdorin fuqinë e abstraksionit për të krijuar modele fizike - shkencën e raketave - dhe të dalin me një zgjidhje të saktë që dërgon një raketë në Hënë në vetëm disa përpjekje. Në të njëjtën mënyrë, nëse keni zhvilluar një rrjet nervor për të kontrolluar trupin e njeriut dhe dëshironi që ai të mësojë se si të ecë me siguri nëpër një qytet pa u goditur nga një makinë, rrjeti duhet të vdesë mijëra herë në situata të ndryshme përpara se të arrijë në përfundimin se makinat janë të rrezikshme dhe nuk do të funksionojnë.sjellja e duhur për t'i shmangur ato. Nëse e zhvendosni atë në një qytet të ri, atëherë rrjeti do të duhet të rimësojë shumicën e asaj që dinte. Nga ana tjetër, njerëzit janë në gjendje të mësojnë sjellje të sigurta pa vdekur kurrë - përsëri, falë fuqisë së modelimit abstrakt të situatave hipotetike.

Pra, pavarësisht përparimit tonë në perceptimin e makinerive, ne jemi ende shumë larg nga AI në nivel njerëzor: modelet tona mund të ekzekutojnë vetëm përgjithësim lokal duke iu përshtatur situatave të reja, të cilat duhet të jenë shumë afër të dhënave të kaluara, ndërkohë që mendja e njeriut është e aftë përgjithësim përfundimtar duke u përshtatur shpejt me situata krejtësisht të reja ose duke planifikuar një të ardhme të largët.

konkluzionet

Ja çfarë duhet të mbani mend: I vetmi sukses i vërtetë i të mësuarit të thellë deri më sot është aftësia për të përkthyer hapësirën X në hapësirën Y duke përdorur transformime të vazhdueshme gjeometrike kur ka shumë të dhëna me shënime njerëzore. Kryerja e mirë e kësaj detyre përfaqëson një arritje revolucionare për të gjithë industrinë, por AI njerëzore është ende shumë larg.

Për të hequr disa nga këto kufizime dhe për të konkurruar me trurin e njeriut, ne duhet të largohemi nga transformimi i drejtpërdrejtë hyrje-dalje dhe të kalojmë në arsyetimi dhe abstraksione... Ndoshta një bazë e përshtatshme për modelimin abstrakt të situatave dhe koncepteve të ndryshme mund të jenë programet kompjuterike. E kemi thënë më parë (shënim: në librin Deep Learning with Python) se modelet e mësimit të makinerive mund të përkufizohen si "programe të të mësuarit"; për momentin ne mund të trajnojmë vetëm një nëngrup të ngushtë dhe specifik të të gjitha programeve të mundshme. Por, çka nëse ne mund të trajnojmë çdo program, në mënyrë modulare dhe të përsëritur? Le të shohim se si mund të arrijmë në këtë.

E ardhmja e të mësuarit të thellë

Duke pasur parasysh atë që dimë për rrjetet e të mësuarit të thellë, kufizimet e tyre dhe gjendjen aktuale të kërkimit shkencor, a mund të parashikojmë se çfarë do të ndodhë në periudhën afatmesme? Këtu janë disa nga mendimet e mia personale për këtë. Mbani në mend se unë nuk kam një top kristal për hamendje, kështu që shumë nga ato që pres mund të mos realizohen. Ky është spekulim absolut. I ndaj këto parashikime jo sepse pres që ato të realizohen plotësisht në të ardhmen, por sepse janë interesante dhe të zbatueshme në të tashmen.

Në një nivel të lartë, këtu janë fushat kryesore që unë i konsideroj premtuese:

  • Modelet do t'u qasen programeve kompjuterike për qëllime të përgjithshme të ndërtuara në krye të primitivëve shumë më të pasur sesa shtresat tona aktuale të diferencueshme - kështu që ne marrim arsyetimi dhe abstraksione, mungesa e të cilave është një dobësi themelore e modeleve aktuale.
  • Do të shfaqen forma të reja të të mësuarit që do ta bëjnë këtë të mundur - dhe do t'i lejojnë modelet të largohen nga transformimet thjesht të diferencueshme.
  • Modelet do të kërkojnë më pak përfshirje të zhvilluesve - nuk duhet të jetë detyra juaj të shkulni vazhdimisht pullat.
  • Do të shfaqet një ripërdorim më i madh dhe sistematik i veçorive dhe arkitekturave të mësuara; sistemet e meta-mësimit të bazuara në rutina të ripërdorshme dhe modulare.
Veç kësaj, vini re se ky arsyetim nuk zbatohet posaçërisht për mësimin e mbikëqyrur, i cili është ende themeli i mësimit të makinerive - ai zbatohet gjithashtu për çdo formë të mësimit të makinerive, duke përfshirë mësimin e pambikëqyrur, mësimin e mbikëqyrur dhe mësimin përforcues. Në thelb nuk ka rëndësi se nga vijnë etiketat tuaja ose si duket cikli juaj i të mësuarit; këto degë të ndryshme të mësimit të makinerive janë vetëm aspekte të ndryshme të të njëjtit konstrukt.

Pra, le të shkojmë.

Modelet si programe

Siç kemi theksuar më herët, zhvillimi i nevojshëm transformues që mund të pritet në mësimin e makinerive po largohet nga modelet që performojnë thjesht njohja e modelit dhe të aftë vetëm për përgjithësim lokal, tek modelet e aftë për të abstraksione dhe arsyetimi kush mund të arrijë përgjithësim përfundimtar... Të gjitha programet aktuale bazë të arsyetimit të AI janë të koduara nga programuesit njerëzorë: për shembull, programet që mbështeten në algoritmet e kërkimit, manipulimin e grafikut, logjikën formale. Për shembull, në DeepMind AlphaGo, pjesa më e madhe e "inteligjencës" në ekran është projektuar dhe koduar nga programues ekspertë (p.sh. kërkimet e pemës në Monte Carlo); mësimi nga të dhënat e reja ndodh vetëm në nënmodulet e specializuara - rrjetet e vlerave dhe rrjetet e politikave. Por në të ardhmen, sisteme të tilla të AI mund të trajnohen plotësisht pa ndërhyrjen njerëzore.

Si mund të arrihet kjo? Le të marrim një lloj rrjeti të njohur: RNN. E rëndësishmja, RNN-të kanë pak më pak kufizime sesa rrjetet nervore të përshpejtuara. Kjo ndodh sepse RNN-të janë pak më shumë se transformime të thjeshta gjeometrike: ato janë transformime gjeometrike që kryhen vazhdimisht në ciklin for... Cikli i caktuar në kohë është i përcaktuar nga zhvilluesi: ky është një supozim i integruar i rrjetit. Natyrisht, RNN-të janë ende të kufizuara në atë që mund të përfaqësojnë, kryesisht sepse çdo hap është ende një transformim gjeometrik i diferencueshëm dhe për shkak të mënyrës se si ata transmetojnë informacionin hap pas hapi nëpër pika në një hapësirë ​​gjeometrike të vazhdueshme (vektorët e gjendjes). Tani imagjinoni rrjetet nervore që do të "shtohen" nga programimi i primitivëve në të njëjtën mënyrë si për unazat - por jo vetëm një cikli i vetëm i koduar fort me memorie gjeometrike të koduar, por një grup i madh primitivësh programimi që modeli mund t'i mundte lirisht. akses për të zgjeruar aftësitë e tij të përpunimit si if degët, ndërsa deklaratat, krijimi i variablave, ruajtja e diskut për memorie afatgjatë, renditja e deklaratave, strukturat e avancuara të të dhënave si listat, grafikët, tabelat hash etj. Sfera e programeve që një rrjet i tillë mund të përfaqësojë do të jetë shumë më i gjerë sesa mund të shprehin rrjetet ekzistuese të të mësuarit të thellë, dhe disa nga këto programe mund të arrijnë fuqi superiore të përgjithësimit.

Shkurtimisht, do të largohemi nga fakti se nga njëra anë kemi "inteligjencë algoritmike të koduar të fortë" (softuer të shkruar me dorë), dhe nga ana tjetër kemi "inteligjencë gjeometrike të trajnuar" (të mësuarit e thellë). Në vend të kësaj, ne përfundojmë me një përzierje të moduleve formale algoritmike që ofrojnë aftësitë arsyetimi dhe abstraksione, dhe modulet e gjeometrisë që ofrojnë aftësitë intuita joformale dhe njohja e modeleve... I gjithë sistemi do të trajnohet me pak ose aspak kontribut njerëzor.

Një fushë e lidhur e AI që mendoj se së shpejti mund të bëjë një ndryshim të madh është sinteza e softuerit, në veçanti, sinteza e programuar nervore. Sinteza e softuerit konsiston në gjenerimin automatik të programeve të thjeshta duke përdorur një algoritëm kërkimi (ndoshta kërkimi gjenetik, si në programimin gjenetik) për të eksploruar një hapësirë ​​të madhe programesh të mundshme. Kërkimi ndalon kur gjendet një program që plotëson specifikimet e kërkuara, shpesh të ofruara si një grup çiftesh I/O. Siç mund ta shihni, kjo të kujton shumë mësimin e makinerive: "të dhënat e trajnimit" ofrohen si çifte hyrje-dalje, gjejmë një "program" që përputhet me transformimin e inputeve në outpute dhe është i aftë të përgjithësohet me inpute të reja. Dallimi është se në vend të vlerave të parametrave të trajnimit në një program të koduar (rrjet nervor), ne gjenerojmë burimi me anë të një procesi kërkimi diskret.

Padyshim që pres që në vitet e ardhshme të ketë sërish shumë interes në këtë fushë. Në veçanti, pres depërtimin e ndërsjellë të fushave të ndërlidhura të të mësuarit të thellë dhe të sintezës së programeve, ku ne nuk do të gjenerojmë vetëm programe në gjuhë me qëllime të përgjithshme, por ku do të gjenerojmë rrjete nervore (rrjedha të përpunimit të të dhënave gjeometrike). plotësuar një grup i pasur primitivësh algoritmikë të tillë si për sythe - dhe shumë të tjera. Kjo duhet të jetë shumë më e përshtatshme dhe e dobishme sesa gjenerimi i drejtpërdrejtë i kodit burimor dhe do të zgjerojë ndjeshëm kufijtë për ato probleme që mund të zgjidhen duke përdorur mësimin e makinerive - hapësirën e programeve që ne mund të gjenerojmë automatikisht, duke marrë të dhënat e duhura për trajnim. Një përzierje e AI simbolike dhe AI ​​gjeometrike. RNN-të moderne mund të shihen si paraardhësi historik i modeleve të tilla hibride algoritme-gjeometrike.


Vizatim: Programi i trajnuar mbështetet njëkohësisht në primitive gjeometrike (njohje modeli, intuitë) dhe primitive algoritmike (argumentim, kërkim, memorie).

Përtej përhapjes së pasme dhe shtresave të diferencueshme

Nëse modelet e mësimit të makinerive bëhen më shumë si programe, atëherë vështirë se do të jenë më të diferencueshme - sigurisht, këto programe do të përdorin ende shtresa të vazhdueshme gjeometrike si nënprograme që do të mbeten të diferencueshme, por i gjithë modeli nuk do të jetë i tillë. Si rezultat, përdorimi i përhapjes së pasme për të akorduar peshat në një rrjet fiks dhe të koduar mund të mos mbetet metoda e preferuar për modelet e trajnimit në të ardhmen - të paktën nuk duhet të kufizohet vetëm në këtë metodë. Ne duhet të kuptojmë se si të trajnojmë në mënyrë më efektive sistemet e padiferencuara. Qasjet aktuale përfshijnë algoritme gjenetike, "strategji evolucionare", metoda të caktuara të të mësuarit përforcues, ADMM (metoda e shumëzuesit të drejtimit të alternuar të Lagranzhit). Natyrisht, zbritja e gradientit nuk po shkon askund tjetër - informacioni i gradientit do të jetë gjithmonë i dobishëm për optimizimin e funksioneve parametrike të diferencueshëm. Por modelet tona do të bëhen padyshim më ambicioze sesa funksionet parametrike të diferencueshme, dhe për këtë arsye zhvillimi i tyre i automatizuar ("të mësuarit" në "mësimin e makinës") do të kërkojë më shumë sesa përhapje prapa.

Për më tepër, përhapja e pasme ka një kornizë nga fundi në fund, i cili është i përshtatshëm për të mësuar transformime të mira të bashkuara, por më tepër joefikas nga pikëpamja llogaritëse sepse nuk shfrytëzon plotësisht modularitetin e rrjeteve të thella. Për të përmirësuar efikasitetin e çdo gjëje, ekziston një recetë universale: futja e modularitetit dhe hierarkisë. Pra, ne mund ta bëjmë vetë përhapjen prapa më efikase duke futur module mësimore të shkëputura me një lloj mekanizmi sinkronizimi ndërmjet tyre, të organizuar në një rend hierarkik. Kjo strategji është reflektuar pjesërisht në punën e fundit të DeepMind mbi "gradientët sintetikë". Pres shumë, shumë më tepër punë në këtë drejtim në të ardhmen e afërt.

Dikush mund të imagjinojë një të ardhme ku modelet globalisht jo të diferencueshme (por me pjesë të diferencueshme) do të mësojnë - rriten - duke përdorur një proces kërkimi efikas që nuk do të aplikojë gradientë, ndërsa pjesët e diferencueshme do të mësojnë edhe më shpejt duke përdorur gradientët duke përdorur disa versione më efikase të përhapjes së pasme.

Mësimi i automatizuar i makinerive

Në të ardhmen, arkitekturat e modeleve do të krijohen nga trajnimi në vend që të shkruhen manualisht nga inxhinierët. Modelet e trajnuara funksionojnë automatikisht së bashku me një grup më të pasur modelesh primitive dhe të ngjashme me programet e të mësuarit të makinerive.

Në ditët e sotme, shumicën e kohës, një zhvillues i të mësuarit të thellë modifikon pafundësisht të dhënat me skriptet Python, më pas kërkon një kohë të gjatë për të akorduar arkitekturën dhe hiperparametrat e rrjetit të mësimit të thellë për të marrë një model funksional - ose edhe për të marrë një model të jashtëzakonshëm, nëse zhvilluesi është kaq ambicioz. Eshtë e panevojshme të thuhet se kjo nuk është gjendja më e mirë e punëve. Por AI mund të ndihmojë edhe këtu. Fatkeqësisht, pjesa e përpunimit dhe përgatitjes së të dhënave është e vështirë të automatizohet, pasi shpesh kërkon njohuri të fushës, si dhe një kuptim të qartë në një nivel të lartë të asaj që zhvilluesi dëshiron të arrijë. Sidoqoftë, akordimi i hiperparametrave është një procedurë e thjeshtë kërkimi, dhe në këtë rast, ne tashmë e dimë se çfarë dëshiron të arrijë zhvilluesi: kjo përcaktohet nga funksioni i humbjes së rrjetit nervor që duhet të akordohet. Tani është bërë praktikë e zakonshme vendosja e sistemeve bazë AutoML që trajtojnë shumicën e rregullimeve të cilësimeve të modelit. E instalova vetë një për të fituar konkursin Kaggle.

Në nivelin e tij më themelor, një sistem i tillë thjesht do të rregullonte numrin e shtresave në rafte, renditjen e tyre dhe numrin e artikujve ose filtrave në secilën shtresë. Kjo zakonisht bëhet duke përdorur biblioteka si Hyperopt, të cilat i diskutuam në Kapitullin 7 (shënim: Të mësuarit e thellë me libra Python). Por ju mund të shkoni shumë më tej dhe të përpiqeni të merrni një arkitekturë të përshtatshme duke stërvitur nga e para, me një grup minimal kufizimesh. Kjo është e mundur nëpërmjet të mësuarit përforcues, për shembull, ose nëpërmjet algoritmeve gjenetike.

Një drejtim tjetër i rëndësishëm në zhvillimin e AutoML është trajnimi i arkitekturës së modelit në të njëjtën kohë me peshat e modelit. Kur e trajnojmë modelin nga e para çdo herë që provojmë arkitektura paksa të ndryshme, gjë që është jashtëzakonisht joefikase, kështu që një sistem vërtet i fuqishëm AutoML do të drejtojë zhvillimin e arkitekturës ndërsa vetitë e modelit akordohen përmes përhapjes së pasme në të dhënat e trajnimit, duke eliminuar kështu të gjitha. -llogaritje. Ndërsa shkruaj këto rreshta, tashmë kanë filluar të aplikohen qasje të ngjashme.

Kur e gjithë kjo të fillojë të ndodhë, zhvilluesit e mësimit të makinerive nuk do të jenë pa punë - ata do të kalojnë në një nivel më të lartë në zinxhirin e vlerës. Ata do të fillojnë të bëjnë shumë më tepër përpjekje në krijimin e funksioneve komplekse të humbjes që pasqyrojnë realisht objektivat e biznesit dhe do të kenë një kuptim të thellë se si modelet e tyre ndikojnë në ekosistemet dixhitale në të cilat ata veprojnë (për shembull, klientët që përdorin parashikimet e modeleve dhe gjenerojnë të dhëna për trajnimin e tij) - probleme që vetëm kompanitë më të mëdha tani mund të përballojnë të marrin në konsideratë.

Të mësuarit gjatë gjithë jetës dhe ripërdorimi i rutinave modulare

Nëse modelet bëhen më komplekse dhe ndërtohen mbi primitivë më të pasur algoritmik, atëherë ky kompleksitet i shtuar do të kërkojë ripërdorim më intensiv midis detyrave, në vend që ta trajnojmë modelin nga e para sa herë që kemi një detyrë të re ose të dhëna të reja të dhënash. Në fund të fundit, shumë grupe të dhënash nuk përmbajnë informacion të mjaftueshëm për të zhvilluar një model të ri kompleks nga e para dhe thjesht do të bëhet i nevojshëm përdorimi i informacionit nga grupet e mëparshme të të dhënave. Ju nuk e rimësoni anglisht sa herë që hapni një libër të ri - kjo do të ishte e pamundur. Për më tepër, modelet e trajnimit nga e para në çdo detyrë të re janë shumë joefektive për shkak të mbivendosjes së konsiderueshme midis detyrave aktuale dhe atyre që janë hasur më parë.

Përveç kësaj, në vitet e fundit, është bërë vazhdimisht një vëzhgim i jashtëzakonshëm se trajnimi i të njëjtit model për të kryer disa detyra të lidhura lirshëm përmirëson rezultatet e tij. në secilën nga këto detyra... Për shembull, trajnimi i të njëjtit rrjet nervor për të përkthyer nga anglishtja në gjermanisht dhe nga frëngjishtja në italisht do të rezultojë në një model që është më i mirë në secilën prej këtyre çifteve gjuhësore. Trajnimi i modelit të klasifikimit të imazhit njëkohësisht me modelin e segmentimit të imazhit, me një bazë të vetme konvolucionare, do të çojë në një model që është më i mirë në të dyja problemet. etj. Kjo është mjaft intuitive: ka gjithmonë disa informacion që mbivendoset midis këtyre dy detyrave në dukje të ndryshme, dhe për këtë arsye modeli i përgjithshëm ka akses në më shumë informacion për secilën detyrë individuale sesa modeli që është trajnuar vetëm për atë detyrë të veçantë.

Ajo që ne në fakt bëjmë kur riaplikojmë modelin për detyra të ndryshme është që përdorim pesha të trajnuara paraprakisht për modelet që kryejnë funksione të përbashkëta, të tilla si nxjerrja e shenjave vizuale. Ju e patë këtë në praktikë në kapitullin 5. Unë pres që një version më i përgjithshëm i kësaj teknike do të përdoret gjerësisht në të ardhmen: ne nuk do të aplikojmë vetëm veçoritë e mësuara më parë (peshat e nënmodelit), por edhe arkitekturat e modelit dhe procedurat e të mësuarit. Ndërsa modelet bëhen më të ngjashme me programet, ne do të fillojmë të ripërdorim nënprogramet si funksionet dhe klasat në gjuhët konvencionale të programimit.

Mendoni se si duket sot procesi i zhvillimit të softuerit: sapo një inxhinier zgjidh një problem të caktuar (kërkesat HTTP në Python, për shembull), ai e paketon atë si një bibliotekë abstrakte për ripërdorim. Inxhinierët që përballen me një problem të ngjashëm në të ardhmen thjesht kërkojnë për bibliotekat ekzistuese, i shkarkojnë dhe i përdorin ato në projektet e tyre. Po kështu, në të ardhmen, sistemet e meta-mësimit do të jenë në gjendje të mbledhin programe të reja duke analizuar bibliotekën globale të blloqeve të ripërdorshme të nivelit të lartë. Nëse sistemi fillon të zhvillojë rutina të ngjashme për disa detyra të ndryshme, ai do të lëshojë një version "abstrakt" të ripërdorshëm të rutinës dhe do ta ruajë atë në bibliotekën globale. Një proces i tillë do të hapë mundësinë për abstraksione, një komponent i domosdoshëm për të arritur "përgjithësimin përfundimtar": një nënprogram që do të jetë i dobishëm për shumë detyra dhe fusha, mund të thuhet, "abstrakton" disa aspekte të vendimmarrjes. Ky përkufizim i "abstraksionit" nuk është i ngjashëm me konceptin e abstraksionit në zhvillimin e softuerit. Këto rutina mund të jenë ose gjeometrike (module të të mësuarit të thellë me paraqitje të trajnuara paraprakisht) ose algoritmike (më afër bibliotekave me të cilat punojnë programuesit modern).

Vizatim: Një sistem meta-trajnues i aftë për të zhvilluar me shpejtësi modele specifike të detyrave duke përdorur primitivë të ripërdorshëm (algoritmik dhe gjeometrik), duke arritur kështu "përgjithësimin përfundimtar".

Në përmbledhje: vizion afatgjatë

Me pak fjalë, këtu është vizioni im afatgjatë për mësimin e makinerive:
  • Modelet do të bëhen më të ngjashme me softuerët dhe do të kenë aftësi që shtrihen përtej transformimeve të vazhdueshme gjeometrike të të dhënave themelore me të cilat po punojmë aktualisht. Ndoshta këto programe do të jenë shumë më afër modeleve mendore abstrakte që njerëzit mbajnë për mjedisin e tyre dhe për veten e tyre dhe do të jenë të afta për përgjithësime më të forta për shkak të natyrës së tyre algoritmike.
  • Në veçanti, modelet do të përzihen module algoritmike me arsyetim formal, kërkim, aftësi për abstraksion - dhe modulet gjeometrike me intuitë informale dhe njohje modelesh. AlphaGo (një sistem që kërkonte programim dhe arkitekturë intensive manuale) është një shembull i hershëm i asaj se si mund të duket bashkimi i AI simbolike dhe gjeometrike.
  • Ata do të rritu automatikisht (në vend që të shkruhet me dorë nga programuesit njerëzorë), duke përdorur pjesë modulare nga një bibliotekë globale e rutinave të ripërdorshme - një bibliotekë që ka evoluar duke adoptuar modele me performancë të lartë nga mijëra detyra dhe grupe të dhënash të mëparshme. Pasi sistemi i meta-mësimit të ketë identifikuar modele të zakonshme të zgjidhjes së problemeve, ato përkthehen në rutina të ripërdorshme - njësoj si funksionet dhe klasat në programimin modern - dhe shtohen në bibliotekën globale. Kështu është aftësia abstraksione.
  • Biblioteka globale dhe sistemi përkatës i rritjes së modelit do të jenë në gjendje të arrijnë një formë të "përgjithësimit përfundimtar" si njeriu: përballë një detyre të re, një situatë të re, sistemi do të jetë në gjendje të mbledhë një model të ri pune për këtë detyrë duke përdorur një sasi shumë të vogël të dhënash, falë: 1) primitivëve të pasur të ngjashëm me programin, të cilët janë të mirë në përgjithësime dhe 2) përvojës së gjerë në zgjidhjen e problemeve të ngjashme. Në të njëjtën mënyrë që njerëzit mund të mësojnë shpejt një video lojë të re komplekse, sepse ata kanë përvojë të mëparshme me shumë lojëra të tjera dhe sepse modelet nga përvoja e mëparshme janë abstrakte dhe programatike sesa thjesht të përkthejnë stimulin në veprim.
  • Në thelb, ky sistem në rritje i modelit të të mësuarit të vazhdueshëm mund të interpretohet si Inteligjenca Artificiale e Fortë. Por mos prisni fillimin e ndonjë robo-apokalipsi të veçantë: është fantazi e pastër që lindi nga një listë e gjatë keqkuptimesh të thella në kuptimin e inteligjencës dhe teknologjisë. Megjithatë, kjo kritikë nuk ka vend këtu.

Inteligjenca artificiale, rrjetet nervore, mësimi i makinerive - çfarë nënkuptojnë në të vërtetë të gjitha këto koncepte të njohura? Për pjesën më të madhe të njerëzve të pa iniciuar, që jam unë vetë, gjithmonë dukeshin si diçka fantastike, por në fakt thelbi i tyre qëndron në sipërfaqe. Prej kohësh kisha një ide për të shkruar në gjuhë të thjeshtë për rrjetet nervore artificiale. Mësoni vetë dhe tregoni të tjerëve se çfarë është kjo teknologji, si funksionon, merrni parasysh historinë dhe perspektivat e saj. Në këtë artikull, u përpoqa të mos hyja në xhungël, por thjesht dhe në mënyrë popullore të tregoja për këtë drejtim premtues në botën e teknologjive të larta.

Inteligjenca artificiale, rrjetet nervore, mësimi i makinerive - çfarë nënkuptojnë në të vërtetë të gjitha këto koncepte të njohura? Për shumicën e njerëzve të pa iniciuar, siç jam unë vetë, ata gjithmonë dukeshin si diçka fantastike, por në fakt, thelbi i tyre qëndron në sipërfaqe. Prej kohësh kisha një ide për të shkruar në gjuhë të thjeshtë për rrjetet nervore artificiale. Mësoni vetë dhe tregoni të tjerëve se çfarë është kjo teknologji, si funksionon, merrni parasysh historinë dhe perspektivat e saj. Në këtë artikull, u përpoqa të mos hyja në xhungël, por thjesht dhe në mënyrë popullore të tregoja për këtë drejtim premtues në botën e teknologjive të larta.

Pak histori

Për herë të parë, koncepti i rrjeteve nervore artificiale (ANN) lindi kur u përpoq të simulonte proceset e trurit. Zbulimi i parë i madh në këtë fushë mund të konsiderohet krijimi i modelit të rrjetit nervor McCulloch-Pitts në 1943. Shkencëtarët fillimisht zhvilluan një model të një neuroni artificial. Ata propozuan gjithashtu ndërtimin e një rrjeti të këtyre elementeve për të kryer operacione logjike. Por më e rëndësishmja, shkencëtarët kanë vërtetuar se një rrjet i tillë është i aftë për të mësuar.

Hapi tjetër i rëndësishëm ishte zhvillimi nga Donald Hebb i algoritmit të parë për llogaritjen e ANN në 1949, i cili u bë themelor për disa dekadat e ardhshme. Në vitin 1958, Frank Rosenblatt zhvilloi parceptronin, një sistem që imiton proceset e trurit. Në një kohë, teknologjia nuk kishte analoge dhe është ende thelbësore në rrjetet nervore. Në vitin 1986, praktikisht njëkohësisht, pavarësisht nga njëri-tjetri, shkencëtarët amerikanë dhe sovjetikë përmirësuan ndjeshëm metodën themelore të mësimit të perceptronit me shumë shtresa. Në vitin 2007, rrjetet nervore pësuan një rilindje. Shkencëtari britanik i kompjuterave, Jeffrey Hinton, ishte pionier i një algoritmi të të mësuarit të thellë për rrjetet nervore me shumë shtresa, i cili tani, për shembull, përdoret për të operuar makina vetë-drejtuese.

Shkurtimisht për gjënë kryesore

Në kuptimin e përgjithshëm të fjalës, rrjetet nervore janë modele matematikore që funksionojnë në parimin e rrjeteve të qelizave nervore në një organizëm të kafshëve. ANN-të mund të zbatohen si në zgjidhjet e programueshme ashtu edhe në ato harduerike. Për lehtësinë e perceptimit, një neuron mund të imagjinohet si një qelizë e caktuar, e cila ka shumë vrima hyrëse dhe një vrimë dalëse. Sa shumë sinjale hyrëse formohen në ato dalëse përcakton algoritmin e llogaritjes. Vlerat efektive i jepen çdo hyrjeje të një neuroni, të cilat më pas përhapen përgjatë lidhjeve ndërneuronale (përmbledhje). Sinapset kanë një parametër - peshë, për shkak të së cilës informacioni i hyrjes ndryshon kur lëviz nga një neuron në tjetrin. Mënyra më e lehtë për të imagjinuar se si funksionojnë rrjetet nervore mund të përfaqësohet nga shembulli i përzierjes së ngjyrave. Neuronet blu, jeshile dhe të kuqe kanë pesha të ndryshme. Informacioni i atij neuroni, pesha e të cilit do të jetë më dominuese në neuronin e ardhshëm.

Vetë rrjeti nervor është një sistem i shumë neuroneve (përpunuesve) të tillë. Individualisht, këta procesorë janë mjaft të thjeshtë (shumë më i thjeshtë se një procesor kompjuteri personal), por kur lidhen në një sistem të madh, neuronet janë të afta të kryejnë detyra shumë komplekse.

Në varësi të zonës së aplikimit, një rrjet nervor mund të interpretohet në mënyra të ndryshme. Për shembull, nga pikëpamja e mësimit të makinerisë, një ANN është një metodë e njohjes së modelit. Nga pikëpamja matematikore, ky është një problem me shumë parametra. Nga pikëpamja e kibernetikës, është një model i kontrollit adaptiv të robotikës. Për inteligjencën artificiale, ANN është një komponent themelor për modelimin e inteligjencës natyrore duke përdorur algoritme llogaritëse.

Avantazhi kryesor i rrjeteve nervore ndaj algoritmeve konvencionale të llogaritjes është aftësia e tyre për të mësuar. Në kuptimin e përgjithshëm të fjalës, të mësuarit konsiston në gjetjen e koeficientëve të saktë të lidhjes midis neuroneve, si dhe në përgjithësimin e të dhënave dhe identifikimin e varësive komplekse midis sinjaleve hyrëse dhe dalëse. Në fakt, trajnimi i suksesshëm i një rrjeti nervor do të thotë që sistemi do të jetë në gjendje të identifikojë rezultatin e saktë bazuar në të dhënat që nuk janë të pranishme në grupin e trajnimit.

Situata e sotme

Dhe pa marrë parasysh se sa premtuese do të ishte kjo teknologji, deri tani ANN-të janë ende shumë larg aftësive të trurit dhe të menduarit njerëzor. Megjithatë, rrjetet nervore tashmë po përdoren në shumë fusha të veprimtarisë njerëzore. Deri më tani, ata nuk janë në gjendje të marrin vendime shumë intelektuale, por janë në gjendje të zëvendësojnë një person aty ku kishte nevojë më parë. Ndër fushat e shumta të aplikimit të ANN-ve, mund të vërehet: krijimi i sistemeve të vetë-mësimit të proceseve të prodhimit, automjeteve pa pilot, sistemeve të njohjes së imazhit, sistemeve inteligjente të sigurisë, robotikës, sistemeve të monitorimit të cilësisë, ndërfaqeve të ndërveprimit zanor, sistemeve analitike dhe shumë më tepër. . Një përdorim i tillë i përhapur i rrjeteve nervore është, ndër të tjera, për shkak të shfaqjes së mënyrave të ndryshme për të përshpejtuar mësimin e ANN.

Sot tregu për rrjetet nervore është i madh - është miliarda e miliarda dollarë. Siç tregon praktika, shumica e teknologjive të rrjeteve nervore në mbarë botën ndryshojnë pak nga njëra-tjetra. Megjithatë, përdorimi i rrjeteve nervore është një ushtrim shumë i kushtueshëm, i cili në shumicën e rasteve mund të përballohet vetëm nga kompanitë e mëdha. Për zhvillimin, trajnimin dhe testimin e rrjeteve nervore, kërkohet fuqi e madhe llogaritëse, është e qartë se lojtarët e mëdhenj në tregun e IT-së kanë mjaft nga kjo. Ndër kompanitë kryesore që udhëheqin zhvillimin në këtë fushë janë Google DeepMind, Microsoft Research, IBM, Facebook dhe Baidu.

Sigurisht, e gjithë kjo është e mirë: rrjetet nervore po zhvillohen, tregu po rritet, por deri më tani detyra kryesore nuk është zgjidhur. Njerëzimi ka dështuar të krijojë një teknologji që është edhe afër në aftësi me trurin e njeriut. Le të hedhim një vështrim në ndryshimet kryesore midis trurit të njeriut dhe rrjeteve nervore artificiale.

Pse rrjetet nervore janë ende larg trurit të njeriut?

Dallimi më i rëndësishëm, i cili ndryshon rrënjësisht parimin dhe efikasitetin e sistemit, është transmetimi i ndryshëm i sinjalit në rrjetet nervore artificiale dhe në rrjetin biologjik të neuroneve. Fakti është se në ANN, neuronet transmetojnë vlera që janë vlera reale, domethënë numra. Në trurin e njeriut transmetohen impulse me amplitudë fikse dhe këto impulse janë pothuajse të menjëhershme. Prandaj, ka një sërë avantazhesh për rrjetin njerëzor të neuroneve.

Së pari, linjat e komunikimit në tru janë shumë më efikase dhe ekonomike sesa në ANN. Së dyti, qarku i impulsit siguron thjeshtësinë e zbatimit të teknologjisë: mjafton të përdoren qarqe analoge në vend të mekanizmave komplekse llogaritëse. Në fund të fundit, rrjetet e impulsit mbrohen nga ndërhyrja akustike. Numrat e vlefshëm janë të prirur ndaj zhurmës, gjë që rrit gjasat e gabimeve.

Rezultati

Sigurisht, në dekadën e fundit, ka pasur një bum të vërtetë në zhvillimin e rrjeteve nervore. Kjo është kryesisht për shkak të faktit se procesi mësimor i ANN është bërë shumë më i shpejtë dhe më i lehtë. Gjithashtu, filluan të zhvillohen në mënyrë aktive të ashtuquajturat rrjete nervore "të para-trajnuara", të cilat mund të përshpejtojnë ndjeshëm procesin e zbatimit të teknologjisë. Dhe nëse është shumë herët të thuhet nëse një ditë rrjetet nervore do të jenë në gjendje të riprodhojnë plotësisht aftësitë e trurit të njeriut, gjasat që në dekadën e ardhshme ANN-të të jenë në gjendje të zëvendësojnë njerëzit në një të katërtën e profesioneve ekzistuese po bëhen gjithnjë e më shumë. e vërtetë.

Për ata që duan të dinë më shumë

  • Lufta e Madhe Neurale: Çfarë po bën vërtet Google
  • Si kompjuterët njohës mund të ndryshojnë të ardhmen tonë

Artikujt kryesorë të lidhur