stubs Kas ir dziļā mācīšanās? (2024) — Unite.AI
Savienoties ar mums
AI meistarklase:

AI 101

Kas ir dziļā mācīšanās?

mm
Atjaunināts on

Dziļās mācības ir viena no ietekmīgākajām un visstraujāk augošajām mākslīgā intelekta jomām. Tomēr var būt grūti iegūt intuitīvu izpratni par dziļo mācīšanos, jo termins dziļa mācīšanās aptver dažādus algoritmus un paņēmienus. Dziļā mācīšanās ir arī mašīnmācīšanās apakšdisciplīna kopumā, tāpēc ir svarīgi saprast, kas ir mašīnmācīšanās, lai izprastu dziļo mācīšanos.

Kas ir mašīnmācība?

Dziļa mācīšanās ir paplašinājums dažiem jēdzieniem, kas izriet no mašīnmācīšanās, tāpēc šī iemesla dēļ veltīsim minūti, lai izskaidrotu, kas ir mašīnmācīšanās.

Vienkārši sakot, mašīnmācīšanās ir metode, kas ļauj datoriem veikt konkrētus uzdevumus, nepārprotami nekodējot katru šo uzdevumu veikšanai izmantoto algoritmu rindu. Ir daudz dažādu mašīnmācīšanās algoritmu, taču viens no visbiežāk izmantotajiem algoritmiem ir a daudzslāņu perceptrons. Daudzslāņu perceptrons tiek saukts arī par neironu tīklu, un tas sastāv no virknes mezglu/neironu, kas savienoti kopā. Daudzslāņu perceptronā ir trīs dažādi slāņi: ievades slānis, slēptais slānis un izvades slānis.

Ievades slānis pārņem datus tīklā, kur ar tiem manipulē vidējā/slēptā slāņa mezgli. Slēptā slāņa mezgli ir matemātiskas funkcijas, kas var manipulēt ar datiem, kas nāk no ievades slāņa, no ievades datiem iegūstot atbilstošus modeļus. Tādā veidā neironu tīkls “mācās”. Neironu tīkli savu nosaukumu ieguvuši tāpēc, ka tos iedvesmo cilvēka smadzeņu struktūra un funkcija.

Savienojumiem starp mezgliem tīklā ir vērtības, ko sauc par svariem. Šīs vērtības būtībā ir pieņēmumi par to, kā dati vienā slānī ir saistīti ar datiem nākamajā slānī. Tīklam trenējoties, svari tiek pielāgoti, un mērķis ir, lai datu svari/pieņēmumi galu galā saplūstu ar vērtībām, kas precīzi atspoguļo nozīmīgos datu modeļus.

Aktivizācijas funkcijas atrodas tīkla mezglos, un šīs aktivizācijas funkcijas pārveido datus nelineārā veidā, ļaujot tīklam apgūt sarežģītus datu attēlojumus. Aktivizācijas funkcijas reizina ievades vērtības ar svara vērtībām un pievieno novirzes terminu.

Kas ir dziļā mācīšanās?

Padziļinātā mācīšanās ir termins, kas tiek apzīmēts mašīnmācīšanās arhitektūrām, kas savieno kopā daudzus daudzslāņu perceptronus, lai nebūtu tikai viens slēptais slānis, bet daudzi slēpti slāņi. Jo “dziļāks” ir dziļais neironu tīkls, jo sarežģītākus modeļus tīkls var apgūt.

Dziļā slāņa tīklus, kas sastāv no neironiem, dažreiz sauc par pilnībā savienotiem tīkliem vai pilnībā savienotiem slāņiem, atsaucoties uz faktu, ka konkrētais neirons uztur savienojumu ar visiem apkārtējiem neironiem. Pilnībā savienotus tīklus var apvienot ar citām mašīnmācīšanās funkcijām, lai izveidotu dažādas dziļās mācīšanās arhitektūras.

Dažādi dziļās mācīšanās veidi

Pētnieki un inženieri izmanto dažādas dziļās mācīšanās arhitektūras, un katrai no dažādajām arhitektūrām ir savs īpašs lietošanas gadījums.

Konvolūcijas neironu tīkli

Konvolūcijas neironu tīkli, vai CNN, ir neironu tīklu arhitektūra, ko parasti izmanto datorredzes sistēmu izveidē. Konvolucionālo neironu tīklu struktūra ļauj tiem interpretēt attēlu datus, pārvēršot tos skaitļos, kurus var interpretēt pilnībā savienots tīkls. CNN ir četras galvenās sastāvdaļas:

  • Konvolūcijas slāņi
  • Apakšparaugu ņemšanas/apvienošanas slāņi
  • Aktivizācijas funkcijas
  • Pilnībā savienoti slāņi

Konvolūcijas slāņi ir tie, kas uztver attēlus kā ievadi tīklā, analizējot attēlus un iegūstot pikseļu vērtības. Apakšparaugu ņemšana vai apvienošana ir vieta, kur attēla vērtības tiek pārveidotas/samazinātas, lai vienkāršotu attēlu attēlojumu un samazinātu attēla filtru jutību pret troksni. Aktivizācijas funkcijas kontrolē datu plūsmu no viena slāņa uz nākamo, un pilnībā savienotie slāņi analizē vērtības, kas attēlo attēlu, un apgūst šajās vērtībās ietvertos modeļus.

