Deep Learning Academy · Oppitunti

Erottelevat kerroskohtaiset oppimisnopeudet

Kouluttakaa syviä ja pinnallisia kerroksia eri tavoin

Oppitunti 3/413 vaihetta

Erottelevat kerroskohtaiset oppimisnopeudet on ilmainen Deep Learning Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Deep Learning Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Deep Learning Academy-kurssilla on yhteensä 4 oppituntia.

Yksi nopeus kaikille?

Tähän asti jokainen kerros käytti samaa oppimisnopeutta. Varhaiset ja myöhäiset kerrokset kuitenkin oppivat hyvin erilaisia asioita. Ehkä ne ansaitsevat eri nopeudet. 🎚️

Varhaiset kerrokset ovat yleisiä

Esikoulutetun verkon varhaiset kerrokset tunnistavat reunoja, värejä ja tekstuureja. Nämä piirteet siirtyvät lähes mihin tahansa tehtävään, joten niitä tarvitsee muuttaa vain vähän.

Myöhäiset kerrokset ovat tehtäväkohtaisia

Myöhäiset kerrokset poimivat tehtäväkohtaisia rakenteita. Juuri niiden pitäisi mukautua eniten uuteen datasettiinne.

Tärkein ajatus

Erottelukykyinen hienosäätö antaa syville kerroksille hyvin pienen oppimisnopeuden ja pinnallisille ulostulokerroksille suuremman. Kukin osa oppii sopivalla nopeudella.

Ryhmitelkää parametrit

Eri nopeuksien käyttämiseksi jaatte mallin parametriryhmiin, joilla kullakin on omat asetuksensa.

backbone_params = model.features.parameters()
head_params = model.classifier.parameters()

Ryhmäkohtaiset oppimisnopeudet

PyTorchin optimoijat hyväksyvät sanakirjojen listan, yhden kutakin ryhmää kohti, ja jokaisessa sanakirjassa on oma lr-arvo. Rungolle annetaan pieni ja päälle suurempi arvo.

opt = torch.optim.Adam([
  {'params': backbone_params, 'lr': 1e-5},
  {'params': head_params, 'lr': 1e-3}])

Miksi siitä on hyötyä

Tämä suojaa arvokkaita yleisiä piirteitä ja antaa pään mukautua nopeasti. Usein saavutatte paremman tarkkuuden kuin yhdellä kaikille yhteisellä nopeudella.

Loivasti muuttuva nopeus monissa kerroksissa

Voitte skaalata nopeuksia tasaisesti: jokainen syvempi lohko saa hieman pienemmän nopeuden. Tätä nopeuksien asteikkoa kutsutaan joskus slanted-aikatauluksi.

Asteittainen jäädytyksen vapauttaminen

Yksi täydentävä menetelmä on asteittainen jäädytyksen vapauttaminen: vapauttakaa ensin ylin kerros, kouluttakaa mallia ja vapauttakaa sitten seuraava kerros edeten epookkien aikana alaspäin.

Tarkistakaa ryhmänne

Voitte lukea kunkin ryhmän asetukset takaisin optimoijasta ja varmistaa, että jokainen param_group sai tarkoittamanne nopeuden.

for g in opt.param_groups:
    print(g['lr'])

Milloin tätä kannattaa käyttää

Erottelukykyisistä nopeuksista on eniten hyötyä syvissä verkoissa, joissa yleisten ja tehtäväkohtaisten kerrosten välinen ero on suuri.

Pikatarkistus

Mitkä kerrokset pitäisi erottelukykyisessä hienosäädössä varustaa pienimmällä oppimisnopeudella?

Kertaus

Annoitte syville kerroksille pienet nopeudet ja päälle suuremman nopeuden käyttämällä parametriryhmiä ja halutessanne asteittaista jäädytyksen vapauttamista. Näin siirto-oppimisesta tulee tehokkaampaa. 🎯

Aloita maksutta

Opi Python tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
30
Oppitunnit
120

Usein kysytyt kysymykset

Onko oppitunti ”Erottelevat kerroskohtaiset oppimisnopeudet” ilmainen?

Kyllä – oppitunnin ”Erottelevat kerroskohtaiset oppimisnopeudet” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Deep Learning Academy-kurssin, päivitä CoddyKit PROhon. Deep Learning Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Erottelevat kerroskohtaiset oppimisnopeudet”?

Kouluttakaa syviä ja pinnallisia kerroksia eri tavoin Harjoittelet Deep Learning Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Deep Learning Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Deep Learning Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.

Kuinka kauan ”Erottelevat kerroskohtaiset oppimisnopeudet”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Deep Learning Academy-oppitunnilla?

Kyllä. Jokainen Deep Learning Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Jäädyttäkää runko ja kouluttakaa pää
  2. Hienosäätö pienemmällä oppimisnopeudella
  3. Erottelevat kerroskohtaiset oppimisnopeudet
  4. Hienosäätäkää Hugging Face -malli
← Takaisin: Deep Learning Academy