İçeriğe geç

10.1 · Seviye 2 · Sinir Ağları ve Derin Öğrenme

Evrişim

küçük filtrelerin görüntüde kenar ve doku bulması

Yapay Zekâ Akademisi — M10, Makine Görüşü · 2.573 kelime · 3 saha durumu · ≈ 12 dk okuma · 17 dk dinleme

Saha durumlarındaki kişiler ve kurumlar kurgusaldır; kaynaklar gerçektir. Belirli ürün ve modeller hakkındaki gözlemler yazıldıkları tarihte geçerlidir ve «Tarihli gözlem» etiketiyle yılı belirtilerek verilir. Yapay zekâ çıktıları doğrulanmadan karar dayanağı yapılmaz; dersler hukuki, tıbbi ya da mali danışmanlığın yerini tutmaz.

Açılış

Tedarikçinin mühendisi, ikinci kameranın küçük ağındaki ilk katmanı tek bir sayfaya dökmüştü. Sayfada otuz iki küçük kare vardı, her karede üç satır, üç sütun, toplam dokuz sayı. Bütün katman bu kadardı.

O gün fabrikaya uğrayan Hikmet Usta sayfayı Murat Bey'in elinden aldı ve bir kareyi parmağıyla gösterdi. Sol sütunda üç tane eksi bir, ortada üç sıfır, sağda üç artı bir. "Bizim eski kamera kutunun kenarındaki bir şeride bakardı," dedi. "Şeridin yerini de ben ayarlardım. Bu dokuz sayı kutunun neresine bakıyor?"

"Belli bir yerine değil," dedi mühendis. "Aynı dokuz sayı fotoğrafın her köşesinde dolaşıyor."

Tuncay Bey hesap yaptı. "Fotoğrafta yüz binlerce piksel var. Dokuz sayıyla bunun neresini görürsünüz?"

Murat Bey'in aklı başka bir yerdeydi. Ezik bazen kutunun köşesinde olurdu, bazen kapağın ortasında. Bazı tasarımların yaldızlı baskısında ise ezik çizgisine benzeyen bir sürü ince çizgi vardı. Aynı dokuz sayı köşedeki eziği de ortadakini de nasıl yakalıyordu, baskının çizgisini neden ezik saymıyordu? Saydığı oluyor muydu?

Tek fikir

Evrişim, küçük bir sayı ızgarasını görüntünün her yerinde gezdirip her konumda aynı ağırlıklı toplamı alır. Filtrenin ağırlıkları eğitimle öğrenilir; aynı filtre her yerde aynı deseni, kenarı ya da dokuyu arar.

Nasıl çalışır

Ders 8.3'te katmanları tam bağlı kurduk: bir birim, önceki katmanın bütün çıktılarını kendi ağırlıklarıyla toplar. Bir fotoğrafa bu kuruluşla yaklaşınca ağırlık sayısı hızla büyür; daha derindeki sorun, tam bağlı birimin pikselleri bir liste gibi görmesidir; hangi pikselin hangisinin komşusu olduğunu bilmez. Pikselleri karıştırıp hep aynı sırayla verseniz eğitim aynı yürür. Oysa bir fotoğrafta anlam komşulukta durur: kenar, iki komşu pikselin birbirinden farklı olduğu yerdir.

Elle bir örnek yapalım. Beşe beş piksellik gri tonlu bir fotoğraf parçası düşün. Sayılar parlaklıktır, küçük sayı koyu demektir. Her satırda soldan sağa iki, iki, iki, sekiz, sekiz yazıyor: sol üç sütun koyu baskı, sağ iki sütun açık karton. Açılıştaki filtreyi kullanalım: sol sütunu eksi bir, ortası sıfır, sağ sütunu artı bir.

Sol üst köşede pencerede yalnız ikiler vardır; sol sütunun eksi altısı sağ sütunun artı altısını götürür. Bir sütun sağda pencerenin solu iki, sağı sekizdir: eksi altı artı yirmi dört, on sekiz. Filtre parçaya yatayda da dikeyde de üç konumda sığar; satırlar aynı olduğu için her satır aynı sonucu verir.

Filtrenin konumuSol sütunSağ sütunToplam
1. sütun2 2 22 2 20
2. sütun2 2 28 8 818
3. sütun2 2 28 8 818

Sonuç üçe üçlük yeni bir ızgaradır: her satırı sıfır, on sekiz, on sekiz. Düz bölgede sıfır, koyudan açığa geçişin üstünde büyük bir sayı. Filtre dikey bir kenarı buldu.

