🚙
Öğrenme Aktarması (Transfer Learning)
Kısaca: Bir görevden öğrenmek ve öğrenilenleri başka farklı görevler için kullanmak 🛰🚙
- 🕵️♀️ Öğrenme Aktarması, bir görev için eğitilmiş bir modelin, ilgili ikinci bir görevde yeniden kullanıldığı bir makine öğrenme tekniğidir.
- 🌟 Ek olarak, ikinci görevi modellerken hızlı ilerleme veya gelişmiş performans sağlayan bir optimizasyon yöntemidir..
- 🤸♀️ Öğrenme Aktarması, yalnızca ilk görevden öğrenilen model özellikleri genel ise, derin öğrenmede işe yarar.
Uzun lafın kısası: Bir sinir ağını sıfırdan eğitmek yerine, bir başkasının zaten haftalarca büyük bir veri setinde eğittiği açık kaynaklı bir model indirebiliriz ve bu parametreleri modelimizi elimizdeki biraz daha küçük veri setiyle eğitmek için başlangıç noktası olarak kullanabiliriz. ✨
Bir sinir ağındaki katmanlar bazen benzer ağırlıklara sahip olabilir ve birbirlerini aşırı öğrenme neden olacak şekilde etkileyebilirler. Büyük karmaşık bir model ile bu bir risktir. Yani eğer Dense katmanlarını hayal ettiğimizde, biraz buna benzeyebilir.
Komşularla benzer ağırlıkları olan bazı nöronları kaldırabiliriz, böylece over fitting kaldırılır..
🤸♀️ Dropout işleminden önce ve sonra bir NN
✨ Sönümleme (dropout) işleminden önce ve sonra accuracy durumu
Kendisinden aktardığım ız problem (kaynak) için çok fazla veriye sahip olduğumuzda ve aktardığımız problem (hedef) için genellikle nispeten daha az veri olduğunda pratiktir 🕵️
Daha doğrusu:
görev Ave
görev Biçin, A'dan B'ye aktarmak aşağıdaki durumlarda makul olabilir:
- 🚩 Görev A ve görev B aynı çıkışa x sahipler ise
- ⭐
görev Aiçin
görev B'ye göre daha çok veriye sahip isek
- 🔎
görev A'nın Düşük seviye özellikleri
task B'yi öğrenmek için faydalı ise