EVRENSEL YAKINSAMA TEOREMİ

Yazar : Salih GÜNDÜZ


Bu yazımda size perceptron, multi layer perceptron(MLP) ve derin ağlarla ile ilgili bilgi vereceğim. MLP’nin nasıl evrensel olarak fonksiyonları yakınsadığını inceleyeceğiz. Nöron sayısının ve ağın derinliğinin öneminden bahsedeceğiz. Bu yazıyı okuduktan sonra bu kavramların biraz daha oturacağını ve sezginizin gelişeceğini düşünüyorum.

Evrensel Yakınsama Teoremine göre bir tek bir gizli katmana sahip MLP sonlu sayıda sayıda nöron kullanarak sürekli fonksiyonlara yaklaşabilmektedirler.

Boolean Fonksiyonu Olarak MLP:

Aktivasyon fonksiyonu olarak unit step kullanan bir perceptron girdilerin ağırlıklı toplamlarının belirli bir eşik değerini geçmesi durumunda “1” çıktısı verir.

Image for post

Bu şekilde bir perceptron ile basit mantık kapılarını modelleyebiliriz. Ağırlıkları 1, eşik değerini 2 belirlenirse “VE kapısı, ağırlıklar 1 eşik değeri 1 olarak belirlenirse “VEYA” kapısı yapmış oluruz.

Image for post

Peki XOR kapısını modelleyecek olursak bunu nasıl yapacağız? XOR kapısı (0,0) ve(1,1) değerlerinde “0” çıktısı verirken , (0,1) ve (1,0) değerlerinde “1” çıktısı verir. Bu kez birden fazla katmana ihtiyaç duyarız. Çünkü XOR değerleri düzleme çizeceğimiz tek çizgi ile birbirinden ayrılamamaktadır. Bu durumda MLP(Multi layer perceptron) devreye girmektedir.

Image for post
Image for post

MLP daha karmaşık mantık devrelerini modellememize imkan sağlar.

Peki kaç katmana ihtiyaç duyacağız? Bunu mantık devremizin doğruluk tablosunu çizerek saptayabiliriz. Doğruluk tablosunda her satırın sonucunun 1 olduğu durumu hesaplarız. Fonksiyon çarpımların toplamı şeklinde yazılır. Her bir çarpım bloğu bir nöron ile hesaplanırken toplama işlemleri ikinci katmanda hesaplanır. Bu şekilde kaç nörona kaç katmana ihtiyacımız olduğunu hesaplayabiliriz. Bu yöntemle MLP’ler herhangi bir mantık devresini temsil edebilirler. Bu yüzden MLP’ler “evrensel boolean fonksiyonları” olarak adlandırılırlar.

Image for post

Sınıflandırıcı Olarak MLP:

Yapılan işlemleri bir sınıflandırma problemi gibi düşünecek olursak, 2 boyutlu uzayda verilen bir noktanın belirtilen alanlarda olup olmadığını belirleyen bir fonksiyon tasarlayalım. Altıgenin sınırlarını belirlemek için 6 nörona, üçgenin sınırlarını belirlemek için ise 3 nörona ihtiyacımız var. Sonra tüm alanı toplayıp tek alan haline getirmemiz gerekiyor bunun için ise ikinci bir katmana ihtiyaç duyuyoruz:

F(X1,X2)= Y

Image for post
Image for post

Görüldüğü üzere MLP’ler yeterli nöron ve yeterli derinlik sağlandığında evrensel sınıflandırıcılar olarak ta kullanılabilirler.

Peki kaç nöron kullanacağız? Yukarıda ki altıgen ve üçgen için kenar sayıları kadar nöron kullandık. İkinci katmanda bunları birleştirdik. Bu işlemi tek katmanda da yapabilirdik ancak daha fazla nörona ihtiyaç duyardık. Peki 1000 kenarlı bir şeklimiz olsaydı bu kez de en az 1000 nöron mu kullanmalıyız? Şekil silindire yaklaştıkça kenar sayısı artacak ve hesaplama bir o kadar zorlaşacaktır. Bu kez de devreye daha derin yapılar giriyor. Daha derin yapılarla daha az nöron sayısıyla problemi çözebiliyoruz. Optimum nöron sayısı ve ağ derinliğine yönelik literatürde oldukça fazla çalışma bulunmaktadır.

Valiant’a göre n dereceli bir polinom 2(N) derinliğinde bir ağa ihtiyaç duyar.

Regresyon Fonksiyonu Olarak MLP:

Peki MLP’ler sürekli fonksiyonları nasıl yakınsamaktadırlar? 3 nöronlu bir MLP kare sinyaller oluşturabilir. Bu kare sinyalleri ne kadar ince yaparsak şekilde ki fonksiyona o kadar yaklaşmış olacağız.

Image for post

İkiden fazla boyutlu verilerde kare sinyal yerine silindirler ile fonksiyona yaklaşabiliriz. Yukarı da MLP’lerin silindiri yakınsama yeteneğini görmüştük. Bu şekilde MLP’lerle sınırsız sayıda silindir çizerek çok boyutlu sürekli fonksiyonlara yaklaşabiliriz.

Image for post

Aktivasyon fonksiyonları:

Image for post

Daha yaygın olarak yapay sinir ağlarında Unitstep yerine “sigmoid” gibi türevlenebilir aktivasyon fonksiyonları kullanılmaktadır. Türevlenebilirden kasıt girdilerde ki çok küçük bir değişimin bile çıktıda ki etkisinin gözlemlenebilmesidir. Unitstep fonksiyonunda bu özellik yoktur. Unitstep, perceptronda bilgi kaybına neden olur. Bu durumu şöyle açıklayabiliriz:

Şekildeki gibi iki boyutlu bir uzayda bir noktamız olsun bu noktanın eşik değerinin sağında mı solunda mı olduğunu tespit eden bir perceptronumuz olsun. Perceptron çıkışında bize noktanın eşik değerinin solunda veya sağında bilgisi verilecek, ancak eşik değerine olan uzaklığının bilgisi kaybolmuş olacak. Türevlenebilir fonksiyonlar bu bilginin kaybını azaltırlar.

Image for post

Sonuç olarak:

· MLP’ler, boolean fonksiyonlarını, sınıflandırma fonksiyonlarını ve regresyon gibi sürekli fonksiyonları yeterli sayıda nöron ve katman kullanarak gerçekleyebilirler.

· Daha derin ağlar daha etkili olabilmektedir. Daha az nöron kullanmamızı sağlamaktadırlar.

· Sürekli (türevlenebilir) aktivasyon fonksiyonu nöronlarda bilgi kaybını azaltır.

Kaynaklar:

https://www.cs.cmu.edu/~bhiksha/courses/deeplearning/Spring.2019/www/

https://www.researchgate.net/figure/An-illustration-of-the-signal-processing-in-a-sigmoid-function_fig2_239269767

https://www.researchgate.net/figure/The-Rectified-Linear-Unit-ReLU-activation-function-produces-0-as-an-output-when-x-0_fig1_323956667

Bir Cevap Yazın

Başa dön