Zamrozić backbone i trenować head
Ponownie wykorzystać nauczone cechy niewielkim kosztem
Zamrozić backbone i trenować head to bezpłatna lekcja Deep Learning Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Deep Learning Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Deep Learning Academy zawiera 4 lekcji w sumie.
Pożycz inteligentny mózg
Po co trenować od zera? Model wytrenowany już na milionach obrazów nauczył się przydatnych cech. Uczenie transferowe pozwala wykorzystać tę wiedzę w Państwa zadaniu. 🧠
Backbone a głowica
Wstępnie wytrenowany model składa się z dwóch części: backbone'u, który wyodrębnia ogólne cechy, oraz głowicy, która tworzy końcową predykcję dla pierwotnego zadania.
Plan działania
Najprostszy przepis: zamrozić backbone, aby pozostał bez zmian, a następnie podmienić głowicę na nową i trenować tylko tę część na własnych etykietach.
Wczytaj wstępnie wytrenowany model
Zacznij od modelu, który ma już dobre wagi. torchvision udostępnia popularne architektury za pomocą jednego wywołania.
from torchvision import models
model = models.resnet18(weights='DEFAULT')Zamrożenie oznacza brak gradientów
Aby zamrozić warstwę, ustaw requires_grad na False. PyTorch pominie wtedy obliczanie dla niej gradientów, więc jej wagi nigdy się nie zmienią.
for p in model.parameters():
p.requires_grad = FalsePo co w ogóle zamrażać?
Zamrożenie backbone'u zachowuje wyuczone z trudem cechy i oznacza znacznie mniej wag do aktualizowania. Dzięki temu trenowanie jest szybsze i działa nawet przy niewielkiej ilości danych.
Podmień głowicę
Stara głowica przewiduje niewłaściwe klasy. Zastąp ją nową warstwą Linear o rozmiarze dopasowanym do liczby klas.
import torch.nn as nn
model.fc = nn.Linear(512, 3)Nowa głowica podlega uczeniu
Nowo utworzona warstwa automatycznie otrzymuje ustawienie requires_grad równe True. Dzięki temu uczyć się będzie tylko głowica, podczas gdy zamrożony backbone pozostanie bez zmian.
Optymalizuj tylko głowicę
Przekaż do optymalizatora wyłącznie parametry głowicy. Aktualizowanie tylko tych kilku wag sprawia, że to podejście jest tak tanie.
opt = torch.optim.Adam(model.fc.parameters(), lr=1e-3)Backbone staje się ekstraktorem
Przy zamrożonych wagach backbone po prostu zamienia każdy obraz w bogaty wektor cech. Głowica uczy się odczytywać te cechy.
Kiedy to podejście sprawdza się najlepiej
Zamrożenie backbone'u i trenowanie głowicy sprawdza się idealnie przy małym zbiorze danych lub ograniczonych zasobach obliczeniowych. Uzyskują Państwo dobre wyniki w kilka minut zamiast w kilka dni.
Szybkie sprawdzenie
Zamrozili Państwo backbone i zastąpili głowicę. Które wagi są faktycznie aktualizowane podczas trenowania?
Podsumowanie
Nauczyli się Państwo korzystać z wstępnie wytrenowanego backbone'u, zamrażać go, dołączać nową głowicę i trenować tylko tę głowicę. Szybko, tanio i świetnie przy małej ilości danych. 🎯
Ucz się Python dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 30
- Lekcje
- 120
Często zadawane pytania
Czy lekcja „Zamrozić backbone i trenować head” jest bezpłatna?
Tak — pełny tekst „Zamrozić backbone i trenować head” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Deep Learning Academy, przejdź na CoddyKit PRO. Kurs Deep Learning Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Zamrozić backbone i trenować head”?
Ponownie wykorzystać nauczone cechy niewielkim kosztem Ćwiczysz Deep Learning Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Deep Learning Academy?
Nie wymagamy żadnego doświadczenia. Deep Learning Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Zamrozić backbone i trenować head”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Deep Learning Academy?
Tak. Każda lekcja Deep Learning Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Zamrozić backbone i trenować head
- Dostrajać model z mniejszym learning rate
- Różne learning rates dla poszczególnych warstw
- Dostrajać model Hugging Face