Ultima actualizare pe 25 august 2020
Constrângerile de greutate oferă o abordare pentru a reduce supraadaptarea unui model de rețea neuronală de învățare profundă pe datele de antrenament și pentru a îmbunătăți performanța modelului pe date noi, cum ar fi setul de testare a rezistenței.
Există mai multe tipuri de constrângeri de greutate, cum ar fi normele vectoriale maxime și unitare, iar unele necesită un hiperparametru care trebuie configurat.
În acest tutorial, veți descoperi API-ul Keras pentru adăugarea de constrângeri de greutate la modelele de rețea neuronală de învățare profundă pentru a reduce supraadaptarea.
După finalizarea acestui tutorial, veți ști:
- Cum se creează constrângeri de normă vectorială folosind API-ul Keras.
- Cum se adaugă constrângeri de greutate la straturile MLP, CNN și RNN folosind API-ul Keras.
- Cum se reduce supraadaptarea prin adăugarea unei constrângeri de greutate unui model existent.
Lansați proiectul cu noua mea carte Better Deep Learning, inclusiv tutoriale pas cu pas și fișierele de cod sursă Python pentru toate exemplele.
Să începem.
- Actualizat martie/2019: s-a remediat greșeala folosind egalitatea în loc de atribuire în unele exemple de utilizare.
- Actualizat oct/2019: Actualizat pentru Keras 2.3 și TensorFlow 2.0.
Cum se reduce supraadaptarea în rețelele neuronale profunde cu constrângeri de greutate în Keras
Fotografie de Ian Sane, unele drepturi rezervate.
Prezentare generală a tutorialului
Acest tutorial este împărțit în trei părți; sunt:
- Constrângeri de greutate în Keras
- Constrângeri de greutate pe straturi
- Studiu de caz de constrângere a greutății
Constrângeri de greutate în Keras
API-ul Keras acceptă constrângeri de greutate.
Constrângerile sunt specificate pe strat, dar sunt aplicate și aplicate pe nod în cadrul stratului.
Folosirea unei constrângeri implică, în general, setarea argumentului kernel_constraint pe strat pentru greutățile de intrare și bias_constraint pentru greutățile de prejudecată.
În general, constrângerile de greutate nu sunt utilizate pe greutățile de părtinire.
O suită de diferite norme vectoriale poate fi utilizată ca constrângeri, oferite ca clase în modulul keras.constraints. Sunt:
- Normă maximă (max_norm), pentru a forța greutățile să aibă o magnitudine la sau sub o anumită limită.
- Norme non-negative (non_neg), pentru a forța greutățile să aibă o magnitudine pozitivă.
- Norma unitară (unit_norm), pentru a forța greutățile să aibă o magnitudine de 1,0.
- Norma Min-Max (min_max_norm), pentru a forța greutățile să aibă o magnitudine între un interval.
De exemplu, o constrângere poate fi importată și instanțiată:
- Cum să slăbești cu ușurință folosind culoarul de alimente congelate din supermarketul tău Cele mai bune sfaturi pentru dietă
- Slăbi; Fii sănătos folosind aceste St.
- Cum să slăbești rapid folosind banda de alergat 2021 Best Play Gear
- Ziua Internațională a Yoga Face yoga ajută la reducerea bărbii duble și pierde în greutate de pe față Sănătate
- Postul intermitent plus dieta cu conținut scăzut de calorii ajută mai bine la reducerea greutății corporale; De la biroul din