Öğrenme Aktarımı/Transfer Learning

Nova Research Lab.
novaresearchlab
Published in
11 min readJan 8, 2020

Bu yazı Gülsüm Yiğit ve Melike Nur Yeğin tarafından yazılmıştır.

Günlük hayatımızda bir durumda öğrendiğimiz bir bilgiyi sık sık başka bir durumda kullanarak o bilgiyi başka bir konu üzerine aktarırız. Karşılaştığımız durumların benzer olması bizim o bilgiyi aktarmamıza kolaylık sağlar. Örneğin bisiklet kullanabilen birinin araba kullanmayı öğrenmesi bisiklet kullanamayan birine göre daha kolay ve hızlı olabilir. Birbirine benzer olan bu olaylarda kişi bisiklet sürmeyi öğrendiği sırada kazandığı araç kontrol etme becerisini araba sürerken kullanmakta ve farkında olmadan öğrenme aktarımı yapmaktadır.

Öğrenme aktarımı (Transfer learning) makine öğrenmesi yöntemlerinin de aynı bizim gibi bir problemi çözerken elde ettiği bilgiyi saklayıp, başka bir problem ile karşılaştığında o bilgiyi kullanmasıdır. Öğrenme aktarımı ile önceki bilgiler kullanılarak daha az eğitim verisi ile daha yüksek başarı gösteren ve daha hızlı öğrenen modeller elde edilir.

Normalde makine öğrenmesinde her bir görev için ayrı bir ‘sıfırdan öğrenme’ gerçekleştirilir. Ancak bazı görevlerden öğrenilen bir takım bilgileri başka görevlerde de kullanmak mümkün ve avantajlı olacağından kaynak görevlerden elde edilen bilgi hedef görevin çözümü için kullanılmaktadır. Öğrenme aktarımı ile daha önceden eğitilmiş modellerden elde edilen özellikler, ağırlıklar vb. yeni bir görev için kullanılmaktadır. Bu yöntemin işe yaraması için aktarılacak bilgilerin genel bilgiler olması gerekir, yani kaynak göreve özgü olmak yerine hem kaynak hem de hedef görevler için uygun olan bilgiler aktarılır.

Örneğin, bilgisayarla görme alanında kedi ile köpeği ayırt edebilen bir modelde elde ettiğimiz bilgileri 2 farklı hedef görevde kullanmayı düşünelim. Birincisi motosiklet, bisiklet vb. araç tanıma için ikincisi aslan, kaplan, at vb. diğer hayvanları tanıma olsun. Birinci görev için aktarılacak bilgi tahmin edileceği üzere ikinci görev için aktarılacak bilgi ile aynı olamaz. Birinci görev için öğrenme aktarımı yapıldığında aktarılan bilgi hemen hemen her görüntü üzerinde aynı olan düşük seviyeli özellikler, kenarlar, köşeler, şekillerdir. İkinci görev için öğrenme aktarımı yapıldığında ise kedi köpek tanımada keşfedilen göz, burun, kulak gibi karmaşık şekillerin de bilgisinin aktarılması gerekir.

Öğrenme aktarımı sürecinde aşağıda verilen 3 soru sorulur:

  1. Neyin aktarılacağı: Öğrenmenin aktarımı yapılırken uygulanan ilk ve en önemli aşamadır. Kaynak veriden hedefe hangi bilgi aktarılınca hedef görevin başarısının artacağına cevap aranan bölümdür. Dikkat edilmesi gereken husus ise bazı bilgilerin kullanılan veriye/göreve özgü olabileceği ve bazısının kullanılan alan ne olursa olsun ortak olabileceğidir.
  2. Ne zaman aktarılacağı: Bu aşamada verinin hangi durumlarda aktarılacağı ya da hangi durumlarda aktarılmaması gerektiği durumları belirlenir. Bazı durumlarda kaynak veri ve hedef veri birbirinden çok farklı olabilir. Bu gibi durumlarda aktarım başarılı olmayabilir. Hatta hedef veri üzerindeki eğitimin başarısını düşürebilir. Bu duruma ‘olumsuz aktarım/negatif transfer’ denir. Q klavye kullanan birinin F klavyede yazamaması gibi.
  3. Nasıl aktarılacağı: Burada bilginin/öğrenmenin aktarımı için hangi yöntemlerin kullanılacağına karar verilir. Var olan yöntemlerin direkt kullanılması veya değiştirilmesi yaklaşımı izlenir.