Aynı parçayı bu filtrenin yan yatırılmışıyla, yani üst satırı eksi bir, alt satırı artı bir olan filtreyle tararsan haritanın dokuz hücresi de sıfır çıkar; parçada yatay bir geçiş yoktur. Filtre yalnız bir şekli değil bir yönü de arar. Koyu ile açığın yeri değişirse, yani karton solda baskı sağdaysa, dikey filtre on sekiz yerine eksi on sekiz verir; arkasından gelen ReLU, Ders 8.2'deki gibi, eksiyi sıfırlar. Açıktan koyuya geçişi görmek için ayrı bir filtre gerekir. Mühendisin sayfasındaki otuz iki karenin bir bölümü bu yüzden birbirinin aynadaki görüntüsüne benzer.

Şimdi koyu bölgeyi bir sütun sağa kaydır: her satır iki, iki, iki, iki, sekiz olsun. Harita sıfır, sıfır, on sekiz olur. Kenar bir piksel kaydı, haritadaki cevap da bir hücre kaydı; başka hiçbir şey değişmedi. Murat Bey'in sorusunun ilk yarısının cevabı burada: köşedeki ezik ile ortadaki ezik aynı filtreden geçer, yalnız haritada farklı hücrelerde parlar.

Tuncay Bey'in sorusu ağırlık sayısıyla ilgiliydi. Yüze yüz piksellik gri bir fotoğrafa üçe üçlük bir filtre uygulayınca doksan sekize doksan sekizlik, yani dokuz bin altı yüz dört hücrelik bir harita çıkar. Aynı sayıda çıktıyı tam bağlı bir katmanla üretmek için her çıktı biriminin on bin pikselin hepsine ağırlık vermesi gerekir: sapmalarla birlikte doksan altı milyon kırk dokuz bin altı yüz dört sayı. Her birimi yalnız kendi üçe üç penceresine bağlarsan sayı doksan altı bin kırka iner. Bütün birimlerin aynı dokuz ağırlığı ve aynı sapmayı paylaşmasını şart koşarsan geriye on sayı kalır. Otuz iki filtreli bir katman üç yüz yirmi sayı taşır. Renkli fotoğrafta filtre üç renk kanalına birden bakar ve yirmi yedi ağırlık alır.

Yerel pencerenin ve paylaşılan ağırlığın gerekçesi otuz yıla yakın önce yazıldı.

Bir kenarın tam yeri çoğu zaman önemsizdir; yaklaşık yeri yeter.

Altı sütunluk bir karton satırı düşün: her piksel sekiz, yalnız bir sütunda iki, ezik çizgisi. Dikey filtreden ve ReLU'dan sonra harita dört hücreliktir ve çizginin sağındaki geçişte on sekiz verir. Haritayı ikişerli bloklara bölüp her bloğun en büyüğünü alalım. Çizgi üçüncü sütundaysa harita sıfır, sıfır, on sekiz, sıfır olur ve havuzlama sıfır, on sekiz bırakır. Çizgi dördüncü sütuna kaysa harita sıfır, sıfır, sıfır, on sekiz olur; havuzlama yine sıfır, on sekiz. Çizgi ikinci sütuna gelince on sekiz soldaki bloğa geçer. Bir piksellik kayma görünmez oldu, bir bloktan ötekine geçiş görünür kaldı.

Evrişim katmanları üst üste konunca her katman öncekinin haritalarını girdi alır. İkinci bir üçe üç katmanın bir hücresi, ilk katmanın üçe üç hücresine bakar; o hücreler de fotoğrafta beşe beşlik bir bölgeyi görmüştür. Üçüncü katmanda bölge yediye yedi olur, havuzlama araya girdikçe daha hızlı büyür. Kenar haritalarını birleştiren bir filtre aynı yönde tekrarlanan kenarlara tepki verir; doku, kısa kenarların bir bölge boyunca düzenli tekrarıdır. Ders 8.3'te mühendisin sayfalarında gördüğümüz kenardan köşeye, köşeden kapağa giden sıradüzen bu üst üste binen pencerelerle kurulur.

Sahada

Nerede yanılır

