Etiketsiz Verilerle Yarı Denetimli Görüntü Sınıflandırma

Yayınlanan: 2022-03-11

Denetimli öğrenme, son on yılda bilgisayarla görme ve derin öğrenme araştırmalarının ön saflarında yer aldı.

Denetimli öğrenme ortamında, insanların büyük miktarda veri kümesine manuel olarak açıklama eklemesi gerekir. Ardından modeller, veriler ve etiket arasındaki karmaşık temel ilişkileri öğrenmek için bu verileri kullanır ve verilere göre etiketi tahmin etme yeteneğini geliştirir. Derin öğrenme modelleri genellikle verilere çok ihtiyaç duyar ve iyi performans elde etmek için çok büyük miktarda veri kümesi gerektirir. Sürekli gelişen donanım ve büyük insan etiketli veri kümelerinin kullanılabilirliği, derin öğrenmenin son zamanlardaki başarılarının nedeni olmuştur.

Denetimli derin öğrenmenin önemli bir dezavantajı, eğitim için çok sayıda insan etiketli veri kümesinin varlığına dayanmasıdır. Profesyoneller tarafından açıklanmış devasa veri kümelerini elde etmek lojistik açıdan zor ve çok pahalı olabileceğinden, bu lüks tüm alanlarda mevcut değildir. Etiketlenmiş verilerin elde edilmesi zorlu ve maliyetli bir çaba olsa da, genellikle büyük miktarlarda etiketlenmemiş veri kümelerine, özellikle görüntü ve metin verilerine erişimimiz vardır. Bu nedenle, az kullanılan bu veri kümelerinden yararlanmanın ve bunları öğrenme için kullanmanın bir yolunu bulmamız gerekiyor.

Etiketli ve etiketsiz görseller

Önceden Eğitilmiş Modellerden Öğrenimi Aktarın

Büyük miktarda etiketlenmiş verinin yokluğunda, genellikle transfer öğrenmeyi kullanmaya başvururuz. Peki transfer öğrenme nedir?

Transfer öğrenme, eldeki bir problemi çözmek için benzer bir görevden elde edilen bilgiyi kullanmak anlamına gelir. Pratikte, ağırlıkların rastgele başlatılmasından başlamak yerine, benzer bir görevden öğrenilen derin sinir ağı ağırlıklarını başlatma olarak kullanmak ve ardından eldeki görevi çözmek için modeli mevcut etiketli veriler üzerinde daha fazla eğitmek anlamına gelir.

Transfer öğrenimi, modelleri birkaç bin örnek kadar küçük veri kümeleri üzerinde eğitmemizi sağlar ve çok iyi bir performans sağlayabilir. Önceden eğitilmiş modellerden transfer öğrenimi üç şekilde gerçekleştirilebilir:

1. Özellik Çıkarma

Genellikle, sinir ağının son katmanları, genellikle diğer görevlere kolayca aktarılamayan en soyut ve göreve özgü hesaplamaları yapıyor. Buna karşılık, ağın ilk katmanları, görevler arasında kolayca aktarılabilen kenarlar ve ortak şekiller gibi bazı temel özellikleri öğrenir.

Aşağıdaki görüntü kümeleri, bir evrişimsel sinir ağındaki (CNN) farklı seviyelerdeki evrişim çekirdeklerinin esasen ne öğrendiğini gösterir. İlk katmanların temel şekilleri öğrendiği ve aşamalı olarak daha yüksek katmanların daha karmaşık anlamsal kavramları öğrendiği hiyerarşik bir temsil görüyoruz.

Hiyerarşik gösterim: ilk katmanlar ve daha yüksek katmanlar

Yaygın bir uygulama, büyük etiketli görüntü veri kümeleri (ImageNet gibi) üzerinde önceden eğitilmiş bir model almak ve sonunda tamamen bağlı katmanları kesmektir. Yeni, tamamen bağlı katmanlar daha sonra gerekli sınıf sayısına göre eklenir ve yapılandırılır. Aktarılan katmanlar dondurulur ve yeni katmanlar, göreviniz için mevcut etiketli veriler üzerinde eğitilir.

Bu kurulumda, önceden eğitilmiş model bir özellik çıkarıcı olarak kullanılıyor ve üstteki tam bağlantılı katmanlar sığ bir sınıflandırıcı olarak kabul edilebilir. Eğitilebilir parametrelerin sayısı nispeten küçük olduğundan, bu kurulum fazla uydurmadan daha sağlamdır, bu nedenle mevcut etiketli veriler çok az olduğunda bu yapılandırma iyi çalışır. Hangi boyuttaki veri kümesinin çok küçük bir veri kümesi olarak nitelendirildiği, genellikle, eldeki sorun ve model omurgasının boyutu da dahil olmak üzere birçok açıdan ele alınması zor bir sorundur. Kabaca söylemek gerekirse, bu stratejiyi birkaç bin görüntüden oluşan bir veri kümesi için kullanırdım.

