Seuraava artikkeli auttaa sinua: Milloin hermoverkko ei konvergoi?
Parhaiten sopivan hermoverkon sovittaminen malliin käy läpi erilaisia optimointiprosesseja. Nämä prosessit auttavat määrittämään ja määrittelemään mallin tarkkuuden, luotettavuuden, toimivuuden ja kyvykkyyden. Neuroverkon konvergenssi auttaa määrittämään, kuinka monta iteraatiota koulutuksen hermoverkko vaatii tuottaakseen mahdollisimman vähän virheitä. Joskus huomaamme, että hermoverkko ei konvergoi. Tässä artikkelissa aiomme keskustella siitä, mitä tapahtuu ja mitä meidän pitäisi tehdä, kun hermoverkko ei lähenty. Tärkeimmät artikkelissa käsiteltävät kohdat on lueteltu alla.
Sisällysluettelo
- Syväoppimismallien työstäminen
- Syväoppimismallien lähentyminen
- Syyt, jotka epäonnistuvat mallin lähentymisessä
- Miksi NN ei lähenty?
- Korjauskeinot konvergenssin epäonnistumiseen
Aloitetaan ymmärtämällä hermoverkkojen toiminta.
Syväoppimismallien työstäminen
Yleisessä syväoppimisen mallintamisessa muotoillaan ongelma käyttämällä neuronia ja verkon kerroksia ja odotamme ongelman keksivän häviöfunktion. Samalla mallien koulutuksessa painot ovat parametreina. Kun malliin sisällytetään takaisineteneminen, takaisinpropagointi alkaa, kun häviöfunktion määrittelemät virheet saavuttavat määritellyn pisteen.
Harjoittelun jokainen iteraatio yrittää päästä lähemmäs tätä pistettä ja tässä vaiheessa virhearvo minimoidaan päivittämällä painoja. Tämä malli sisältää joukon tappiofunktioon liittyviä painoja. Mallintamisen päätavoite on löytää pienin arvohäviö jokaisessa iteraatiossa ja kokonaisoperaatiossa.
Etsitkö täydellistä arkistoa tietotieteessä käytettävistä Python-kirjastoista, katso täältä.
Lähentyminen syvässä oppimisessa
Yksinkertaisesti sanottuna voidaan sanoa, että hermoverkkojen konvergenssi on mallin koulutuksen kohta, jonka jälkeen muutokset oppimisnopeudessa laskevat ja mallin tuottamat virheet koulutuksessa minimoituvat. Voidaan myös sanoa, että syväoppimismalli on konvergenssissa, kun mallin antama menetys saavuttaa miniminsä. Konvergenssi voi olla kahta tyyppiä, joko globaalia tai paikallista. Yksi asia, joka tässä on havaittavissa, on se, että lähentymisen pitäisi tapahtua laskevassa trendissä. Useissa mallinnusproseduureissa on kuitenkin hyvin harvinaista nähdä mallin konvergoivan hyvin tiukasti, mutta on yleistä nähdä mallin konvergoivan kuperalla tavalla.
Matemaattisesti konvergenssia voidaan pitää sarjan ja sekvenssin tutkimuksena. Mallin voidaan katsoa olevan konvergenssissa, kun sarja on suppeneva sarja. Kuten alla on annettu.
Oletetaan, että s(n)=lossWn(y^,y) on suppeneva sarja.
Missä,
- Wn = painojen joukko n:nnen iteroinnin jälkeen
- s(n) = sarjan n:s termi.
Jos sanomme, että häviö = 0, voimme sanoa, että sarja, jota kutsumme suppenevaksi, on ääretön sarja. Mutta menetys = 0 on ihanteellinen ehto, jota ei voida saavuttaa, mutta konvergenssin jälkeen oppimisnopeus voi pienentyä.
Yllä oleva kuva on esitys konvergenssista, jossa voidaan nähdä, että mallin harjoittelu 20. iteraation jälkeen konvergoituu ja virheet 20. iteraation jälkeen ovat pienempiä, dekrementaalisia ja pienemmällä alueella.
Edellä olevan perusteella voidaan sanoa, että mallin konvergenssi on tärkeää, kun harjoittelu saa meidät päättämään, jatkammeko mallia vai ei. Yksi artikkeleistamme sisältää tietoja siitä, kuinka hermoverkko voidaan konvergoida nopeammin. Tämä artikkeli keskittyy tietoihin, kun hermoverkko ei konvergoi. Katsotaanpa, mitä tarkoittaa, että lähentyminen epäonnistuu.
Syy, joka ei onnistu mallin lähentymisessä
Yksinkertaisesti sanottuna voimme ajatella konvergenssin epäonnistumista tilana, jossa emme löydä konvergenssipistettä neuroverkon oppimiskäyrästä. Se tarkoittaa suoraan, että käyrällä ei ole sellaista pistettä, joka voitaisiin esittää alemman ja dekrementaalisen virheen alkamispisteenä. Voimme ymmärtää konvergenssin epäonnistumisen katsomalla alla olevaa kuvaa.

