🚙Öğrenme Aktarması (Transfer Learning)
Last updated
Last updated
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 A
ve görev B
iç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 A
iç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