Öğrenme aktarımında kaynak görevi isteğimiz bilgileri öğrenecek şekilde kendimiz geliştirebiliriz veya hazır bir model kullanabiliriz. Uygulamada daha çok tercih edilen yöntem ikincisidir. Bu tarz uygulamaların en güzel örneklerinden biri ImageNet yarışmasıdır. Bu yarışmada 1000 sınıflı fotoğrafları sınıflandırma gibi büyük ve zorlu bir görüntü sınıflandırma görevi vardır. Bu yarışma için modeller geliştiren araştırma kuruluşları genellikle son modellerinin bir lisans kapsamında yeniden kullanılmasına izin vermektedir. Bu modellerin modern donanımlar ile eğitilmesinin günler veya haftalar alabildiği düşünüldüğünde önceki yıl eğitilmiş en iyi modelin bir sonraki yılda öğrenme aktarımı ile kullanılması oldukça mantıklı ve yaygın bir uygulamadır.

Peki CNN, LSTM gibi iyi çalışan derin öğrenme yöntemlerini sıfırdan eğitmek yerine neden öğrenme aktarımını kullanalım?

  • Daha hızlı eğitim süresi: Önceden eğitilmiş modellerdeki ağırlıklar birçok bilgiyi barındırmaktadır. Dolayısıyla bu bilgileri kullanıp ince ayar(fine-tuning) yapılarak yeni model daha hızlı eğitilir. Hatta bazı problemler için öğrenme aktarımı kullanılarak 2–4 epochta bile yüksek başarı elde edilebilmektedir.
  • Daha az veri: Sıfırdan oluşturulan modellerin en büyük dezavantajı eğitim için büyük ölçekli bir veri kümesinin gerekmesidir. Bu veri kümelerinin oluşturulması için ciddi bir zaman gerekir. Bunun yerine önceden eğitilmiş modellere ince ayar yapılması daha az veri kullanarak yüksek performanslar elde edilmesini sağlar.
  • Daha iyi performans: Önceden eğitilmiş modellere yeni tam bağlantılı katman(lar) eklenerek yapılan basit bir işlemin başarıyı iyileştirdiği görülmektedir.

Yöntemler

Öğrenme aktarımı kaynak/hedef öğrenme görev ve verilerine göre üç grupta ifade edilir.

Tümevarımsal Öğrenme Aktarımı/Inductive Transfer Learning

Hedef görevin kaynak görevden farklı olduğu durumlardır. Görevlerdeki verilerin etiketli veya etiketsiz olması bakımından ikiye ayrılır.

Birincisi kaynak görevde fazla miktarda etiketli verinin bulunmasıdır. Bu durumda, öğrenme aktarımı çok yönlü öğrenme (multi-task learning) gibi çalışır. Ancak çok yönlü öğrenmenin eğitildiği tüm görevlerde başarı göstermesi beklenirken öğrenme aktarımında amaç hedef görev başarısının yüksek olmasıdır. Kaynak görev için geliştirilen bir model hedef görev için başlangıç noktası olarak kullanılır. Örneğin, kedi köpek sınıflandırma için kullanılan modelin bilgilerini araç sınıflandırma kullanmak.

İkincisi ise kaynak verinin etiketli veri içermemesi durumudur. Bu durumda tümevarımsal öğrenme aktarımı bu sefer kendi kendine öğrenme (self taught learning) gibi çalışır. Kendi kendine öğrenmede kaynak ve hedef verilerin etiket uzayı farklıdır, bu da kaynak verisinin doğrudan kullanılamayacağı anlamına gelir. Örneğin, ne olduğu bilinmeyen resimlerden çıkartılan bilgilerin araç sınıflandırma için kullanılması.

