0Pricing
Learn AI with Python · Ders

İnce Ayar: Dondurmayı Kaldırma ve Yeniden Eğitme

base_model.trainable = True, katmanların katman katman dondurmasını kaldırma, farklı öğrenme oranları.

İnce Ayar: Dondurmayı Kaldırma ve Yeniden Eğitme, CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 4 dersten oluşur.

Ne Zaman İnce Ayar Yapılmalı

Özellik çıkarımı başlığınızı eğittikten sonra ince ayar, önceden eğitilmiş temel modelin üst kısmının verilerinize uyum sağlamasına izin vererek doğruluğu biraz daha artırır. Bunu yalnızca başlık kararlı hale geldikten sonra yapın; aksi halde rastgele bir başlıktan gelen büyük gradyanlar temele zarar verebilir.

Temel Modelin Kilidini Açma

Ağırlıkları yeniden güncellenebilir hale getirmek için base.trainable = True ayarını yapın. Bu işlem tek başına her katmanın kilidini açar ve genellikle fazla agresiftir.

base.trainable = True
print("Trainable layers:", sum(l.trainable for l in base.layers))

İlk N Katmanı Dondurma

İlk katmanlar, korumak istediğiniz genel kenar ve doku algılayıcılarını içerir. İlk N katmanı yeniden dondurun ve yalnızca daha derindeki, göreve özgü katmanlara ince ayar uygulayın.

base.trainable = True
freeze_until = 100   # keep first 100 layers frozen

for layer in base.layers[:freeze_until]:
    layer.trainable = False
for layer in base.layers[freeze_until:]:
    layer.trainable = True

Çok Düşük Öğrenme Oranı Neden Gerekli

İnce ayar, 1e-5 gibi çok küçük bir öğrenme oranı gerektirir. Önceden eğitilmiş ağırlıklar zaten iyidir; yalnızca küçük düzeltmeler yapmak istersiniz. Büyük bir oran felaketle unutmaya yol açarak öğrenmek için geldiğiniz ImageNet bilgisini siler.

Kilidi Açtıktan Sonra Yeniden Derleme

trainable işaretlerini değiştirdikten sonra yeniden derlemelisiniz; böylece Keras hangi ağırlıklar için gradyan hesaplanacağını yeniden oluşturur. Düşük öğrenme oranını burada ayarlayın.

from tensorflow.keras.optimizers import Adam

model.compile(
    optimizer=Adam(learning_rate=1e-5),
    loss="categorical_crossentropy",
    metrics=["accuracy"]
)

İki Aşamalı Süreç

  1. Aşama 1 (özellik çıkarımı): temel model dondurulur, doğrulama doğruluğu ~1e-3 seviyesinde sabitlenene kadar başlık eğitilir.
  2. Aşama 2 (ince ayar): üst katmanların kilidi açılır, ~1e-5 öğrenme oranıyla yeniden derlenir ve eğitime devam edilir.

Süreci bu şekilde bölmek eğitimi istikrarlı hale getirir ve önceden eğitilmiş özellikleri korur.

2. Aşamada Eğitime Devam Etme

Günlüklerin ve zamanlamaların kesintisiz kalması için initial_epoch kullanarak eğitime 1. aşamanın durduğu yerden devam edin.

history2 = model.fit(
    train_ds,
    validation_data=val_ds,
    epochs=20,
    initial_epoch=10   # phase 1 ended at epoch 10
)

Öğrenme Oranı Zamanlayıcısı

Bir zamanlayıcı, model yakınsadıkça güncellemelerin küçülmesi için öğrenme oranını zaman içinde azaltır. ReduceLROnPlateau, doğrulama kaybı sabitlendiğinde öğrenme oranını otomatik olarak düşürür.

from tensorflow.keras.callbacks import ReduceLROnPlateau

lr_cb = ReduceLROnPlateau(
    monitor="val_loss", factor=0.5,
    patience=2, min_lr=1e-7
)
model.fit(train_ds, validation_data=val_ds,
          epochs=20, callbacks=[lr_cb])

BatchNorm Uyarısı

ResNet ve EfficientNet, hareketli istatistikleri izleyen BatchNormalization katmanları içerir. İnce ayar sırasında BN katmanlarını dondurmak (veya çıkarım modunda tutmak) çoğu zaman daha istikrarlı sonuçlar verir; çünkü küçük bir veri kümesinde bu istatistikleri güncellemek doğruluğu düşürebilir.

Aşırı Öğrenmeye Dikkat Edin

İnce ayar, eğitilebilir birçok parametre eklediği için aşırı öğrenme riski artar. Bununla veri artırma, dropout ve doğrulama kaybı üzerinde EarlyStopping kullanarak mücadele edin.

from tensorflow.keras.callbacks import EarlyStopping

stop = EarlyStopping(monitor="val_loss",
                     patience=4,
                     restore_best_weights=True)

Hepsini Bir Araya Getirme

Sağlam bir ince ayar işlemi şöyledir: baş katmanını eğitin, üst katmanların kilidini açın, BN katmanlarını dondurun, 1e-5 öğrenme oranıyla yeniden derleyin, ardından bir zamanlayıcı ve erken durdurma kullanarak eğitin. İnce ayarın gerçekten fayda sağladığını doğrulamak için önceki ve sonraki doğrulama doğruluğunu her zaman karşılaştırın.

Hızlı Kontrol

İnce ayar bilginizi sınayın.

Özet

base.trainable=True ayarını yaparak, ilk N katmanı yeniden dondurarak, çok küçük bir öğrenme oranıyla (1e-5) yeniden derleyerek ve iki aşamalı bir işlem yürüterek ince ayar yapmayı öğrendiniz. Bir öğrenme oranı zamanlayıcısı ve erken durdurma işlemi süreci kararlı tutar; BatchNorm katmanları da özen gerektirir. Sırada: uç cihazlara dağıtım için hafif modeller.

Sıkça Sorulan Sorular

“İnce Ayar: Dondurmayı Kaldırma ve Yeniden Eğitme” dersi ücretsiz mi?

Evet — “İnce Ayar: Dondurmayı Kaldırma ve Yeniden Eğitme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 4 dersten oluşur.

“İnce Ayar: Dondurmayı Kaldırma ve Yeniden Eğitme” dersinde ne öğreneceğim?

base_model.trainable = True, katmanların katman katman dondurmasını kaldırma, farklı öğrenme oranları. Learn AI with Python ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“İnce Ayar: Dondurmayı Kaldırma ve Yeniden Eğitme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Learn AI with Python dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Aktarım Öğrenmesi Kavramları ve Stratejileri
  2. VGG16 ve ResNet50'yi Temel Modeller Olarak Kullanma
  3. İnce Ayar: Dondurmayı Kaldırma ve Yeniden Eğitme
  4. Uçta Dağıtım için MobileNet ve EfficientNet
← Learn AI with Python Sayfasına Dön