Teknologian jakaminen

Deep Learning-Gradient Descent Algorithm-NLP (5)

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Johdatus gradienttilaskeutumisalgoritmiin syväoppimisessa

Minimi löytämisongelma

Esittely: Kun koulutamme tekoälymallia, yksinkertaisesti sanottuna, säädämme mallin parametreja datan perusteella niin, ettäMalli ennustaa saman arvon kuin tietomme .Mutta se oli ehdottomasti erilaista alussa, joten meOta käyttöön häviötoiminto, käytä sitä laskeaksesi, kuinka paljon eroa on, ja kuinka voimme säätää alkuperäisen mallin parametreja?

Miksi! Alkuperäisen mallin parametrien säätämisen tarkoituksena on tehdä ennustetusta arvosta sama kuin vaadittu arvo. Onko mahdollista löytää malliparametri, joka minimoi lasketun ennustetun arvon ja vaaditun arvon välisen eron? ===》Tämä on vähimmäisarvon löytämisen ongelma

Eli pohjimmiltaan se on tappiofunktion minimiarvon löytäminen.

Etsi minimiarvo matemaattisesti

Lisää kuvan kuvaus tähän
Purkamisohjeet:
Kohde: Etsi sopiva x-arvo, joka minimoi f(x:n).
logiikka

1. Valitse mikä tahansa piste x0 ja laske derivaatan arvo f(x0) tästä pisteestä
2. Päätä derivaatan etumerkin mukaan, pitäisikö x0:ta suurentaa vai pienentää;Jos derivaatta on positiivinen, vähennä x, koska se kasvaa, jos derivaatta on negatiivinen, lisää x;
3.迭代进行1,2步直到导数为0;或者导数变号了。
Missä olosuhteissa johdannainen muuttuu?
那就函数的值,之前在减小,现在在增大了,所以导数就会编号,那么最小值就在其中(救赎之道,就在其中)

kaltevuus

kaltevuus: Se voidaan ymmärtää suoraan derivaatana, mutta syväoppimisessa se ei yleensä ole derivaatta, eli monimuuttujafunktion derivaatta johdetaan.
Lisää kuvan kuvaus tähän
esimerkiksi:
Unaarifunktio:

Alkuperäinen funktio: y=5x^2
Johdannainen funktio: y= 10x
Eli kun x=1, derivaatan arvo on 10

Monitoiminen

Kolmiosainen funktio: y=2x^2 + 6z^2 + 7m^3
Johdannausfunktio (eli osittainen derivaatan ratkaisu kolmelle tuntemattomalle luvulle): y={4x,12z,21m^2}
Gradientti kohdassa [1,1,1] on [4,12,21] ja gradientti on vektori

Ne kaikki johtavat funktioita, ja voit käyttää johdannaisia ​​ymmärtääksesi gradientteja.

gradientin laskeutumisalgoritmi

Määritelmä: Gradientin laskeutumisalgoritmi on logiikka, joka laskee mallin gradientin syöttötiedon perusteella ja päivittää sitten mallin alkuperäiset painoparametrit oppimisnopeuden avulla. Käytössä on monenlaisia ​​algoritmeja, jotka esittelemme.
Lisää kuvan kuvaus tähän

Minimiarvon ongelman löytäminen syvän oppimisprosessin aikana

Syväoppimisen yleinen vuokaavio

Seuraava kaavio on syväoppimisen vuokaavio, jossa minimiarvoongelman löytämisen arvo vastaaHäviötoiminto->Optimizer->Malli
Lisää kuvan kuvaus tähän

Tavoitteena on ratkaista tappiofunktio

1. Mitä pienempi häviöfunktio, sitä parempi malli.
2. Oppimisen tavoitteena on minimoida tappiofunktio
3. Mallin paino vaikuttaa häviöfunktioon
4. Etsi optimaalinen paino kaltevuuden kautta

painon päivitys

päivitetty logiikka

1. Laske ennustettu arvo y1 syötteen x ja mallin nykyisen painon perusteella
2. Laske häviöfunktio y1:n ja y:n perusteella
3. Laske mallin painon gradientti häviön perusteella
4. Käytä gradienttia ja oppimisnopeutta säätääksesi mallin painoa optimoijan mukaan

Päivitystapa:

1. Kaikki näytteet laskevat gradientin (kertymän) Gradientin laskeutumisen yhdessä
2. Käytä yhtä näytettä kerrallaan laskeaksesi gradientin Stokastisen gradientin laskeutuminen
3. Käytä n näytettä joka kerta gradientin (kertymän) laskemiseen. Pienen erän gradientin laskeutuminen