Çok görevli Öğrenme


Makine öğrenmesi tabanlı modelleri geliştirirken nihai hedefimiz problemi betimleyen bir ölçev belirleyip onu optimize etmektir[1]. Seçtiğimiz öznitelikler ve geliştirdiğimiz modeller bu tek bir kıstası iyileştirmek içindir. Ancak son yıllarda araştırmacılar, tek bir kıstası optimize etme görevine fazla odaklanmanın, hali hazırdaki kıstası; birlikte kullanıldıkları takdirde daha iyi optimize edecek öznitelikleri yadsıyabildiğini iddia ediyor[4].

Yazının ilerleyen kısmında ayrıntı ile işlenecek yöntemin adı “çok görevli öğrenme”. Yöntem, literatüre çıkışını Caruana’nın 1997 yılında yayınladığı Multitask Learning [2] isimli makalesiyle yapıyor. Adından anlaşılabildiği üzere Çokgörevli Öğrenme (ÇGÖ) yaklaşımı ile algoritmanın bir görevi gerçekleştirmek için bir kayıp fonksiyonunu optimize etmesine dayanan yaygın anlayıştan farklı olarak, aynı anda birden fazla kayıp fonksiyonunu optimize etmek (aynı anda birden fazla görev öğrenmek) ve bu sayede literatürdeki benzer problemler için geleneksel yöntemlerden daha tutarlı bir sonuç elde etmek mümkün[4].

ÇGÖ’nin insan beyninin yeni bir aktivite öğrenirken daha önceki deneyimlerden yararlanmasından ilham aldığı söylenebilir. Ancak insanlardaki öğrenme problemlerinde olduğu gibi ÇGÖ söz konusu olduğunda görevler birbirinden tam ayrışmamıştır, ayrıca hedef her bir görevi en mükemmel şekilde öğrenmek değil, bir görevi diğer görevler yardımıyla daha iyi öğrenmektir.

Peki işlerin çok görevli öğrenme yaklaşımı için lehine gitmesine yol açan ne? Bildiğiniz gibi, bir problemi derin öğrenme algoritmaları ile çözmeye çalışırken en önemli dar boğaz, modeli besleyecek büyüklükte ve kalitede veriyi elde etmek. Gözetimli öğrenme problemlerinde karşılaştığımız etiketleme maliyeti, verinin azlığı, öznitelik uzayının çoğu zaman gerekenden büyük olması ve bu uzayda seçim yapmak için giriştiğimiz deneylerin maliyetleri derin öğrenme problemlerinin performansını geri çekerken, ÇGÖ için uygulanma alanı sağlıyor. Yine öznitelik uzayında tek bir görev için boyutsal küçültme gerçekleştirdiğimizde, birden çok görevle eğitim yapıldığı takdirde görevlerin daha isabetli genelleme yapmasını sağlayacak öznitelikleri de farkında olmadan kaybetmiş oluyoruz.Sonuç olarak, eğitim datasının bu şekilde az ve kalitesiz olduğu gerçek hayat problemlerinde bir çok alakalı görevin aynı anda öğrenildiği ÇGÖ yaklaşımı detaylandıracağımız mekaniği ile gerçekten de faydalı olabiliyor.

Bir ÇGÖ probleminde, her biri geleneksel yaklaşımlarla ele alınabilecek gözetimli(sınıflandırma, regresyon vb.) veya gözetimsiz(kümeleme vb.) öğrenme problemi olan birden fazla görev bulunmaktadır. Bu eğitim görevlerinin her birinin veya alt kümelerinin birbiriyle alakalı olduğu kabul edilmiştir. Bu sayede beraber eğitilen bu görevlerin, yalnız başlarına eğitilmelerine kıyasla çok daha iyi bir gelişme gösterdiği saptanmıştır[4].

Yazının ilerleyen kısmında ÇGÖ’deki yaygın yaklaşımları kendi aralarında ayrıştırarak , öznitelik öğrenme yaklaşımı(feature learning approach), düşük mertebe yaklaşımı(low rank approach), görev kümeleme yaklaşımı(task clustering approach), görev ilişkilendirme yaklaşımı(task relatedness approach), karmaşık yaklaşım(dirty approach), çok katmanlı yaklaşım(multi level approach) ve derin öğrenme yaklaşımı (deep learning approach) başlıkları altında inceleyeceğiz. Bu yazıda ayrıca, ÇGÖ’nün görüntü işleme, biyoinformatik, konuşma ve doğal dil işleme gibi birçok uygulama alanından da bahsedeceğiz.

ÇGÖ Yaklaşımları:

ÇGÖ’yü tam olarak betimleyebilmek için tanımlanması ile başlayalım:

Tanım: 1. Çok Görevli Yaklaşım: Birbiriyle bağlantılı olduğu kabul edilen m adet görev verildiğinde, çok görevli öğrenme a görevini geliştirmek için a dışındaki görevlerde tutulan bilgiyi kullanılmasını amaçlar[4].

ÇGÖ’nün tanımını göz önüne alarak, ÇGÖ çalışmalarının büyük çoğunluğunun gerçekleştirildiği gözetimli öğrenme problemlerini inceleyeceğiz. Görev a’ye eşlik eden n adet girdili eğitim seti D’yi düşünürsek, farklı görevler aynı eğitim kümesine ait öznitelik uzayının tamamı ile paylaşılmış ise ÇGÖ problemi çok çıktılı regresyon problemine dönüşecektir. Bu noktada genel bir kabule gidecek olursak, bir problemi çok çıktılı regresyon probleminden ziyade çok görevli eğitim problemi olarak ele almamız için görevlerin iki ya da daha fazlasının aynı eğitim özniteliklerini tamamen paylaşmaması gerekmektedir. Bu noktada ÇGÖ de kendi içerisinde homojen ÇGÖ ve heterojen ÇGÖ olmak üzere ayrılır.