Yllä olevassa kuvassa voimme nähdä, että virheet vähenevät iteraatioiden määrän kasvaessa, mutta yksi asia on se, että emme voi kertoa, mistä pisteestä virhe vaihtelee pienemmällä alueella. Mitkä ovat virheiden globaalit tai paikalliset minimit? Tällaisessa tilanteessa voimme sanoa, että hermoverkko ei ole konvergoitunut. Katsotaanpa miksi näin tapahtuu.
Miksi hermoverkko ei konvergoi?
Suurin osa hermoverkosta ei konvergoi mallinnusvirheen vuoksi. Sanotaan, että dataa tarvitaan muuntamiseen verkossa ja verkkoihin tarjoamamme solmut ovat huomattavasti pienempiä. Miten tällaisessa tilanteessa voimme odottaa verkon toimivan oikein? Joten suurimmassa osassa tapauksia, joissa verkko ei konvergoidu, se tulee kuvaan epätarkan mallintamisen vuoksi. Jotkut tämän asian taustalla olevista syistä ovat seuraavat:
- Liian vähäisten solmujen käyttöönotto voi olla syy tähän ongelmaan, koska mallien, joissa on vähemmän solmuja, on muutettava arkkitehtuuriaan rajusti mallintaakseen tietoja paremmin ja epäonnistuakseen konvergoinnissa.
- Harjoitusdatan määrä on pieni tai mallille työntamamme data on vioittunut tai sitä ei ole kerätty tietojen eheydellä.
- Verkon kanssa käyttämämme aktivointitoiminto johtaa usein hyviin tuloksiin mallista, mutta jos monimutkaisuus on suurempi, malli voi epäonnistua konvergoinnissa.
- Epäasianmukainen painonkäyttö verkossa voi myös aiheuttaa epäonnistumisen konvergenssissa. Verkkoon käyttämämme painot tulee laskea hyvin aktivointifunktion mukaan.
- Verkossa antamamme oppimisnopeusparametrin tulisi olla kohtalainen, mikä tarkoittaa, että sen ei pitäisi olla paljon suurempi tai paljon pienempi.
Korjauskeinot konvergenssin epäonnistumiseen
Yllä olevassa osiossa olemme käsitelleet syytä, joka voi aiheuttaa epäonnistumisen hermoverkkojen konvergenssissa. On monia asioita, jotka voivat auttaa välttämään tämän epäonnistumisen. Katsotaanpa joitain kohtia, jotka voivat auttaa meitä estämään hermoverkkojen konvergenssin epäonnistumisen.
- Toteutusvauhti: joskus konvergenssi riippuu tiedoista ja siitä, onko data tekemässä mallia, joka tuottaa virheitä kuten hiuskampa. Neuraaliverkkomomentin toteuttaminen voi auttaa välttämään konvergenssia ja myös lisäämään mallin tarkkuutta ja nopeutta.
- Verkon painojen uudelleen alustaminen voi auttaa välttämään konvergenssin epäonnistumisen.
- Jos harjoitus on juuttunut paikallisiin minimiin ja seuraavat harjoitukset ovat ylittäneet maksimiiteroinnin, tämä tarkoittaa, että harjoitus on epäonnistunut ja saamme suuremman virheen. Tällaisessa tilanteessa uuden istunnon aloittaminen voi olla hyödyllistä.
- Aktivointitoiminnon muuttaminen voi olla hyödyllistä. Käytämme esimerkiksi ReLU-aktivointia ja solmujen neuronit vääristyvät ja tämä voi aiheuttaa sen, että neuroni ei koskaan aktivoidu. Tällaisessa tilanteessa aktivointitoiminnon vaihtaminen toiseen aktivointiin voi olla hyödyllistä.
- Suorittaessamme luokittelua hermoverkkojen avulla voimme käyttää opetusdatan sekoittamista konvergenssin epäonnistumisen välttämiseksi.
- Oppimisnopeuden ja aikakausien lukumäärän tulee olla verrannollisia verkkoa mallinnettaessa. Pienempi määrä aikakausia saa aikaan konvergenssin tapahtuvan pienemmissä vaiheissa ja suurempi määrä epookkeja tarkoittaa pitkää odotusaikaa konvergenssin ilmaantumisessa. Korkeampaa oppimisnopeutta tai aikakausien määrää tulisi välttää, jotta hermoverkko konvergoi nopeammin.
Viimeiset sanat
Tässä artikkelissa olemme käsitelleet konvergenssia hermoverkossa, jonka ulkonäkö saa meidät päättämään, käytämmekö verkkoa edelleen vai emme ja joudumme muuttamaan joitain asioita. Tämän lisäksi olemme keskustelleet syistä, joiden taustalla on hermoverkon konvergoitumisen epäonnistuminen ja kuinka voimme välttää tämän epäonnistumisen.