2. İnce ayar

Alternatif olarak, önceden eğitilmiş bir ağdan katmanları aktarabilir ve tüm ağı mevcut etiketli veriler üzerinde eğitebiliriz. Tüm ağı ve dolayısıyla çok sayıda parametreyi eğittiğiniz için bu kurulum biraz daha etiketli verilere ihtiyaç duyar. Bu kurulum, veri kıtlığı olduğunda fazla takmaya daha yatkındır.

3. İki Aşamalı Transfer Öğrenimi

Bu yaklaşım benim kişisel favorimdir ve en azından benim deneyimlerime göre genellikle en iyi sonuçları verir. Burada, tüm ağa ince ayar yapmadan önce aktarılan katmanları birkaç dönem dondururken yeni eklenen katmanları eğitiyoruz.

Son katmanlara birkaç dönem vermeden tüm ağın ince ayarını yapmak, rastgele başlatılan katmanlardan temel ağa zararlı gradyanların yayılmasına neden olabilir. Ayrıca, ince ayar nispeten daha küçük bir öğrenme oranı gerektirir ve iki aşamalı bir yaklaşım bunun için uygun bir çözümdür.

Yarı Denetimli ve Denetimsiz Yöntemlere İhtiyaç

Bu genellikle çoğu görüntü sınıflandırma görevi için çok iyi çalışır çünkü ImageNet gibi olası görüntü alanının büyük bir bölümünü kapsayan devasa görüntü veri kümelerimiz vardır ve genellikle ondan öğrenilen ağırlıklar özel görüntü sınıflandırma görevlerine aktarılabilir. Ayrıca, önceden eğitilmiş ağlar kullanıma hazırdır ve böylece süreci kolaylaştırır.

Ancak, görevinizdeki görüntülerin dağılımı, temel ağın eğitim aldığı görüntülerden büyük ölçüde farklıysa, bu yaklaşım iyi çalışmayacaktır. Örneğin, bir tıbbi görüntüleme cihazı tarafından oluşturulan gri tonlamalı görüntülerle uğraşıyorsanız, ImageNet ağırlıklarından aktarım öğrenimi o kadar etkili olmayacaktır ve ağınızı tatmin edici bir performans için eğitmek için birkaç binden fazla etiketli görüntüye ihtiyacınız olacaktır.

Buna karşılık, sorununuz için büyük miktarda etiketlenmemiş veri kümesine erişiminiz olabilir. Bu nedenle etiketlenmemiş veri kümelerinden öğrenme yeteneği çok önemlidir. Ek olarak, etiketlenmemiş veri kümesi, genellikle en büyük etiketli veri kümelerinden bile çeşitlilik ve hacim bakımından çok daha fazladır.

Yarı denetimli yaklaşımların, ImageNet gibi büyük kıyaslamalarda denetimli yaklaşımlara göre üstün performans sağladığını göstermiştir. Yann LeCun'un ünlü pasta benzetmesi, denetimsiz öğrenmenin önemini vurgulamaktadır:

Yann LeCun'un pasta benzetmesi

Yarı denetimli Öğrenme

Bu yaklaşım, öğrenme için hem etiketli hem de etiketsiz verileri kullanır, bu nedenle yarı denetimli öğrenme olarak adlandırılır. Bu genellikle, az miktarda etiketlenmiş veriye ve büyük miktarda etiketlenmemiş veriye sahip olduğunuzda tercih edilen yaklaşımdır. Etiketlenmiş ve etiketlenmemiş verilerden aynı anda öğrenebileceğiniz teknikler vardır, ancak sorunu iki aşamalı bir yaklaşım bağlamında tartışacağız: etiketlenmemiş veriler üzerinde denetimsiz öğrenme ve sınıflandırma görevinizi çözmek için yukarıda açıklanan stratejilerden birini kullanarak öğrenmeyi aktarma .

Bu durumlarda, denetimsiz öğrenme oldukça kafa karıştırıcı bir terimdir. Bu yaklaşımlar, ağırlıkların öğrenilmesine rehberlik eden bir denetim sinyali olduğu anlamında gerçekten denetimsiz değildir, ancak bu nedenle denetim sinyali, verilerin kendisinden türetilir. Bu nedenle, bazen kendi kendine denetimli öğrenme olarak anılır, ancak bu terimler literatürde aynı yaklaşıma atıfta bulunmak için birbirinin yerine kullanılmıştır.

