tynkä Mitä syväoppiminen on? (2024) - Unite.AI
Liity verkostomme!

AI 101

Mikä on syväoppiminen?

mm
Päivitetty on

Syväoppiminen on yksi vaikutusvaltaisimmista ja nopeimmin kasvavista tekoälyn aloista. Syväoppimisen intuitiivinen ymmärtäminen voi kuitenkin olla vaikeaa, koska termi syväoppiminen kattaa useita erilaisia ​​algoritmeja ja tekniikoita. Syväoppiminen on myös koneoppimisen alatiede yleensä, joten syväoppimisen ymmärtämiseksi on tärkeää ymmärtää, mitä koneoppiminen on.

Mikä on koneoppiminen?

Syvällinen oppiminen on joidenkin koneoppimisesta peräisin olevien käsitteiden laajennus, joten tästä syystä selitetään hetki, mitä koneoppiminen on.

Yksinkertaisesti sanottuna koneoppiminen on menetelmä, jonka avulla tietokoneet voivat suorittaa tiettyjä tehtäviä ilman, että ne koodaavat erikseen jokaista noiden tehtävien suorittamiseen käytettyjen algoritmien riviä. Koneoppimisalgoritmeja on monia erilaisia, mutta yksi yleisimmin käytetyistä algoritmeista on a monikerroksinen perceptron. Monikerroksista perceptronia kutsutaan myös hermoverkoksi, ja se koostuu sarjasta solmuja/neuroneja, jotka on linkitetty toisiinsa. Monikerroksisessa perceptronissa on kolme eri kerrosta: syöttökerros, piilokerros ja tuloskerros.

Syöttökerros vie tiedot verkkoon, jossa keskimmäisen/piilotetun kerroksen solmut käsittelevät sitä. Piilotetun kerroksen solmut ovat matemaattisia toimintoja, jotka voivat manipuloida syöttökerroksesta tulevaa dataa poimimalla asiaankuuluvia kuvioita syöttötiedoista. Näin hermoverkko "oppii". Neuraaliverkot ovat saaneet nimensä siitä, että ne ovat saaneet inspiraationsa ihmisaivojen rakenteesta ja toiminnasta.

Verkon solmujen välisillä yhteyksillä on arvoja, joita kutsutaan painoiksi. Nämä arvot ovat pohjimmiltaan oletuksia siitä, kuinka yhden kerroksen tiedot liittyvät seuraavan kerroksen tietoihin. Kun verkko harjoittelee, painoja säädetään, ja tavoitteena on, että dataa koskevat painot/oletukset konvergoivat lopulta arvoihin, jotka edustavat tarkasti datan merkityksellisiä kuvioita.

Aktivointitoiminnot ovat läsnä verkon solmuissa, ja nämä aktivointitoiminnot muuntavat tiedot epälineaarisella tavalla, jolloin verkko voi oppia monimutkaisia ​​esityksiä tiedosta. Aktivointifunktiot kertovat syötetyt arvot painoarvoilla ja lisäävät bias-termin.

Mikä on syväoppiminen?

Syväoppiminen on termi, joka annetaan koneoppimisarkkitehtuureille, jotka yhdistävät monia monikerroksisia perceptroneja niin, että piilotettuja kerroksia ei ole vain yksi vaan useita. Mitä "syvempi" syvä hermoverkko on, sitä kehittyneempiä malleja verkko voi oppia.

Hermosoluista koostuvia syvän kerroksen verkkoja kutsutaan joskus täysin yhdistetyiksi verkoiksi tai täysin yhdistetyiksi kerroksiksi, mikä viittaa siihen, että tietty neuroni ylläpitää yhteyttä kaikkiin sitä ympäröiviin hermosoluihin. Täysin yhdistetyt verkot voidaan yhdistää muihin koneoppimistoimintoihin erilaisten syväoppimisarkkitehtuurien luomiseksi.

Syväoppimisen eri tyypit

Tutkijoiden ja insinöörien käyttämät syvän oppimisen arkkitehtuurit ovat erilaisia, ja jokaisella eri arkkitehtuurilla on oma erikoiskäyttötapauksensa.

Neuvontaverkot

Konvoluutiohermosverkot, tai CNN:t, ovat neuroverkkoarkkitehtuuri, jota käytetään yleisesti tietokonenäköjärjestelmien luomisessa. Konvoluutiohermoverkkojen rakenne mahdollistaa niiden tulkitsemisen kuvadatan muuntaen ne numeroiksi, joita täysin yhdistetty verkko pystyy tulkitsemaan. CNN:ssä on neljä pääosaa:

  • Konvoluutiokerrokset
  • Alinäytteenotto/jakokerrokset
  • Aktivointitoiminnot
  • Täysin yhdistetyt kerrokset

Konvoluutiokerrokset ovat ne, jotka ottavat kuvat syötteinä verkkoon, analysoivat kuvia ja saavat pikselien arvot. Alinäytteistys tai yhdistäminen on tapa, jossa kuva-arvot muunnetaan/pienennetään kuvien esittämisen yksinkertaistamiseksi ja kuvasuodattimien herkkyyden vähentämiseksi kohinalle. Aktivointitoiminnot ohjaavat tiedonkulkua yhdestä kerroksesta seuraavalle tasolle, ja täysin yhdistetyt kerrokset analysoivat kuvaa edustavat arvot ja oppivat arvojen sisältämät kuviot.