Dönüştürücü Öğrenme Aktarımı/Transductive Transfer Learning

Kaynak ve hedef görevlerin aynı fakat verilerinin farklı olmasıdır. Hedef görevde etiketli verinin bulunmadığı fakat kaynak görevde bol miktarda etiketli verinin olduğu durumlarda kullanılır. Hedef ve kaynak veri kümelerine göre dönüştürücü öğrenme aktarımı iki farklı şekilde ifade edilebilir. Bunlar özellik uzayının kaynak ve hedef veri kümeleri için farklı olması ve aynı olması durumlarıdır. Örneğin bir mobil operatörün bir zamanlar yaptığı bir kampanyayı tekrar yapmak istediğinde eski kampanyanın bilgilerini kullanması. Bu problemde eğer kullanıcıların bilgileri tamamen aynı kalırsa özellik uzayı aynı olur, farklı bilgiler de eklenirse özellik uzayı farklı olur.

Ayrıca, bu yöntem zaman aşımına uğramış veriler üzerinde de kullanılabilir. Ancak bu gibi durumlarda, belirli bir zaman diliminde elde edilen etiketli veri, ileriki zamanlarda aynı dağılımı göstermeyebilir.

Gözetmensiz Öğrenme Aktarımı / Unsupervised Transfer Learning

Tümevarımsal öğrenme aktarımına benzemektedir. Farklı olarak etiketsiz görevler üzerine odaklanmaktadır. Buradaki kaynak ve hedef veri kümeleri benzer fakat görevler birbirinden farklıdır. Kümeleme, boyut küçültme vb. de kullanılır.

Öğrenme aktarımında neyin aktarılacağı ile ilgili aşağıdaki yaklaşımlardan bahsedilir:

Örnek aktarımı/Instance transfer

  • Kaynak verideki bazı örneklerin hedef verisinde kullanılmasıdır. Çoğu durumda kaynak veri doğrudan kullanılamaz. Fakat kaynak verisindeki belirli örneklere uygun ağırlık değerleri verilmesi ve hedef veri üzerinde kullanılmasıyla başarı artırılabilir. Kaynak ve hedef verisinin ortak birçok özelliğe sahip olması durumunda geçerlidir. Örneğin kitap önerisi yapmak üzere kişilerin ilgi alanlarını tespit etmiş bir modelin örneklerini film önerisi yapmak üzere de kullanmak.

Özellik temsili aktarım /Feature representation transfer

  • Kaynak verideki özellik temsillerinin hedef verisinde kullanılmasıdır. Kaynak ve hedef verisinin ortak özelliklere sahip olması durumunda geçerlidir. Ortak özelliklerin yanı sıra yalnızca kaynak veya yalnızca hedefte olan özellikler de bulunabilir. Kaynak verisinden hedef verisine daha iyi özellik gösterimleri bularak hedef görevdeki performansın artması beklenir. Örneğin yüz tanıma modelinin göz ile ilgili çıkardığı özellikleri kullanarak yorgunluk tespiti yapan bir model geliştirmek.

Parametre aktarımı/Parameter transfer

  • Birbirine yakın hedef ve kaynak görevleri için benzer parametre, hiper-parametrelerin kullanılması durumudur. Transfer edilecek bilgi paylaşılan ortak parametreler ile kaynak görevden hedef göreve aktarılır

İlişki kurma tecrübesinin aktarımı/Relational Knowledge Transfer

  • Kaynak verideki bazı ilişkilerin hedefteki ilişkilere benzetilmesi durumudur. Kaynak veri ve hedef veri arasında bazı ilişkilerin olduğu varsayılır, veri kaynakları arasında ilişkisel bilginin eşleştirilmesi yapılır.

Uygulamalar

Doğal Dil İşleme

Doğal dil işlemede öğrenme aktarımında kaynak görevdeki ön eğitim bir modelin çeşitli dil olaylarını (kelimeler arası ilişkiler…) büyük ölçekli bir derlemden yakalamasına ve öğrenmesine izin verir. Daha sonra bu bilgi duygu analizi gibi bir görevde iyi performans göstermesi için başka bir modeli başlatmak ve eğitmek için kullanılır.