RNN/LSTM

Atkārtoti neironu tīkli, vai RNN, ir populāri uzdevumiem, kur datu secībai ir nozīme, kur tīklam ir jāapgūst datu secība. RNN parasti izmanto tādām problēmām kā dabiskās valodas apstrāde, jo vārdu secībai ir nozīme, atšifrējot teikuma nozīmi. Termina “atkārtots neironu tīkls” “atkārtota” daļa izriet no fakta, ka noteikta elementa izvade secībā ir atkarīga no iepriekšējā aprēķina, kā arī no pašreizējā aprēķina. Atšķirībā no citiem dziļo neironu tīklu veidiem, RNN ir “atmiņas”, un informāciju, kas aprēķināta dažādos secības laika posmos, izmanto galīgo vērtību aprēķināšanai.

Ir vairāki RNN veidi, tostarp divvirzienu RNN, kas, aprēķinot vienuma vērtību, papildus iepriekšējiem vienumiem ņem vērā arī turpmākos vienumus secībā. Cits RNN veids ir a Ilgtermiņa īstermiņa atmiņa jeb LSTM, tīkls. LSTM ir RNN veidi, kas var apstrādāt garas datu ķēdes. Regulāri RNN var kļūt par upuriem kaut kam, ko sauc par "eksplodējošo gradienta problēmu". Šī problēma rodas, kad ievades datu ķēde kļūst ārkārtīgi gara, taču LSTM ir metodes šīs problēmas novēršanai.

Autokodētāji

Lielākā daļa līdz šim pieminēto dziļās mācīšanās arhitektūru tiek piemērotas uzraudzītām mācīšanās problēmām, nevis nepārraudzītiem mācību uzdevumiem. Autokodētāji spēj pārveidot neuzraudzītus datus uzraudzītā formātā, ļaujot problēmas risināšanai izmantot neironu tīklus.

Autokodētāji bieži izmanto, lai atklātu anomālijas datu kopās, piemēram, neuzraudzītas mācīšanās piemērs, jo anomālijas raksturs nav zināms. Šādi anomāliju atklāšanas piemēri ietver krāpšanas atklāšanu finanšu iestādēm. Šajā kontekstā automātiskā kodētāja mērķis ir noteikt regulāru datu modeļu bāzes līniju un identificēt anomālijas vai novirzes.

Autokodētāja struktūra bieži ir simetriska, un slēptie slāņi ir sakārtoti tā, lai tīkla izvade atgādina ievadi. Četri automātisko kodētāju veidi, kurus bieži izmanto, ir:

  • Parastie/vienkārši autokoderi
  • Daudzslāņu kodētāji
  • Konvolūcijas kodētāji
  • Regulāri kodētāji

Parastie/vienkāršie autokodētāji ir tikai neironu tīkli ar vienu slēptu slāni, savukārt daudzslāņu autokodētāji ir dziļi tīkli ar vairāk nekā vienu slēptu slāni. Konvolūcijas autokodētāji izmanto konvolucionālos slāņus pilnībā savienotu slāņu vietā vai papildus tiem. Regulāri automātiskie kodētāji izmanto noteikta veida zudumu funkciju, kas ļauj neironu tīklam veikt sarežģītākas funkcijas, kas nav tikai ieejas datu kopēšana uz izejām.

Ģeneratīvie pretrunīgie tīkli

Ģeneratīvie pretrunīgie tīkli (GAN) patiesībā ir vairāki dziļi neironu tīkli, nevis tikai viens tīkls. Divi dziļās mācīšanās modeļi tiek apmācīti vienlaikus, un to rezultāti tiek ievadīti citā tīklā. Tīkli konkurē viens ar otru, un, tā kā tie iegūst piekļuvi viens otra izvaddatiem, tie gan mācās no šiem datiem, gan uzlabojas. Abi tīkli būtībā spēlē viltojumu un atklāšanas spēli, kur ģeneratīvais modelis mēģina radīt jaunus gadījumus, kas apmānīs detektīvu modeli/diskriminētāju. GAN ir kļuvuši populāri datorredzes jomā.

Padziļināts mācību kopsavilkums

Padziļināta mācīšanās paplašina neironu tīklu principus, lai izveidotu sarežģītus modeļus, kas var apgūt sarežģītus modeļus un vispārināt šos modeļus nākotnes datu kopās. Konvolucionālie neironu tīkli tiek izmantoti attēlu interpretēšanai, savukārt RNN/LSTM tiek izmantoti secīgu datu interpretēšanai. Autoencoders var pārveidot neuzraudzītus mācību uzdevumus uzraudzītos mācību uzdevumos. Visbeidzot, GAN ir vairāki tīkli, kas atrodas viens pret otru un ir īpaši noderīgi datorredzes uzdevumiem.

Emuāru autors un programmētājs ar specialitātēm Mašīnu mācīšana un Dziļa mācīšanās tēmas. Daniels cer palīdzēt citiem izmantot mākslīgā intelekta spēku sociālā labuma gūšanai.