8.2 · Seviye 2 · Sinir Ağları ve Derin Öğrenme
Aktivasyon fonksiyonları
doğrusal olmayanlığın neden şart olduğu
Yapay Zekâ Akademisi — M08, Yapay Nöron · 2.594 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ış
Mayıs ortasında bir çarşamba, Zeynep Hanım sınıfa önceki haftanın nöron çizimini geri getirdi ve altına dört satırlık bir tablo ekledi: girdilerden yalnız biri bir ise cevap bir, ikisi aynıysa sıfır. Tek bir yapay nöronun bu tabloyu hiçbir ağırlıkla öğrenemediğini derste birlikte görmüşlerdi. Bu kez soru şuydu: birden fazla nöronla olur mu?
Doruk kalemi aldı. "Bir nöron yetmiyorsa ikincisini arkasına koyarım." Birinci nöronu yazdı: birinci girdinin iki katı, ikinci girdinin üç katı, eksi bir. Bu toplamı hiç kesmeden ikinci nörona verdi. İkinci nöron gelen sayının dört katını alıp iki çıkarıyor, sonucu sıfırda kesiyordu. Dört satırı hesapladı: sıfır, bir, bir, bir. Son satır yanlıştı.
Sayıları iki kez değiştirdi; her seferinde en az bir satır yanlış kaldı. Mert omzunun üstünden bakıyordu. "Senin iki nöronun aslında tek nöron," dedi. "Dört kere iki sekiz, dört kere üç on iki, dört kere eksi bir eksi dört, eksi iki daha eksi altı. Arkadaki nöronu silsen, öndekine sekiz, on iki, eksi altı yazsan aynı şeyi bulursun."
Doruk bu kez öne iki nöron koydu, ikisini de kesmeden arkadakine bağladı. Dört satırın dördünde de çıktı toplamı aynı sayıya, artı sıfır virgül beşe geldi. Ağ her satıra bir diyordu.
Elçin kâğıdı kendine çevirdi, öndeki iki nöronun arkasına birer kesme çizdi: toplam sıfırdan büyükse bir, değilse sıfır yaz, sonra aktar. Ağırlıklara dokunmadı. Dört satır yeniden hesaplandı: sıfır, bir, bir, sıfır.
Doruk kâğıda uzun uzun baktı. "Ama kesme hiçbir şey eklemiyor ki. Sadece sayının bir kısmını siliyor. Silmek nasıl işe yarıyor?"
Tek fikir
Ağırlıklı toplamları arka arkaya bağlamak yine tek bir ağırlıklı toplam verir; nöron sayısı ne olursa olsun sınır düz kalır. Toplamdan sonra eğilen bir fonksiyon bu çöküşü önler ve nöronları dizmek ancak o zaman yeni bir şey hesaplar.
Nasıl çalışır
Ders 8.1'de yapay nöronun toplamdan sonra yaptığı tek işi gördük: algılayıcı toplamı sıfırda kesiyordu. Ders 5.2'deki lojistik regresyon aynı yerde toplamı S biçimli bir eğriden geçiriyordu. Bu adımın genel bir adı var.
Doruk'un ilk denemesinde birinci nöron girdileri çarpıp topluyor ve bir sabit ekliyor, ikinci nöron bu sonucu yine çarpıp bir sabit ekliyor. Çarpıp toplamanın sonucunu tekrar çarpıp toplamak, girdileri başka sayılarla bir kez çarpıp toplamaktan farksızdır. Mert'in hesabı bunu gösteriyordu: iki, üç ve eksi birlik nöronun ardına dört kat alıp iki çıkaran nöron gelince, toplu hâli sekiz, on iki ve eksi altılık tek bir nöron oldu. Dört satırda iki zincirin sonucu aynıdır: eksi altı, altı, iki ve on dört.
İkinci denemedeki iki ön nöron aynı toplamı hesaplıyordu, yalnız sabitleri farklıydı: eksi sıfır virgül beş ve eksi bir virgül beş. Arkadaki nöron birinciden ikinciyi çıkarınca girdiler birbirini götürdü ve her satırda aynı artı sıfır virgül beş kaldı.
Elçin'in kesmesi bu zinciri koparıyor. Öndeki birinci nöron artık "en az biri bir mi?" sorusuna sıfır ya da bir diyor; Ders 8.1'in VEYA tablosu. İkinci nöron yalnız iki girdi birden bir olduğunda bir diyor; VE tablosu. Sıfır sıfır satırında ikisi de sıfırdır ve arkadaki nöronun toplamı eksi sıfır virgül beş kalır. Sıfır bir ile bir sıfır satırlarında yalnız VEYA nöronu ateşlenir, toplam artı sıfır virgül beştir. Bir bir satırında ikisi birden ateşlenir, artı bir ile eksi bir birbirini götürür, toplam yine eksi sıfır virgül beştir. Kesme bilgiyi körlemesine silmiyor; iki nöronun cevabını, artık tek bir toplamda birleştirilemeyen iki ayrı soruya dönüştürüyor.
Toplamdan sonra eğilmenin birden fazla yolu var. Basamak fonksiyonu algılayıcının kesmesidir: sıfırın altı sıfır, üstü bir. Lojistik fonksiyon aynı geçişi yumuşak bir S eğrisiyle yapar ve çıktısını sıfır ile bir arasında tutar.
| Toplam | Basamak | Lojistik | tanh | ReLU |
|---|---|---|---|---|
| −2 | 0 | 0,12 | −0,96 | 0 |
| −1 | 0 | 0,27 | −0,76 | 0 |
| 0 | 0 | 0,50 | 0 | 0 |
| 1 | 1 | 0,73 | 0,76 | 1 |
| 2 | 1 | 0,88 | 0,96 | 2 |
Basamak fonksiyonu bir ile iki arasında hiçbir fark görmez. Lojistik ve tanh görür, ama uçlara yaklaştıkça farkı sıkıştırır: lojistik fonksiyon beşe sıfır virgül dokuz yüz doksan üç, ona sıfır virgül dokuz yüz doksan dokuz verir. Toplam iki katına çıkmış, çıktı yüzde birden az değişmiştir. ReLU artı tarafta farkı olduğu gibi taşır, eksi tarafın hepsini sıfıra yazar.
Bu fonksiyonlarla YA DA tablosunun bir çözümü de bir ders kitabında adım adım yazılı.
Kitabın çözümü Elçin'inkinden farklı ağırlıklar kullanıyor. Kitaptaki iki ara nöron da girdileri toplar ve ReLU'dan geçer; birincinin sapması sıfır, ikincininki eksi birdir. Çıkış birinciyi alır, ikincinin iki katını çıkarır. Sıfır sıfır satırında ara nöronlar sıfır ve sıfır verir, çıkış sıfır. Sıfır bir ile bir sıfır satırlarında bir ve sıfır verirler, çıkış bir. Bir bir satırında iki ve bir verirler, çıkış iki eksi iki, yani sıfır. Dört satır doğru.
Elçin'in ağırlıkları ReLU ile çalışmaz. VEYA nöronu sıfır bir satırında sıfır virgül beş, VE nöronu sıfır verir; çıkış toplamı tam sıfıra düşer ve "sıfırdan büyükse bir" kuralında sıfır yazılır. Aynı ağırlıklar tanh ile yeniden çalışır: çıkış toplamları eksi sıfır virgül sıfır altı, sıfır virgül kırk iki, sıfır virgül kırk iki ve eksi sıfır virgül sıfır altıdır. Ağırlıklar ve aktivasyon birlikte seçilir; birini değiştiren ötekine yeniden bakar.
Ara nöronlarda ReLU kullanmak bugün yaygın bir tercih. Bu tercihin arkasında iki bin on civarında yayımlanan bir dizi ölçüm var.
Eğitimin bu farktan nasıl etkilendiği Ders 8.4'ün ve Modül 9'un işi. Sezgi düzeyinde: lojistik ve tanh uçlarda düzleştiği için oralarda toplamı biraz değiştirmek çıktıyı neredeyse hiç değiştirmez, ReLU'nun artı tarafında ise her değişiklik çıktıya aynen yansır.
Sahada
Nerede yanılır
ReLU'nun gücü sıfırın altını silmesindeyse zayıflığı da oradadır. Bir nöronun ağırlıkları ve sapması, eğitim verisindeki hiçbir örnekte toplamı sıfırın üstüne çıkaramayacak bir yere kayarsa, o nöron her girdiye sıfır der. Sonraki nöronlara hiçbir şey taşımaz; küçük bir ağırlık değişikliğine de tepki vermediği için eğitimdeki düzeltmeler onu oradan çıkaramaz. Uygulamacılar buna ölü birim der. Aynur Hanım'ın ikinci sorusu tam bunu soruyordu: bir birimin bazı fotoğraflarda sıfır vermesi olağandır, hepsinde sıfır vermesi bir israftır.
Lojistik ve tanh'ın sorunu tersten gelir. Toplam büyüdükçe çıktı neredeyse sabit kalır; toplam beşten ona çıkınca lojistik çıktı yüzde birden az değişiyordu. Ağırlıklar toplamları bu bölgeye taşırsa kayıp da neredeyse kıpırdamaz ve ağın o kısmı öğrenmeyi bırakmış gibi görünür.
Bir hata da seçim anında, hata mesajı vermeden olur. Çıkışın aktivasyonu cevabın aralığına uymazsa modelin ulaşamayacağı değerler kalır: lojistik çıkış bire ulaşamaz, ReLU çıkış eksi değer veremez. Melis'in modeli hiçbir uyarı göstermedi.
Selim'in durumu en sessizidir: aktivasyon hiç konmamıştır, kayıp düşer, sonuçlar mantıklı görünür, ama model tek bir ağırlıklı toplam hesaplar. Büyütülmüş model doğrusal bir modelden hiç ayrılmıyorsa ilk bakılacak yer katman tanımlarıdır.
Uygulama
Kâğıt, kalem ve tanh tuşu olan bir hesap makinesi yeter. Çıkışta kural hep aynı: toplam sıfırdan büyükse bir, değilse sıfır.
- Ders kitabının ağını kur: iki ara nöron da iki girdiyi toplar, birincinin sapması sıfır, ikincininki eksi bir; çıkış birinciyi alır, ikincinin iki katını çıkarır, sapması sıfır.
- Ara nöronlarda ReLU kullan. Dört satır için ara nöronların toplamını, ReLU çıktısını, çıkış toplamını ve cevabı bir çizelgeye yaz.
- Ara nöronlardan ReLU'yu kaldır ve toplamları olduğu gibi aktar. Dört satırın çıkış toplamını yeniden hesapla, sonra bu toplamı girdilerin tek bir ağırlıklı toplamı olarak yaz.
- Elçin'in ağırlıklarına geç: VEYA nöronu iki girdi artı eksi sıfır virgül beş, VE nöronu iki girdi artı eksi bir virgül beş, çıkış birinciden ikinciyi ve sıfır virgül beşi çıkarır. Ara nöronlarda ReLU ile dört satırı izle.
- Aynı ağırlıklarla ara nöronlarda tanh kullan; toplamları üç basamağa yuvarla.
- Dört çizelgenin her birinin altına tablonun çözülüp çözülmediğini yaz.
Sonuçlar şöyle olmalı. İkinci adımda ara çıktılar sıfır sıfır, bir sıfır, bir sıfır ve iki bir; çıkış toplamları sıfır, bir, bir, sıfır. Üçüncü adımda ikinci ara nöron eksi bir, sıfır, sıfır ve bir verir; çıkış toplamları iki, bir, bir ve sıfırdır. Bu da iki eksi birinci girdi eksi ikinci girdi demektir: tek bir toplam, ve çizdiği çizgi bir bir satırını ötekilerden ayırır. Cevaplar bir, bir, bir, sıfır olur; YA DA değil. Dördüncü adımda VEYA nöronu sıfır, sıfır virgül beş, sıfır virgül beş ve bir virgül beş, VE nöronu sıfır, sıfır, sıfır ve sıfır virgül beş verir; çıkış toplamları eksi sıfır virgül beş, sıfır, sıfır ve sıfır virgül beştir ve cevaplar sıfır, sıfır, sıfır, bir olur. Tablo çözülmez. Beşinci adımda çıkış toplamları eksi sıfır virgül sıfır elli yedi, sıfır virgül dört yüz yirmi dört, sıfır virgül dört yüz yirmi dört ve eksi sıfır virgül sıfır elli yedidir; tablo çözülür.
Defter: Dört çizelgeyi alt alta yapıştır ve her birinin yanına iki kelimeden birini yaz: düz ya da eğik. Dördüncü çizelgenin yanına bir cümle ekle: aktivasyon eğikti, tablo neden yine çözülmedi?
Hata köşesi
Yaygın yanlış"ReLU artı tarafta doğrusal olduğuna göre ReLU'lu bir ağ da doğrusaldır."
Doğrusallık bütün fonksiyon için geçerli olmalı. ReLU sıfırda kırılır ve hangi nöronun açık olduğu girdiye göre değişir; her girdi bölgesinde ağ başka bir doğrusal parçayı kullanır. Kırılma noktalarının birleşimi düz olmayan sınırlar çizer.
Yaygın yanlış"En iyi aktivasyon fonksiyonu ReLU'dur, başka bir şey kullanmaya gerek yok."
Ölçümler ara nöronlar için ReLU'yu destekliyor, ama çıkış nöronu cevabın aralığına göre seçilir: olasılık için lojistik, tutar için hiç aktivasyon ya da artı değerler için ReLU.
Sorumluluk
Aktivasyon fonksiyonu eğitimle öğrenilmez; onu ağı kuran kişi seçer ve bu karar modelin neyi temsil edebileceğini baştan sınırlar. Selim'in boş bıraktığı satır, "derin" diye sunulabilecek doğrusal bir model üretir. Modeli kuranın sorumluluğu, her katmanın aktivasyonunu kayda yazmak ve büyütülmüş modelin daha basit bir modelden gerçekten ayrıldığını doğrulamaktır. Çıkışın aralığını cevabın aralığına uydurmak da aynı kişinin işidir; Melis'in modeli bir hasar dosyasına sıfır virgül doksan dokuz lira yazsaydı, bedeli o dosyanın sahibi öderdi. Satıcının "doğrusal olmayan model" sözü bir kalite işareti değildir; alıcı ölçülmüş hatayı sorar.
Kapanış
- Aktivasyonsuz nöronlar ne kadar çok dizilirse dizilsin tek bir ağırlıklı toplama iner ve tek bir düz sınır çizer; YA DA tablosu bu yüzden aktivasyonsuz bir ağla çözülemez.
- Basamak, lojistik, tanh ve ReLU toplamı farklı biçimlerde büker; ara nöronlarda bugün ReLU yaygındır, çünkü artı tarafta farkları olduğu gibi taşır, hesabı ucuzdur ve çıktıların çoğu tam sıfırdır.
- Aktivasyon, ağırlıklarla birlikte ve cevabın aralığına göre seçilir; ölü birimler, uçlarda düzleşen eğriler ve boş bırakılan aktivasyon hata mesajı vermeden modelin gücünü kısar.
Üç soru
- Doruk "Kesme hiçbir şey eklemiyor, sadece siliyor" dedi. Silmek iki nöronlu ağa ne kazandırdı?
- Selim'in büyütülmüş modeli eskisiyle aynı sonucu verdi. Ara katmanlar neden hiçbir şey eklemedi ve bunu ne gösterir?
- Elçin'in ağırlıkları tanh ile çalıştı, ReLU ile çalışmadı. Bu, ReLU'nun YA DA tablosunu çözemediği anlamına mı gelir?
Yanıtlar
- Kesme olmadan iki ön nöronun hesabı arkadaki nöronda tek bir toplamda birleşiyor ve girdiler birbirini götürüyordu. Kesmeyle her ön nöron kendi sorusuna sıfır ya da bir cevap verir; bu iki cevap girdilerin tek bir toplamına geri çevrilemez, arkadaki nöron da onları birleştirerek düz bir çizginin ayıramadığı tabloyu hesaplar.
- Ara katmanlarda aktivasyon olmadığı için her katman bir öncekinin ağırlıklı toplamını yeniden ağırlıklı topluyordu; bütün zincir tek bir ağırlıklı toplama eşittir. Büyütülmüş bir modelin doğrusal bir modelden ayrılmaması, ilk olarak katman tanımlarında aktivasyonun eksik olup olmadığına bakmayı gerektirir.
- Anlamına gelmez. Ders kitabının ağı aynı tabloyu ReLU ve başka ağırlıklarla çözüyor; Elçin'in ağırlıklarıyla ReLU ortadaki iki satırı tam sıfıra düşürdü. Aktivasyon ve ağırlıklar birlikte seçilir; birini değiştirince öteki de yeniden ayarlanır.
Sonraki derse köprü
Elçin'in iki ön nöronuna ne yapacaklarını biz söyledik, ağırlıklarını da elle yazdık: biri VEYA, öteki VE gibi ateşleniyordu. Ders 8.3, Katmanlar, bu ortadaki nöronların ürettiği sayılara ayrı bir gözle bakıyor. Dört satır o sayılarla yeniden yazılınca kare nasıl değişiyor, ve büyük bir görüntü ağında kimsenin adını koymadığı ara nöronlar neye tepki vermeye başlıyor?
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.