Filtre bir deseni arar, o desenin ne olduğunu bilmez. Dikey kenar filtresi bir eziğin gölgesine de, bir baskının yaldızlı çizgisine de, bandın iki parçasının birleştiği yere de aynı sayıyla cevap verir. Ezik ile baskıyı ayıracak olan sonraki katmanlardır ve onlar da yalnız eğitim fotoğraflarında bu ikisini ayıran bir ipucu gördüyse ayırır. Yeni bir tasarımın baskısı eziğe benziyorsa ağ ilk günden yanlış ret verebilir.

Ağın neye baktığı da ayrı bir sorudur. Ders 6.5'te tedarikçinin ezikleri beyaz masada, sağlamları gri bantta çektiği için kameranın zemini öğrendiğini görmüştük. Evrişimli ağ için zemin de bir dokudur ve filtreler onu en az ezik kadar kolay bulur.

Ağın gerçekten eziğe bakıp bakmadığı denetlenebilir. Zeiler ve Fergus, Ders 8.3'te andığımız çalışmada, fotoğrafın bir bölümünü gri bir kareyle örtüp kareyi adım adım kaydırmış ve her konumda doğru sınıfın olasılığını izlemişlerdi.

Bir uyarı daha: havuzlama küçük kaymaları yutar ama bunun bedeli konum bilgisidir. Ezik var mı sorusu için iyi bir takastır; eziğin kaç milimetre olduğu sorusu için değil. Ders 3.1'de teknisyenlerin köşe eziğine koyduğu milimetre sınırı, havuzlanmış bir haritadan doğrudan okunamaz.

Uygulama

Kâğıt kalemle bir öznitelik haritası çıkaracaksın; bütün sayılar adımlarda.

  1. Kareli kâğıda beşe beş bir ızgara çiz. Her satıra soldan sağa iki, iki, iki, sekiz, sekiz yaz.
  2. Ayrı bir köşeye üçe üç filtreyi yaz: her satırda eksi bir, sıfır, artı bir.
  3. Filtreyi ızgaranın sol üst köşesine koy. Üst üste gelen dokuz sayıyı çarp, dokuz çarpımı topla ve sonucu yeni bir üçe üç ızgaranın sol üst hücresine yaz.
  4. Filtreyi bir sütun sağa kaydırıp aynı işi yap; satır bitince bir satır aşağı inip soldan başla. Dokuz hücreyi doldur.
  5. Parçayı değiştir: her satır iki, iki, iki, iki, sekiz olsun. Haritayı yeniden çıkar ve ilk haritayla karşılaştır.
  6. Filtreyi yan yatır: üst satır eksi bir, orta satır sıfır, alt satır artı bir. İlk parçaya uygula.
  7. Son olarak ilk parçada koyu ile açığın yerini değiştir, her satır sekiz, sekiz, sekiz, iki, iki olsun; dikey filtreyi uygula, sonra her eksi sayıyı sıfıra çevir.

Beşinci adımdan sonra kâğıda tek cümle yaz: kenar kayınca harita ne yaptı? Yedinci adımdan sonra da bir cümle: bu filtre hangi geçişi göremiyor ve onu görmek için nasıl bir filtre gerekir? Dördüncü adımda her satır sıfır, on sekiz, on sekiz olmalı; beşinci adımda sıfır, sıfır, on sekiz; altıncı adımda dokuz sıfır; yedinci adımda sıfır, eksi on sekiz, eksi on sekiz, sıfırlamadan sonra da yalnız sıfırlar.

Defter: "Dokuz sayı" sayfasına iki haritayı, yatay filtrenin boş haritasını ve sıfırlanan haritayı yan yana çiz. Altına, kendi gördüğün bir yüzeyde, bir parke ya da bir duvar örgüsünde dikey filtrenin nerelerde parlayacağını tahmin eden iki cümle yaz.

Hata köşesi

Yaygın yanlış"Filtreleri bir mühendis tasarlıyor; kenar filtresini birisi elle yazmış."
Doğrusu

Dersteki filtreyi biz elle yazdık ki hesap izlenebilsin. Ağın içindeki filtreler eğitimin başında rastgele sayılardır ve Ders 8.4'teki geri yayılımla değişir. Mühendisin sayfasındaki kareler o biçimi eğitimde almıştır.

Yaygın yanlış"Evrişimli ağ her türlü veride daha az parametreyle daha iyi sonuç verir."
Doğrusu

Az parametre, komşu girdilerin birbiriyle ilgili olduğu ve aynı desenin her yerde aynı anlama geldiği varsayımından gelir. Fotoğrafta, seste ve zamana dizili ölçümlerde bu varsayım çoğunlukla tutar; Melis'in tablosunda olduğu gibi sırası keyfî sütunlarda tutmaz.