Öğrenme aktarımı dilde çalışır çünkü olumsuzlama, metin bilgisinden gelen duygu kutuplarını tespit etmek için önemli bir özelliktir. Buna ek olarak olumsuzluk bilgisi doğal dil işlemenin en karmaşık, çözülmemiş görevlerinden biri olan alay tespiti (sarcasm) gibi bir problemde de yararlı olabilir. Önceden eğitilmiş modeller olumsuzluk bilgisi gibi birçok görevde kullanılabilecek bazı evrensel özelliklere sahiptir. Evrensel özelliklere sahip bir dil modeli etiketli veri kümelerinin veya dil kaynaklarının eksik olduğu durumlarda yararlı olabilir.

Doğal dil işlemede öğrenme aktarımının en yaygın olarak kullanıldığı alan dil modelleridir. Bu dil modelleri kelimelerin vektör olarak ifade edilmesi ile başlamıştır. Kelime vektörleri benzer anlamda olan kelimelerin benzer vektör temsiline sahip olacak şekilde yüksek boyutlu bir uzayda ifade edilmesidir. Bu alanda çeşitli araştırma kuruluşları çok büyük metin belgeleri üzerinde önceden eğitilmiş modellerini bir lisans kapsamında yayınlar ve kullanılmasına izin verir. Bunlardan bazılarının linkleri:

Son dönemlerdeki dil modellerine örnek olarak da ELMo, ULMfit, BERT vb. verilebilir. Önceden eğitilmiş dil modelleri kullanılarak dildeki yüksek seviyeli özellikler çıkarılır ve ince ayar (fine-tuning) işlemi ile daha özel bir problem üzerine uygulanır. Dil modelleri hiyerarşik gösterimler veya çizge tabanlı gösterimlerle tüm modellerin derinlemesine ön eğitimini yürütür. Bu sistemlerde geçtiğimiz birkaç yıl içinde birçok görevi ele almak için etkili bir şekilde kullanılan tekil kelimelerin temsil edilmesinden daha sofistike ve soyut temsillerin kullanımına geçilmiştir.

BERT öğrenme aktarımında en yaygın kullanılan güçlü modellerden biridir. BERT dil modelinde çok büyük miktarda kelimeler içeren Wikipedia makaleleri kullanılmıştır. Bu da herhangi bir problemde elde edebileceğimizden çok daha büyük veriye işaret etmektedir. Dolayısıyla önceden eğitilmiş bir BERT modelinin sınıflandırma katmanı yerine tam bağlantılı yeni bir katman eklenerek daha özel birçok problem çözülebilir.

Bilgisayarla Görme

Bilgisayarla görme alanında öğrenme aktarımına örnek olarak giriş kısmında ImageNet yarışmasından bahsetmiştik. Doğal dil işleme uygulamalarında olduğu gibi bu alanda da büyük görüntü veri kümeleri ile önceden eğitilmiş hazır modeller bulunur. Bunlar indirilebilir ve doğrudan görüntü verilerinin girdi olarak verilebileceği yeni modellere dahil edilebilir. Burada tabi ki önceden de bahsetmiş olduğumuz gibi görev benzerliğine göre hangi katmana kadarki bilgilerin aktarılacağına dikkatli bir şekilde karar vermek gerekiyor. Bu modellere aşağıdaki bağlantılardan ulaşılabilirsiniz.

Öğrenme aktarımında Evrişimsel Sinir Ağı (Convolutional Neural Network-CNN) kullanıldığında karşılaşılabilecek senaryolardan bahsedelim:

Hedef veri kümesinin küçük ve kaynak veri kümesine benzer olması durumu:

  • Hedef veri kümesi küçük olduğu için bir CNN üzerinde ince ayar yapılması overfitting problemine karşı risklidir.
  • Hedef verisi kaynak verisine benzer olduğu için CNN ile bulunan yüksek seviyeli özelliklerin kullanılması mantıklıdır.
  • Önceden eğitilmiş CNN’den en sondaki tam bağlantılı katman çıkarılır. Hedef veri kümesindeki sınıf sayısı dikkate alınarak yeni bir tam bağlantılı katman eklenir.
  • Yeni tam bağlantılı katmanın ağırlıkları rastgele verilir ve önceden eğitilmiş olan CNN’deki ağırlıklar ise aynı kalır.
  • Ağın yeni eklenen son katmanı eğitilerek bu katmandaki ağırlıklar öğrenilir.