RNN:t/LSTM:t

Toistuvat hermoverkot, tai RNN:t, ovat suosittuja tehtävissä, joissa tietojen järjestyksellä on väliä, jolloin verkon on opittava tietosarja. RNN:itä käytetään yleisesti ongelmiin, kuten luonnollisen kielen käsittelyyn, koska sanojen järjestyksellä on väliä lauseen merkitystä purettaessa. Termin Recurrent Neural Network "toistuva" osa tulee siitä, että tietyn elementin tulos sekvenssissä riippuu edellisestä laskennasta sekä nykyisestä laskennasta. Toisin kuin muissa syvien hermoverkkojen muodoissa, RNN:illä on "muistoja", ja sekvenssin eri aikavaiheissa laskettua tietoa käytetään lopullisten arvojen laskemiseen.

On olemassa useita RNN-tyyppejä, mukaan lukien kaksisuuntaiset RNN:t, jotka ottavat sekvenssin tulevat kohteet huomioon aiempien kohteiden lisäksi laskettaessa kohteen arvoa. Toinen RNN-tyyppi on a Pitkä lyhytaikainen muisti tai LSTM, verkko. LSTM:t ovat RNN-tyyppejä, jotka voivat käsitellä pitkiä tietoketjuja. Tavalliset RNN:t voivat joutua "räjähtävän gradienttiongelman" uhriksi. Tämä ongelma ilmenee, kun syöttötietoketjusta tulee erittäin pitkä, mutta LSTM:illä on tekniikoita tämän ongelman torjumiseksi.

Autokooderit

Suurin osa tähän mennessä mainituista syväoppimisarkkitehtuureista on sovellettu ohjattuihin oppimisongelmiin ohjaamattomien oppimistehtävien sijaan. Autoenkooderit pystyvät muuttamaan valvomattomia tietoja valvottuun muotoon, mikä mahdollistaa hermoverkkojen käytön ongelman ratkaisemiseksi.

Autokooderit käytetään usein havaitsemaan poikkeavuuksia tietojoukoissa, esimerkki valvomattomasta oppimisesta, koska poikkeaman luonnetta ei tunneta. Tällaisia ​​esimerkkejä poikkeamien havaitsemisesta ovat petosten havaitseminen rahoituslaitoksille. Tässä yhteydessä automaattisen kooderin tarkoitus on määrittää datan säännöllisten kuvioiden perusviiva ja tunnistaa poikkeavuuksia tai poikkeavuuksia.

Autoenkooderin rakenne on usein symmetrinen, ja piilotetut kerrokset on järjestetty siten, että verkon lähtö muistuttaa tuloa. Neljä autoenkooderityyppiä, joita käytetään usein, ovat:

  • Tavalliset/tavalliset autoenkooderit
  • Monikerroksiset kooderit
  • Konvoluutiokooderit
  • Normalisoidut kooderit

Tavalliset/plain autoenkooderit ovat vain hermoverkkoja, joissa on yksi piilotettu kerros, kun taas monikerroksiset autoenkooderit ovat syväverkkoja, joissa on useampi kuin yksi piilotettu kerros. Konvoluutioautoenkooderit käyttävät konvoluutiokerroksia täysin yhdistettyjen kerrosten sijasta tai niiden lisäksi. Regularisoidut autoenkooderit käyttävät tietynlaista häviötoimintoa, jonka avulla hermoverkko suorittaa monimutkaisempia toimintoja, muita toimintoja kuin vain kopioida tuloja lähtöihin.

Generatiiviset kilpailevat verkot

Generatiiviset kontradiktoriset verkot (GAN) ovat itse asiassa useita syviä hermoverkkoja yhden verkon sijaan. Kaksi syväoppimismallia koulutetaan samanaikaisesti, ja niiden tuotokset syötetään toiseen verkkoon. Verkot kilpailevat keskenään, ja koska ne pääsevät käsiksi toistensa lähtötietoihin, ne molemmat oppivat tästä tiedosta ja kehittyvät. Nämä kaksi verkkoa pelaavat pohjimmiltaan väärennösten ja havaitsemisen peliä, jossa generatiivinen malli yrittää luoda uusia tapauksia, jotka huijaavat etsivämallin/erottelijan. GAN:ista on tullut suosittuja tietokonenäön alalla.

Syväoppimisen yhteenveto

Syväoppiminen laajentaa hermoverkkojen periaatteita luomaan kehittyneitä malleja, jotka voivat oppia monimutkaisia ​​​​malleja ja yleistää ne tuleviin tietokokonaisuuksiin. Konvoluutiohermoverkkoja käytetään kuvien tulkitsemiseen, kun taas RNN:itä/LSTM:itä käytetään peräkkäisen datan tulkitsemiseen. Autoenkooderit voivat muuttaa ohjaamattomia oppimistehtäviä valvotuiksi oppimistehtäviksi. Lopuksi GAN-verkot ovat useita toisiaan vasten asetettuja verkkoja, jotka ovat erityisen hyödyllisiä tietokonenäkötehtävissä.

Bloggaaja ja ohjelmoija erikoisaloilla Koneen oppiminen ja Deep Learning aiheita. Daniel toivoo voivansa auttaa muita käyttämään tekoälyn voimaa yhteiskunnalliseen hyvään.