Sorumluluk

Filtreleri kimse seçmedi ama sonuçlarına herkes katlanır. Ağın eziğe mi, baskıya mı, zemine mi baktığını tedarikçinin kendi raporundan öğrenmek yetmez. Murat Bey'in ekibi sözleşme ekine bir örtme denetimi ekler: kilitli klasörden seçilen ezik fotoğraflarında ezik gri bir kareyle örtülünce ret olasılığı düşmeli, ezik dışındaki bir bölge örtülünce düşmemeli. Denetimi tedarikçi koşturur, hangi fotoğrafların seçileceğine ve sonucun kabul edilip edilmediğine Aynur Hanım'ın ekibi karar verir. Yeni bir tasarım banda girince denetim o tasarımın fotoğraflarıyla tekrarlanır. Yanlış filtrenin bedelini sağlam kutusu atılan müşteri de, eziği kaçan müşteri de öder.

Kapanış

  1. Evrişim, küçük bir filtreyi görüntünün her konumunda gezdirip aynı ağırlıklı toplamı alır; sonuç, filtrenin aradığı desenin nerede güçlü olduğunu gösteren bir öznitelik haritasıdır ve desen kayınca harita da aynı miktar kayar.
  2. Yerel pencere ve paylaşılan ağırlık, yüze yüz piksellik bir fotoğraf için doksan altı milyonu aşan parametreyi on sayıya indirir; bunun dayanağı, komşu piksellerin ilişkili olduğu ve aynı desenin her yerde aynı anlama geldiği varsayımıdır.
  3. Havuzlama küçük kaymaları yutar ve konum bilgisini kabalaştırır; üst üste binen katmanlar kenardan dokuya ve parçalara giden sıradüzeni kurar, ama ağın neye baktığı ancak örtme gibi bir denetimle öğrenilir.

Üç soru

  1. Hikmet Usta'nın sorusuna dön: dokuz sayılık bir filtre neden kutunun belli bir yerine bakmaz, ve bu Murat Bey'in köşedeki ve ortadaki ezik sorusunu nasıl cevaplar?
  2. Dersteki beşe beşlik parçada koyu ile açığın yeri değişince dikey filtre neden eksi on sekiz verdi ve ReLU'dan sonra bu kenar neden kayboldu?
  3. Cevdet Bey'in sistemi boru eklemlerini neden çatlak sandı ve ekibin çözümü hangi katmanların işine dokundu?

Yanıtlar

  1. Evrişimde aynı filtre görüntünün bütün konumlarında aynı ağırlıklarla çarpıp toplar. Filtre belli bir yere bağlı olmadığı için köşedeki ezik de ortadaki ezik de aynı filtreden geçer; ikisi öznitelik haritasında farklı hücrelerde parlar.
  2. Filtrenin sol sütunu eksi bir, sağ sütunu artı birdir; solda açık, sağda koyu piksel olunca sağdan gelen küçük sayı ile soldan gelen büyük sayının farkı eksidir: üç satırda altı eksi yirmi dört, eksi on sekiz. ReLU eksi sayıları sıfırladığı için açıktan koyuya geçiş bu filtreden sonra görünmez; onu görmek için sütunları ters işaretli ayrı bir filtre gerekir.
  3. Filtreler koyu, ince, uzun bir çizgiye cevap verir ve eklem yeri de böyle bir çizgidir; ilk katmanlar ikisini ayırmaz. Eklemleri ayrı sınıf olarak etiketlemek, sonraki katmanlara ve son karara bu ayrımı öğretecek örnekleri verdi.

Sonraki derse köprü

Evrişim bir fotoğrafı öznitelik haritalarına çevirir; o haritalardan "bu kutu ezik" ya da "bu fotoğrafta bir kedi var" diyen tek bir etikete nasıl varılır? Ders 10.2, Görüntü sınıflandırma, etiketten piksele giden yolu ve büyük bir etiketli fotoğraf setinin bugün de kullanılan alışkanlıklar bıraktığını ele alıyor: tek etiket neyi kaçırır ve bir yarışma için toplanmış fotoğraflar bir fabrikanın sorusuna ne kadar benzer?

Anlamadığın bir yer mi var?

Mentor yalnız bu dersin metnine dayanarak cevap verir. Metinde geçmeyen bir şey sorarsan uydurmaz, geçmediğini söyler.