Heterojen(heterogenous) ÇGÖ, sınıflandırma(classification), regresyonun(regression) gibi gözetimli öğrenme(supervised learning) görevleri ile gözetimsiz öğrenme(unsupervised learning), pekiştirmeli(reinforcement) öğrenme, grafik modeller(graphical models) ile öğrenme görevleri gibi birçok farklı görevin aynı anda var olduğu bir yöntemlerdir. Literatürün çoğunu oluşturan homojen(homogenous) ÇGÖ yaklaşımında ise birbiriyle ilişkilendirilebilen farklı görevler öğrenilmeye çalışılmaktadır[4].

Böylelikle, ÇGÖ bağlamında en çok araştırılan alan görevler arasındaki bağlantıdır. Neyin nasıl paylaşılacağı ÇGÖ’nün asıl sorusudur.

Neyi paylaşmalı?

Hangi öznitelik, hangi eğitim girdisi ya da hangi parametreler görevler arasında paylaştırılmalı.

Öznitelik tabanlı ÇGÖ, farklı görevler arasında paylaşılacak ortak öznitelikleri öğrenmeyi hedefler. Girdi tabanlı ÇGÖ, eğitim verisindeki girdileri görevlere göre dağıtarak bu girdiler üzerinden bilgi paylaşımını gerçekleştirir. Parametre tabanlı ÇGÖ, bir görev tarafından kullanılan optimize model katsayılarını diğer görevlere de uygulayarak eğitimlerin iyileştirmesini amaçlar. ÇGÖ çalışmaları genellikle öznitelik tabanlı ve parametre tabanlı yaklaşımlara yoğunlaşmıştır.

Nadir çalışmalardan biri olan temsili girdi tabanlı yaklaşım(representative instance based method) 2 numaralı çalışmada kullanılmıştır. Burada her eğitim girdisi etiketiyle birlikte en çok katkı sağladığı göreve özelleştirilerek ağırlıklandırılmış ve ÇGÖ eğitiminde kullanılmıştır.

Nasıl paylaşmalı?

Öznitelik tabanlı ÇGÖ’de öznitelik öğrenimi yaklaşımı ve derin öğrenme yaklaşımı olmak üzere iki temel yaklaşım bulunmaktadır. Öznitelik öğrenimi yaklaşımları birden çok görev için ortak öznitelikleri öğrenmeye odaklanan sığ modellerden oluşur. Öğrenilen ortak öznitelikler, asıl özniteliklerin alt kümelemesi veya transfer edilmesiyle elde edilmektedir. Derin öğrenme yaklaşımı çoklu göreve sahip derin mimariler ile ortak temsilleri öğrenir. Regülarizasyon ve tek katmanlı sinir ağları gibi modelleri içeren sığ modellere kıyasla derin öğrenme yaklaşımı derin mimariler barındırır.

Parametre tabanlı ÇGÖ’de beş ana yaklaşım bulunur. Düşük mertebe yaklaşımı, görev kümeleme yaklaşımı, görev ilişkisi öğrenme yaklaşımı, karmaşık yaklaşım ve çok katmanlı yaklaşım.

Düşük mertebe yaklaşımı birden fazla görev için, bu görevler arasındaki ilişkileri değişken matrislerinin düşük mertebeli cinsinden ifade eder. Görev kümeleme yaklaşımı benzer görevlerin aynı kümede yer aldığı bir kümeleme yaklaşımı öne sürer. Görev ilişkilendirme yaklaşımı görevler arasındaki ilişkileri veriden otomatik olarak anlamayı sağlamak için bu ilişkileri eşdeğişintileri cinsinden inceleyen bir yaklaşımı öne sürer. Karmaşık yaklaşım, görevleri ait modelleri iki bileşene ayırır ve bu iki bileşen de farklı formlarda seyreklik(sparsity) olarak ifade edilir. Karmaşık yaklaşımdan türeyen çok katmanlı yaklaşım karmaşık yaklaşımın yaptığı gibi bileşenleri ayrı ele almaktansa bu bileşenlerin toplamını modeller.

Yazının bu kısmında bir ara vererek özetlemek gerekirse öznitelik tabanlı ve parametre tabanlı yaklaşımlarda toplamda yedi farklı alt başlık görülmektedir. Yazının ilerleyen serilerinde bunlardan detaylıca bahsedeceğiz.

Kaynakça

[1] Ruder, Sebastian. “An overview of multi-task learning in deep neural networks.” arXiv preprint arXiv:1706.05098 (2017).

[2] R. Caruana, “Multitask learning,” Machine Learning, vol. 28, no. 1, pp. 41–75, 1997.

[3] S. Bickel, J. Bogojeska, T. Lengauer, and T. Scheffer, “Multi-task learning for HIV therapy screening,” in Proceedings of the Twenty-Fifth International Conference on Machine Learning, pp. 56–63, 2008.

[4]Zhang, Yu, and Qiang Yang. “A survey on multi-task learning.” arXiv preprint arXiv:1707.08114 (2017).

Source: Deep Learning on Medium