Erottelevat kerroskohtaiset oppimisnopeudet
Kouluttakaa syviä ja pinnallisia kerroksia eri tavoin
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. 🎯
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
- Jäädyttäkää runko ja kouluttakaa pää
- Hienosäätö pienemmällä oppimisnopeudella
- Erottelevat kerroskohtaiset oppimisnopeudet
- Hienosäätäkää Hugging Face -malli