Hedef veri kümesinin küçük ve kaynak veri kümesine göre çok farklı olması durumu:

  • Hedef veri kümesi kaynaktan çok farklı olduğu için CNN’deki yüksek seviyeli özellikler bir anlam ifade etmez.
  • Önceden eğitilmiş modeldeki çoğu katman çıkarılır ve hedef veri kümesindeki sınıf sayısı dikkate alınarak yeni tam bağlantılı katmanlar eklenir.
  • Yeni tam bağlantılı katmanların ağırlıkları rastgele verilir ve önceden eğitilmiş olan CNN ağındaki ağırlıklar ise aynı kalır.
  • Hedef veri kümesi küçük olduğu için overfit riski bulunduğundan sadece ağa yeni eklenen ağırlıklar eğitilir.

Hedef veri kümesinin büyük ve kaynak veri kümesine benzer olması durumu:

  • Önceden eğitilmiş CNN’deki son tam bağlantılı katman çıkarılır ve hedef veri kümesindeki sınıf sayısı dikkate alınarak yeni bir tam bağlantılı katman eklenir.
  • Yeni tam bağlantılı katmanın ağırlıkları rastgele verilir ve önceden eğitilmiş olan CNN’deki ağırlıklar ise aynı kalır.
  • Hedef veri kümesi büyük olduğu için overfit riski yoktur, bütün ağa ince ayar yapılabilir.

Hedef veri kümesinin büyük ve kaynak veri kümesine göre çok farklı olması durumu:

  • Overfit problem olmayacağı için ağın tamamı en baştan eğitilir. Fakat eğitimin daha hızlı olması için bir üstteki yöntem kullanılabilir.

Bu arada son dönemin popüler konularından sanat ve yapay zekanın kesişim noktasında merak uyandıran bir konu olan “tarz aktarımı/style transfer” yönteminden bahsedelim. İki görüntü üzerinde işlem yapan bu teknikte görüntülerden biri içerik görüntüsü diğeri ise tarzını aktaracak olan referans görüntüdür. Bu iki görüntünün harmanlanmasıyla ortaya yeni bir görüntü çıkar. Üretilen bu görüntü içerik olarak verilen görüntüye benzer fakat referans görüntüsünün tarzını taşımaktadır.

İnsan yüzlerinde tarz aktarımı örneği: StyleGAN

Ses işleme

Öğrenme aktarımı ses verisi üzerinde çeşitli problemlerin çözümünde kullanılabilir. Literatürde ses verisi problemlerinde genellikle SVM ile derin öğrenme algoritmalarından CNN ve RNN’ler uygulanmıştır. Bu yöntemleri sıfırdan eğitmek yerine zamanın ve verinin azlığı gibi nedenlerden dolayı öğrenme aktarımı tercih edilebilir. Örneğin, İngilizce için geliştirilen Otomatik Ses Tanıma (ASR) sistem modelleri Almanca gibi başka bir dildeki ses tanıma sistem performansını geliştirmek amacıyla kullanılabilir. Burada önceden eğitilmiş olan modeldeki özellik temsillerinin başka bir dile aktarılması söz konusudur.

Ses verisi üzerinde en yaygın kullanılan modellerden bir Google tarafından oluşturulan AudioSet’tir. Youtube’a yüklenen çok büyük miktardaki videoların ve etiketlerinin kullanılmasıyla oluşturulmuş bu model birçok çalışmada öğrenme aktarımı için kullanılmaktadır.

