Leifeng.com AI Technology Review Press: Sözde "aktarım öğrenimi", yeni görevlerin üstesinden gelmek için eğitilmiş makine öğrenimi modellerini yeniden kullanma teknolojisini ifade eder. Derin öğrenme alanına birçok fayda sağlamıştır.Bunlardan en bariz olanı, modeli sıfırdan eğitmeye gerek kalmadığında, hesaplamalar, veriler ve uzmanlık gibi birçok kaynaktan tasarruf edebiliriz. Yakın zamanda Amazon kaynaklı açık olan Xfer veritabanı, geçiş öğrenme prototiplerini kolayca uygulamamıza ve oluşturmamıza olanak tanıyor Lei Feng.com AI Technology Review Amazon algoritma mühendisi Andreas Damianou'nun bu kitaplık hakkındaki blog gönderisini tercüme etti.
Xfer, MXNet için, aşağıdaki hedeflere ulaşmak isteyen uygulayıcılar ve araştırmacılar için tasarlanmış bir transfer öğrenimidir:
Eğitimli sinir ağını yeni senaryolarda / görevlerde dağıtın
Mevcut ağ mimarisine dayalı yeni bir sinir ağı prototipi oluşturun.
Başka bir deyişle, bir makine öğrenimi görevi verildiğinde, Xfer, sıfırdan eğitmenize gerek kalmadan sinir ağı aracılığıyla en iyi çözümü bulabilir. Kitaplık, en yaygın görüntü ve metin verileri dahil olmak üzere herhangi bir veri ve ağa uygulanabilir.
Xfer kullanmanın faydaları
kaynakları koruyun: Ağı sıfırdan eğitmeye gerek yoktur, böylece çok fazla insan gücü ve CPU / GPU kaynağı tasarrufu sağlar).
İşleme kapasitesini geliştirin: Az sayıda etiketle bile karmaşık verileri sınıflandırabiliriz.
Kullanmak için engeli indirin: Bir makine öğrenimi uzmanı olmanıza gerek yok, kendi çözümlerinizi oluşturmak için mevcut sinir ağı mimarisini kolayca kullanabilir ve değiştirebilirsiniz.
Sinir ağlarından özellikleri çıkarmak uygundur.
Prototip oluşturmayı hızlandırın: Xfer'in ModelHandler modülü, sinir ağı mimarisini kolayca değiştirmemize izin verecek.
Belirsizlik modellemesi: Bayesian Neural Network (BNN) veya Gaussian Process (GP) aracılığıyla, model tahmininin belirsizliğini kontrol edebiliriz.
Demo 1: Metamodele dayalı aktarım öğrenimi
Hedef görevin kaynak modeli (MXNet) ve veri yineleyicisi belirlendiği sürece, aktarım öğrenmeyi uygulamak için yalnızca 3 satır kod girmeniz gerekir:
Aşağıdaki animasyon, yeniden ayarlama yöntemini kullanarak meta-model aktarımı öğrenme gerçekleştirme işlemini görsel olarak gösterir:
Meta model tabanlı transfer öğrenimi
Bu örnekte ModelHandler, kaynak görevde önceden eğitilmiş sinir ağı parametrelerini (W) elde etmek için kullanılır. W'nin orijinal parametrelerini korumaya dayanarak, hedef girdi verilerini kaynak görevde önceden eğitilmiş sinir ağından geçiriyoruz. Süreçte, hedef verileri ve kaynak görev bilgilerini açıklayan bir temsil elde edeceğiz çünkü bunlar, ondan elde edilen W parametresi tarafından üretilir. Son olarak, yukarıdaki özellikleri meta-model sınıflandırıcının girdisi olarak kullanmak için Repurposer modülünü çağırıyoruz. Verilen kodda, meta-model Lojistik Regresyonu temsil eden "Lr" olarak adlandırılır.
Kullanılan meta model Gauss sürecine veya Bayes sinir ağına dayanıyorsa (her ikisi de Xfer'de oluşturulmuşsa), hedef görevin tahmininde belirsizlik tahmini yapılabileceğine dikkat edilmelidir. Bu aynı zamanda yöntemin "geçmişte anlamadıkları şeyleri öğrenebileceği" anlamına gelir. Bu çok önemlidir, çok az etiketlenmiş veri durumuyla başa çıkmak için kullanılabilir.
Demo 2: ince ayara dayalı aktarım öğrenimi
Bu yöntem, kullanıcıların ModelHandler modülü aracılığıyla katmanları eklemek veya kaldırmak gibi önceden eğitilmiş sinir ağı mimarisini önceden iyileştirmesine ve ardından gradyan tabanlı bir optimize edici aracılığıyla hedef görev için sinir ağını hassas bir şekilde çağırmasına olanak tanır. ModelHandler'ı kullanarak, özel ince ayarlı yeniden kullanım yöntemlerini deneyebiliriz. Örneğin, önceden eğitilmiş sinir ağından aktarılacak / dondurulacak katmanı seçin. ModelHandler iletim işlevinin kodu aşağıda gösterilmiştir:
Yukarıdaki kodun animasyonu aşağıdaki şekilde gösterilmektedir:
İnce ayara dayalı aktarım öğrenimi
Önceki göreve benzer şekilde ModelHandler, kaynak görevde önceden eğitilmiş W sinir ağı parametrelerini elde etmek için kullanılır Kaynak model önceden eğitilmiş bir VGGNet olabilir. ModelHandler aracılığıyla, kaynak görev sinir ağının mimarisini ayarlayabiliriz; bu örnekte, mimarinin altına yeni bir katman (yeni başlatma parametreleriyle) ekledik. Daha sonra, yeni mimari, hedef görevin verilerine uyarlamak için ince ayarlı yeniden kullanım yöntemine dayalı olarak eğitilir. Xfer, orijinal parametreleri (yukarıdaki şekilde mavi ile gösterilmiştir) ve yeni parametreleri (yukarıdaki şekilde turuncu olarak gösterilmiştir) tanımlayarak ince ayar tabanlı bir yeniden kullanım yöntemi uygulamamıza olanak tanır. Orijinal parametreler zaten kaynak görevin bilgilerini içerdiğinden, öğrenme değerinden çok farklı olmamalı ve yeni parametreler rastgele başlatıldığından, daha yüksek bir öğrenme oranıyla optimize edilmelidir.
Xfer'i bugün kullanmaya başlayın
Github açık kaynak URL'si:
https://github.com/amzn/xfer
Xfer bilgilendirme belgesi:
https://xfer.readthedocs.io/en/master/
Görüntü verileri için eğitim öğreticisini aktarın:
https://xfer.readthedocs.io/en/master/demos/xfer-overview.html
Otomatik hiperparametre ayarlamasına dayalı öğrenme eğitimini aktarın:
https://xfer.readthedocs.io/en/master/demos/xfer-hpo.html
Metin verileri için öğrenmeyi aktarın:
https://xfer.readthedocs.io/en/master/demos/xfer-text-transfer.html
Özel bir yeniden oluşturma öğreticisi oluşturun:
https://xfer.readthedocs.io/en/master/demos/xfer-custom-repurposers.html
MXNet modellerinin rahat kullanımı ve incelenmesi için Xfer.ModelHandler, eğitim:
https://xfer.readthedocs.io/en/master/demos/xfer-modelhandler.html
https://medium.com/apache-mxnet/xfer-an-open-source-library-for-neural-network-transfer-learning-cd5eac4accf0 aracılığıyla
Leifeng.com AI Teknolojisi İncelemesi