Kendi kendini denetleyen öğrenmedeki başlıca teknikler, aşağıda tartışıldığı gibi, verilerden bu denetim sinyalini nasıl oluşturduklarına göre bölünebilir.

Üretken Yöntemler

Üretken Yöntemler - Otomatik Kodlayıcılar: kodlayıcı ve kod çözücü ağları

Üretken yöntemler, verilerin bir darboğazdan geçtikten sonra doğru bir şekilde yeniden oluşturulmasını amaçlar. Bu tür ağlara bir örnek, otomatik kodlayıcılardır. Bir kodlayıcı ağı kullanarak girdiyi düşük boyutlu bir temsil alanına indirgerler ve kod çözücü ağı kullanarak görüntüyü yeniden yapılandırırlar.

Bu kurulumda, girişin kendisi ağın eğitilmesi için denetim sinyali (etiket) haline gelir. Kodlayıcı ağı daha sonra çıkarılabilir ve yukarıdaki bölümde tartışılan aktarım öğrenme tekniklerinden biri kullanılarak sınıflandırıcınızı oluşturmak için bir başlangıç ​​noktası olarak kullanılabilir.

Benzer şekilde, üretici ağların başka bir biçimi - Üretken Çelişki Ağları (GAN'lar) - etiketlenmemiş veriler üzerinde ön eğitim için kullanılabilir. Ardından, bir ayrımcı benimsenebilir ve sınıflandırma görevi için daha fazla ince ayar yapılabilir.

Ayrımcı Yöntemler

Ayırt edici yaklaşımlar, yardımcı bir sınıflandırma görevini öğrenmek için bir sinir ağını eğitir. Bir yardımcı görev, denetim sinyalinin insan açıklaması olmadan verinin kendisinden türetilebileceği şekilde seçilir.

Bu tür görevlere örnek olarak görüntü yamalarının göreli konumlarını öğrenmek, gri tonlamalı görüntüleri renklendirmek veya görüntülere uygulanan geometrik dönüşümleri öğrenmek verilebilir. Bunlardan ikisini daha ayrıntılı olarak tartışacağız.

Görüntü Yamalarının Göreli Konumlarını Öğrenme

Görüntü Yamalarının Göreli Konumlarını Öğrenme

Bu teknikte, yapboz benzeri bir ızgara oluşturmak için görüntü yamaları kaynak görüntüden çıkarılır. Yol konumları karıştırılır ve karışık girdi, ızgaradaki her bir yamanın konumunu doğru bir şekilde tahmin etmek için eğitilmiş ağa beslenir. Bu nedenle, denetim sinyali, ızgaradaki her yolun gerçek konumudur.

Bunu yapmayı öğrenirken, ağ, nesnelerin göreceli yapısını ve yönünü ve ayrıca renk gibi düşük seviyeli görsel özelliklerin sürekliliğini öğrenir. Sonuçlar, bu yap-bozu çözerek öğrenilen özelliklerin, görüntü sınıflandırma ve nesne algılama gibi görevlere yüksek oranda aktarılabilir olduğunu göstermektedir.

Görüntülere Uygulanan Geometrik Dönüşümleri Öğrenmek

Görüntülere Uygulanan Geometrik Dönüşümleri Öğrenmek

Bu yaklaşımlar, girdi görüntülerine küçük bir geometrik dönüşüm kümesi uygular ve yalnızca dönüştürülmüş görüntüye bakarak uygulanan dönüşümü tahmin etmek için bir sınıflandırıcıyı eğitir. Bu yaklaşımların bir örneği, bir dizi döndürülmüş görüntü elde etmek için etiketlenmemiş görüntülere 2B döndürme uygulamak ve ardından ağı her görüntünün dönüşünü tahmin edecek şekilde eğitmektir.

Bu basit denetim sinyali, ağı bir görüntüdeki nesneleri yerelleştirmeyi ve yönelimlerini anlamayı öğrenmeye zorlar. Bu yaklaşımlar tarafından öğrenilen özelliklerin oldukça aktarılabilir olduğu ve yarı denetimli ortamlarda sınıflandırma görevleri için son teknoloji ürünü performans sağladığı kanıtlanmıştır.

Benzerlik Temelli Yaklaşımlar

Bu yaklaşımlar, görüntüleri, benzer görüntülerin birbirine daha yakın olduğu ve farklı görüntülerin daha uzak olduğu sabit boyutlu bir temsil alanına yansıtır. Bunu başarmanın bir yolu, anlamsal olarak benzer görüntüler arasındaki mesafeyi en aza indiren üçlü kaybına dayalı siyam ağlarını kullanmaktır. Üçlü kayıp bir çapaya, bir pozitif örneğe ve bir negatif örneğe ihtiyaç duyar ve örtük uzayda Öklid mesafesi açısından pozitifi çapaya negatiften daha yakın hale getirmeye çalışır. Çapa ve pozitif aynı sınıftandır ve negatif örnek kalan sınıflardan rastgele seçilir.

Etiketlenmemiş verilerde, görüntülerin sınıflarını bilmeden bu üçlü çapa olumlu ve olumsuz örneklerini üretmek için bir strateji bulmamız gerekiyor. Bunu yapmanın bir yolu, pozitif bir örnek olarak bağlantı görüntüsünün rastgele bir afin dönüşümünü kullanmak ve negatif bir örnek olarak rastgele başka bir görüntüyü seçmektir.

üçlü kayıp

Deney

Bu bölümde, görüntü sınıflandırması için denetimsiz ön eğitimin potansiyelini ampirik olarak belirleyen bir deneyi anlatacağım. Bu, geçen bahar NYU'da Yann LeCun ile birlikte aldığım Derin Öğrenme dersi için dönem projemdi.

  • Veri kümesi . Yarısı eğitim, diğer yarısı doğrulama için olmak üzere 128K etiketli örneklerden oluşmaktadır. Ayrıca, 512K etiketsiz görüntü sağlıyoruz. Veriler toplamda 1.000 sınıf içerir.
  • Denetimsiz ön eğitim . AlexNet, 63 dönem için kapsamlı veri büyütme kullanılarak rotasyon sınıflandırması için eğitildi. Rotnet tarafından belgelenen hiperparametreleri makalelerinde kullandık.
  • Sınıflandırıcı eğitimi . Dördüncü evrişim katmanından öznitelikler çıkarıldı ve ona tam bağlantılı üç katman eklendi. Bu katmanlar rastgele başlatıldı ve planlı bir azalan öğrenme oranı ile eğitildi ve eğitimi durdurmak için erken durdurma uygulandı.
  • Tüm ağ ince ayarı . Sonunda, tüm etiketlenmiş veriler üzerinde eğitilmiş ağda ince ayar yaptık. Daha önce ayrı ayrı eğitilmiş olan hem özellik çıkarıcı hem de sınıflandırıcı, 15 dönemlik küçük bir öğrenme oranı ile birlikte ince ayar yapılmıştır.

Her biri sınıf başına farklı sayıda etiketli eğitim örneği kullanan yedi modeli eğittik. Bu, eğitim verilerinin boyutunun yarı denetimli kurulumumuzun performansını nasıl etkilediğini anlamak için yapıldı.

Deney

Rotasyon sınıflandırması ile ilgili ön eğitim için %82 ​​doğruluk oranı elde edebildik. Sınıflandırıcı eğitimi için, en yüksek %5 doğruluk %46,24 değerine doymuş ve tüm ağın ince ayarı %50,17'lik son rakamı verdi. Ön eğitimden yararlanarak, %40 en iyi 5 doğruluk sağlayan denetimli eğitimden daha iyi performans elde ettik.

Beklendiği gibi, etiketlenmiş eğitim verilerindeki azalma ile doğrulama doğruluğu azalır. Bununla birlikte, performanstaki düşüş, denetlenen bir ortamda beklendiği kadar önemli değildir. Eğitim verilerinde sınıf başına 64 örnekten sınıf başına 32 örneğe %50'lik bir düşüş, doğrulama doğruluğunda yalnızca %15'lik bir düşüşe neden olur.

Deney

Yarı denetimli modelimiz, sınıf başına yalnızca 32 örnek kullanarak, sınıf başına 64 örnek kullanılarak eğitilen denetimli modele göre üstün performans elde eder. Bu, düşük kaynak etiketli veri kümelerinde görüntü sınıflandırması için yarı denetimli yaklaşımların potansiyeline dair ampirik kanıtlar sağlar.

Toplama

Denetimsiz öğrenmenin, düşük kaynaklı veri kümeleri için performansı artırma yeteneğine sahip güçlü bir paradigma olduğu sonucuna varabiliriz. Denetimsiz öğrenme şu anda emekleme aşamasındadır, ancak ucuz ve kolay erişilebilir etiketlenmemiş verilerden öğrenmeyi sağlayarak bilgisayarlı görme alanındaki payını kademeli olarak artıracaktır.


Toptal Mühendislik Blogunda Daha Fazla Okuma:

  • Python/NetworkX ile Grafik Veri Bilimi