Ses verisi üzerinde öğrenme aktarımının en çok uygulandığı alanlardan biri ses sınıflandırmasıdır. Ses parçalarının doğru sınıflandırılması ses sinyallerinin frekanslarının doğru anlaşılabilmesine bağlıdır. Bu ses sinyalleri araba sesi, silah sesi, tezahürat, uçak sesi gibi sesler olabilir. Bu genel ses sinyallerini tanıyan bir modelin bilgileri seslerden ortam tanıma(okul, maç, hastane, sokak v.b.) problemine aktarılabilir.

Ses verisi üzerinde bir diğer uygulama ses verisindeki duygu durumunun otomatik olarak belirlenmesidir. Burada karşılaşılan en büyük problem derin öğrenme modellerinin eğitiminde gereken büyük ölçekli verilere karşılık etiketli duygu durumu ses verisinin az sayıda olmasıdır. Bu ve benzeri problemlerde büyük ölçekli verilerin bulunması ve sıfırdan derin öğrenme ile modelin eğitilmesi yerine öğrenme aktarımı ile hem daha hızlı hem de daha iyi performans gösteren modeller geliştirilebilir.

Sonuç

Öğrenme aktarımı mevcut algoritmaların daha az veri ile daha kısa sürede daha yüksek performans elde edebilmesi için kullanılan bir tekniktir. Her ne kadar bu yöntemin olumlu tarafları güçlü olsa da öğrenme aktarımı ile ilgili daha fazla araştırmaya ihtiyaç duyulan, dikkat edilmesi gereken durumlar vardır. Öğrenme aktarımı sürecinde neyin, ne zaman ve nasıl transfer edileceği olmak üzere karar vermenin zor olduğu 3 aşamadan bahsetmiştik. Bu zorlukların yanı sıra olumsuz aktarım olma ihtimali de vardır.

Olumsuz aktarım: Öğrenme aktarımı her zaman performansı arttırmayabilir hatta bazen mevcut performansın düşmesine de sebep olabilir. Bu duruma olumsuz aktarım denir. Burada modelin başarısının düşmesinin çeşitli nedenleri olabilir. Kaynak model ile hedef model görevleri birbirinden çok farklı olabilir veya aktarılan yöntemle kaynak ve hedef modeller arasındaki ilişki tam olarak ifade edilemiyor olabilir. Olumsuz aktarımdan korunmak zor ve üzerinde durulması gereken bir problemdir.

Sonuç olarak öğrenme aktarımı daha az veri ile çalışabilmesinin yanı sıra algoritmada 3 türlü iyileşme sağlayabilir. Bunlardan birincisi eğitime daha iyi bir başlangıç noktasından başlamak, ikincisi daha hızlı öğrenme, üçüncüsü ise daha başarılı modeller elde etmektir.

Kaynaklar

  1. Chapter 11: Transfer Learning, Handbook of Research on Machine Learning Applications, 2009.
  2. Audio classification using transfer learning approach
  3. https://arxiv.org/pdf/1902.02120.pdf
  4. Intuitive Guide to Neural Style Transfer
  5. https://www.mathworks.com/help/deeplearning/examples/transfer-learning-using-alexnet.html;jsessionid=613f228913763a5aa024c5f19a3a
  6. CS231n Convolutional Neural Networks for Visual Recognition
  7. Transfer Learning Introduction Tutorials & Notes | Machine Learning
  8. Image Style Transfer Using Convolutional Neural Networks
  9. Transfer Learning in NLP
  10. A Light Introduction to Transfer Learning for NLP
  11. A Comprehensive Hands-on Guide to Transfer Learning with Real-World Applications in Deep Learning
  12. Transfer Learning with Applications
  13. https://arxiv.org/pdf/1808.01974.pdf
  14. https://medium.com/kansas-city-machine-learning-artificial-intelligen/an-introduction-to-transfer-learning-in-machine-learning-7efd104b602
  15. https://tr.pinterest.com/pin/672232681856247783/
  16. How transferable are features in deep neural networks?
  17. A Survey on Transfer Learning
  18. Transfer Learning — Machine Learning’s Next Frontier
  19. A Gentle Introduction to Transfer Learning for Deep Learning

--

--

Nova Research Lab.
novaresearchlab

Official account of Nova AI Research Lab. in Yıldız Technical University