01İnsan unutur, ama ağ silinir#
Bir çocuk bisiklete binmeyi öğrendikten sonra yüzmeyi öğrenir ve bisikleti unutmaz. Bir sinir ağı ise ilk görevde ulaştığı ağırlıkları, ikinci görevi öğrenirken doğrudan değiştirir; ikinci görev ilkinin kullandığı ağırlıklara dokunuyorsa, ilk görevdeki başarı düşebilir. Buna felaketli unutma denir. Sorun, bağlantıcı modellerde McCloskey ve Cohen’in 1989’daki çalışmasından beri bilinen “ardışık öğrenme” sorunudur.
Bu önemli, çünkü gerçek dünyada veri bir kerede gelmez: yeni ürünler, yeni diller, yeni bilgiler eklenir. İdeal olan, bir modelin eskiyi korurken yenisini de öğrenmesidir; buna sürekli öğrenme denir. Büyük modeller bugün çoğunlukla sürümler hâlinde yeniden eğitilir ya da ince ayarlanır; verinin akışıyla kesintisiz öğrenmek hâlâ açık bir araştırma alanıdır.
02En küçük örnek: iki ağırlık, iki görev#
Unutmanın nedenini görmek için ağı mümkün olan en küçük hâline indirelim: iki ağırlıklı doğrusal bir model (w₁, w₂). İki görev birbiriyle çelişmiyor: görev A, w₁ + w₂ toplamının 3 olmasını; görev B ise w₁’in 1 olmasını istiyor. Bu ikisini birlikte sağlayan tek bir çift var: (1, 2). Yani model ikisini birden öğrenebilir. Ama önce A, sonra B’yi öğrenirse ne olur?
Yeni görev, eski görevi siler
İlk 60 adımda model A’yı, sonraki 120 adımda B’yi öğrenir. B öğrenilirken A’nın hatası ne oluyor? Sonra B adımlarına A’dan örnek karıştır (tekrar oynatma).
0,000 / 0,1170,117 / 0,000B öğrenilirken w₁ değişiyor; ama A’nın doğru çalışması w₁ + w₂ toplamına bağlıydı. A’nın hatası yeniden yükseliyor: model B’yi öğrenirken A’yı unuttu, oysa ikisini birden çözen bir ağırlık çifti vardı.
Modelin ilk 60 adımda A’yı öğrenmesi sonucu ağırlıklar (1,5; 1,5) olur: A’nın hatası sıfır. Sonra yalnızca B’yi öğrenirken yalnızca w₁ ayarlanır ve w₁ = 1’e iner; w₂ 1,5’te kalır, çünkü B onu hiç görmez. Sonuç: B’nin hatası sıfır, ama A’nın hatası yaklaşık 0,12’ye çıkıyor. Hiçbir şey “silinmedi”; yalnızca B’nin gradyanı, A’nın dayandığı toplamı bozdu.
“Tekrar oynatma payı”nı %25’e çıkardığında, yani B adımlarına A’dan örnek karıştırdığında, model ikisini birden öğreniyor: ağırlıklar (1, 2)’ye yaklaşıyor ve her iki hata da sıfıra yakın kalıyor. Bu demo bilerek basit ve çelişmeyen görevlerle kuruldu: derin ağlarda etki çok daha karmaşıktır ve bazen çok daha dramatiktir.
03Çözüm fikirleri#
| Yaklaşım | Fikir | Bedeli |
|---|---|---|
| Tekrar oynatma | Eski görevden örnekleri saklayıp yeni eğitime karıştırmak | Eski veriyi saklamak gerekir (gizlilik, depolama) |
| Ağırlık koruma | Eski görev için önemli ağırlıkların değişmesini cezalandırmak | Önemin nasıl ölçüleceği ve ağın esnekliğinin azalması |
| Ayrı parçalar | Ana ağı dondurup her görev için küçük ek parça eğitmek | Parça sayısı artar; görevler arası aktarım zorlaşabilir |
| Birleştirme | Ayrı ayrı eğitilmiş modelleri sonradan birleştirmek | Her zaman çalışmaz (model çorbası notuna bak) |
Ağırlık koruma için tanınmış yöntem, Kirkpatrick ve arkadaşlarının Elastic Weight Consolidation (EWC) yöntemidir: eski görev için önemli ağırlıkları öğrenmeyi yavaşlatır; önemi ağırlık bazında tahmin eder. Yazarlar yöntemi ardışık MNIST sınıflandırma görevlerinde ve Atari 2600 oyunlarını art arda öğrenmede gösterdi. Kirkpatrick ve diğerleri, PNAS, 2017 ↗
04Büyük dil modellerinde bu neye benzer?#
Bir dil modelini dar bir veriyle ince ayar ettiğinde, genel yeteneklerinde gerileme olabilir; bu, günlük dilde “modeli bozmak” gibi anılır. Bu yüzden ince ayarın dozu önemlidir. Biderman ve arkadaşlarının çalışması, LoRA ile ince ayarın hedef alanda tam ince ayardan daha az öğrendiğini, ama hedef alanın dışındaki görevlerde temel modelin performansını daha iyi koruduğunu ve unutmayı sık kullanılan düzenlileştiricilerden daha çok azalttığını bildirdi: “LoRA daha az öğrenir, daha az unutur”. LoRA Learns Less and Forgets Less ↗
Öğrenmenin tersi de gerekebilir: bir modele belirli bir şeyi unutturmak. Bir model nasıl unutturulur?
Bu yazıyı bitirdiğinde:
- Felaketli unutmanın neden oluştuğunu iki ağırlıklı bir örnekle anlatabilirsin.
- Tekrar oynatma ve ağırlık koruma gibi çözümlerin mantığını açıklayabilirsin.
- Bağlam içinde öğrenmenin ağırlık güncellemesinden farklı olduğunu söyleyebilirsin.
Cümlelerden birini kendi sözlerinle anlatamıyorsan, ilgili bölüme dön ve demoyu yeniden dene.
Bir model nasıl unutturulur?
İleri · 8 dk okuma