saplama Transfer Öğrenimi Nedir? - Unite.AI
Bizimle iletişime geçin

AI 101

Transfer Öğrenme Nedir?

mm
Güncellenmiş on

Transfer Öğrenme Nedir?

Makine öğrenimi uygularken bir modeli eğitmek uzun zaman alabilir. Sıfırdan bir model mimarisi oluşturmak, modeli eğitmek ve ardından modelde ince ayarlar yapmak çok büyük miktarda zaman ve çaba gerektirir. Bir makine öğrenimi modelini eğitmenin çok daha etkili bir yolu, önceden tanımlanmış ve muhtemelen ağırlıkları zaten hesaplanmış olan bir mimariyi kullanmaktır. Arkasındaki ana fikir bu öğrenme aktarımı, zaten kullanılmış olan bir modeli alıp yeni bir görev için yeniden amaçlandırıyor.

Transfer öğreniminin kullanılabileceği farklı yolları incelemeden önce, transfer öğreniminin neden bu kadar güçlü ve kullanışlı bir teknik olduğunu anlamak için biraz zaman ayıralım.

Derin Öğrenme Problemini Çözme

Bir görüntü sınıflandırıcı oluşturmak gibi bir derin öğrenme problemini çözmeye çalıştığınızda, bir model mimarisi oluşturmanız ve ardından modeli verileriniz üzerinde eğitmeniz gerekir. Model sınıflandırıcının eğitimi, hem modelin hem de veri kümesinin karmaşıklığına bağlı olarak saatler hatta günler sürebilen bir işlem olan ağın ağırlıklarının ayarlanmasını içerir. Eğitim süresi, veri kümesinin boyutuna ve model mimarisinin karmaşıklığına göre ölçeklenecektir.

Model, görev için gereken türde bir kesinliğe ulaşmazsa, büyük olasılıkla modelde ince ayar yapılması gerekecek ve ardından modelin yeniden eğitilmesi gerekecektir. Bu, optimum bir mimari, eğitim uzunluğu ve veri kümesi bölümü bulunana kadar daha fazla eğitim saati anlamına gelir. Bir sınıflandırıcının kullanışlı olması için kaç değişkenin birbiriyle hizalanması gerektiğini düşündüğünüzde, makine öğrenimi mühendislerinin modelleri eğitmek ve uygulamak için her zaman daha kolay ve daha verimli yollar araması mantıklıdır. Bu nedenle transfer öğrenme tekniği oluşturulmuştur.

Bir modeli tasarlayıp test ettikten sonra, eğer model faydalı olursa, kaydedilebilir ve daha sonra benzer problemler için tekrar kullanılabilir.

Transfer Öğrenme Türleri

Genel olarak iki farklı transfer öğrenme türleri: sıfırdan bir model geliştirme ve önceden eğitilmiş bir model kullanma.

Sıfırdan bir model geliştirdiğinizde, eğitim verilerinizi yorumlayabilen ve ondan kalıpları çıkarabilen bir model mimarisi oluşturmanız gerekir. Model ilk kez eğitildikten sonra, modelden en iyi performansı elde etmek için muhtemelen üzerinde değişiklik yapmanız gerekecektir. Daha sonra model mimarisini kaydedebilir ve benzer bir görevde kullanılacak bir model için başlangıç ​​noktası olarak kullanabilirsiniz.

İkinci koşulda - önceden eğitilmiş bir modelin kullanılması - kullanmak için önceden eğitilmiş bir model seçmeniz yeterlidir. Birçok üniversite ve araştırma ekibi, modellerinin özelliklerini genel kullanım için hazır hale getirecektir. Modelin mimarisi ağırlıklarla birlikte indirilebilir.

Transfer öğrenimi yürütülürken, eldeki görev için tüm model mimarisi ve ağırlıkları kullanılabilir veya modelin yalnızca belirli bölümleri/katmanları kullanılabilir. Önceden eğitilmiş modelin yalnızca bir kısmını kullanmak ve modelin geri kalanını eğitmek, ince ayar olarak adlandırılır.

Bir Ağı İnce Ayarlama

Bir ağda ince ayar yapmak, bir ağdaki bazı katmanları eğitme sürecini tanımlar. Yeni bir eğitim veri seti, orijinal modeli eğitmek için kullanılan veri setine çok benziyorsa, aynı ağırlıkların çoğu kullanılabilir.

Ağda çözülmesi ve yeniden eğitilmesi gereken katman sayısı, yeni veri kümesinin boyutuna göre ölçeklendirilmelidir. Eğitilmekte olan veri kümesi küçükse, katmanların çoğunu olduğu gibi tutmak ve yalnızca son birkaç katmanı eğitmek daha iyi bir uygulamadır. Bu, ağın fazla takılmasını önlemek içindir. Alternatif olarak, önceden eğitilmiş ağın son katmanları kaldırılabilir ve daha sonra eğitilen yeni katmanlar eklenebilir. Aksine, veri kümesi büyük bir veri kümesiyse, potansiyel olarak orijinal veri kümesinden daha büyükse, tüm ağ yeniden eğitilmelidir. Ağı şu şekilde kullanmak için sabit özellik çıkarıcı, ağın çoğunluğu, özellikleri çıkarmak için kullanılabilirken, ağın yalnızca son katmanı çözülebilir ve eğitilebilir.

Bir ağa ince ayar yaparken, ConvNet'in önceki katmanlarının, görüntülerin daha genel özelliklerini temsil eden bilgileri içeren şeyler olduğunu unutmayın. Bunlar kenarlar ve renkler gibi özelliklerdir. Buna karşılık, ConvNet'in sonraki katmanları, modelin başlangıçta üzerinde eğitildiği veri kümesinde tutulan bireysel sınıflara daha özel olan ayrıntıları tutar. Orijinal veri kümesinden oldukça farklı bir veri kümesi üzerinde bir model eğitiyorsanız, özellikleri ayıklamak ve modelin geri kalanını yeniden eğitmek için muhtemelen modelin ilk katmanlarını kullanmak isteyeceksiniz.

Öğrenme Örneklerini Aktarın

Transfer öğreniminin en yaygın uygulamaları muhtemelen görüntü verilerini girdi olarak kullananlardır. Bunlar genellikle tahmin/sınıflandırma görevleridir. Yol Dönüşümlü Sinir Ağları Evrişimli katmanlar genellikle çok benzer özellikleri ayırt ettiğinden, görüntü verilerini yorumlama, modellerin yönlerini yeniden kullanmaya uygundur. Yaygın bir transfer öğrenme problemine bir örnek, 1000 farklı nesne sınıfıyla dolu devasa bir veri kümesi olan ImageNet 1000 görevidir. Bu veri kümesinde yüksek performans elde eden modeller geliştiren şirketler, modellerini genellikle başkalarının onları yeniden kullanmasına izin veren lisanslar altında yayınlar. Bu süreç sonucunda ortaya çıkan modellerden bazıları şunlardır: Microsoft ResNet modeli, Google Başlangıç ​​Modeli ve Oxford VGG Modeli grup.

Uzmanlık alanlarına sahip blogcu ve programcı Makine öğrenme ve Derin Öğrenme konular. Daniel, başkalarının yapay zekanın gücünü toplumsal fayda için kullanmasına yardım etmeyi umuyor.