elektrik port üyelik servisleri elektrik port üyelik servisleri

Aktivasyon Fonksiyonu Nedir?

Yazımızda yapay sinir ağlarında ve makine öğrenmesinde karşımıza çıkan aktivasyon fonksiyonlarının tanımını, kullanım alanlarını, nasıl ve ne için kullanıldığını açıklamaya çalışacağız. Bununla beraber ya projelerinde kullanılan Aktivasyon fonksiyonlarının türlerini açıklayıp, birbirleri üzerindeki üstünlüklerini veya eksiklerini tartışacağız.



A- A+
17.02.2022 tarihli yazı 9312 kez okunmuştur.
Aktivasyon fonksiyonu hakkında detaylara girmeden önce Şekil 1’de gösterilen blok diyagramında örnek basit bir nöral ağ yapısını paylaştık. Bu diyagram, yapay sinir ağlarının temel yapı birimini oluşturur. X1 ile gösterilen değerler girdiler olarak adlandırılırken W1 ile gösterilen birimlerse bu girdilere karşılık gelen ağırlıkları oluşturur. Girdiler çeşitli ağırlıklar ile çarpılıp Şekil 1’de gösterilen toplama fonksiyonu ile toplanır. Elde edilen değerler sistemde kullanılan aktivasyon fonksiyonundan geçirilerek çıkışa ulaşılır. Aktivasyon fonksiyonunun buradaki görevi giriş sinyallerini çıkış sinyallerine çevirir.

Şekil 1: Nöral Ağ Blok Diyagramı ve Aktivasyon Fonksiyonu
 
►İlginizi Çekebilir: Yinemeli Sinir Ağları (RNN) Nedir?
 
Temel olarak aktivasyon fonksiyonu, veri yapılarını öğrenip anlamlı bir sonuç oluşturur. Eğer aktivasyon fonksiyonsuz bir yapay sinir ağı düşünürsek bu ağ, basit bir doğrusal regresyona benzeyecektir. Aktivasyon fonksiyonu için biraz derine inelim:


Şekil 1: Nörol ağ

 
►İlginizi Çekebilir: Makine Öğrenmesi Yöntemleri
 
Yukarıda görüldüğü üzere aktivasyon fonksiyonu, nöron yapısının en son ayağında yer alıyor. Aktivasyon fonksiyonunda elde edilen değer;


olacaktır. Aktivasyon fonksiyonu, toplama fonksiyonundan elde edilen y değerini kontrol etmek için kullanılıyor. Kontrol etmekten kasıt, sistemde kullanılan fonksiyonun yapısına göre y değerine bir hüküm vermektir. Daha basitçe elde edilen y değerinde o nöronun yapısına göre nöronun aktif olup olmayacağına karar verir. aktivasyon fonksiyonunun ismini böyle düşünebiliriz. Bu durumdan ötürü derin sinir ağları için önemli bir yapıdır. Burada kullanılan aktivasyon fonksiyonu çıkıştaki anlamlı bilginin elde edilmesinde kilit bir rol oynar. Çıkışta iyi bir performans elde edilmek için probleme uygun olan fonksiyonun seçilmesi gerekmektedir. Yanlış seçilen fonksiyon tüm sistemi batırabilir. Çeşitli fonksiyonlar kullanılarak birbirleri arasında karşılaştırmalar yapılabilir. Böylece sisteme uygun olan fonksiyon seçilmiş olur.
 

Aktivasyon Fonksiyonu Çeşitleri

Nöral ağlarda çeşitli aktivasyon fonksiyonları kullanılmaktadır. Veriye ve problemlere göre kullanılan aktivasyon fonksiyonları değişmektedir. Unutmayalım ki aktivasyon fonksiyonu kullanılmayan bir yapay sinir ağın çıktısı doğrusal regresyondan farklı olmayacaktır. Tüm veriler doğrusal veri türü olamayacağından sistemimizin de doğrusal olmayan problemleri de öğrenmesi gerekmektedir. Aktivasyon fonksiyonları bundan dolayı önemlidir.




 
Şekil 2: Yapay Sinir Ağlarında Sıklıkla Kullanılan Aktivasyon Fonksiyonları

►İlginizi Çekebilir: Derin Öğrenme | 'Nedir?' Serisi 2.Bölüm
 

Sigmoid Aktivasyon Fonksiyonu

0 ile 1 arasında çıktı üreten sigmoid fonksiyonu en çok kullanılan aktivasyon fonksiyonlarından biridir. Pürüzsüz eğrilere sahip olan sigmoid fonksiyonu bu özelliği sayesinde girdi değerlerindeki küçük değişiklikler çıktı değerlerinde gözlemlenebilir. Sigmoid fonksiyonu göründüğü üzere türevlenebilir bir fonksiyon olduğundan dolayı kullanıldığında öğrenme işlemi gerçekleştirebilir.

Şekil 3: Sigmoid Aktivasyon Fonksiyonu

Sigmoid fonksiyonu aşağıdaki gibi tanımlanabilir;
 

Sigmoid fonksiyonun bazı dezavantajları vardır. Bu dezavantajlardan biri “Kaybolan Gradyan Problemi” ’dir. Kaybolan Gradyan Problemi, yapay sinir ağlarında veriler eğitilirken karşılaşılan bir problemdir. Grafikte de görebildiğimiz üzere x değerleri ilerlerken uç noktalarda değer 0 ‘a yakınsamaktadır. Yani X değerlerinde değişimler artarken Y’de bu değerleri görememeye başlarız. Bu kaybolan gradyan problemine örnektir.


ReLU (Doğrultulmuş Doğrusal Birimler) Aktivasyon Fonksiyonu

ReLU son zamanlarda sigmoid fonksiyonu yerine en çok tercih edilen fonksiyonlardan biridir. Bu fonksiyon basit bir yaklaşıma sahiptir. Rectified Lineer Unit, çıktı değerleri [0, +∞] arasında yer almaktadır.
 

Şekil 4: ReLU Aktivasyon Fonksiyonu
 
ReLU aktivasyon fonksiyonunun sıklıkla kullanılmasının en büyük sebebi Şekil 4’te göründüğü üzere 0’dan büyük olan girdilerin sabit türev değerine sahip olmasıdır. Böylece ağ daha hızlı eğitilebilir. Bu da büyük bir avantaj sağlar. ReLU aşağıdaki gibi tanımlanır;
 

Burada fonksiyon çıktısı olan X, sıfırdan büyük değerlerde olduğunda (X>0) sonuç X alınırken, sıfırdan küçük veya eşit olduğu anlarda sonuç 0 olarak alınır. Böylece Şekil 5’teki grafik karşımıza çıkacaktır. Sadece pozitif değerlerde aktif olan ReLU aktivasyon fonksiyonları, sinir ağında ara katmanlardaki olası bir negatif çıkışı aktif etmeyecektir. Böylece aynı anda tüm nöronları aktif olarak atayamayacaktır. Bu performans açısından etkilidir. Böylece sistem daha hızlı ve verimli çalışır.


Softmax Aktivasyon Fonksiyonu

Softmax aktivasyon fonksiyonu sınıflandırma problemlerinde sıklıkla kullanılır. Softmax, sisteme girilen her girdinin bir sınıfa ait olmasını gösteren çıktılar üretir. Bu çıktılar [0,1] değer arasında yer alır. 0 ile 1 arasında yer alması sebebiyle bu fonksiyonda olasılıktan bahsedilebilir. Sigmoid fonksiyonuna benzeyen yapısının sigmoid’den tek farkı elde edilen çıktıların 1’e kadar olan toplamlarının normalize edilmesidir. Yani girdi ne olursa olsun (pozitif, negatif, sıfır vs.) softmax fonksiyonu bu girdiyi 0 ile 1 arasına dönüştürür. Böylece olasılık ortaya çıkar. Eğer bir girdinin değeri küçük veya negatif olduğunda softmax fonksiyonu bu değeri küçük olasılık olarak atar. Eğer girdi büyük ise büyük olasılık olarak atar. Ancak her zaman bu olasılıklar 0 ile 1 arasındadır.

Şekil 5: Softmax Aktivasyon Fonksiyonu
 
Sigmoid ile softmax sınıflandırma problemlerinde oldukça kullanılır fakat sigmoid fonksiyonu çıkışta ikili sonuç elde edildiği durumlarda kullanılırken softmax fonksiyonu ise çok katmanlı sınıflandırma problemlerinde kullanılır.
             
 

Hiperbolik Tanjant Aktivasyon Fonksiyonu

Her x değeri için bir çıktı üreten hiperbolik tanjant fonksiyonu bu özelliği ile bir sürekli fonksiyondur. Bu aktivasyon fonksiyonu [-1, +1] arasında çıktı üretir. Sigmoid fonksiyonuna oldukça benzer ve ikili sınıflandırma problemlerinde kullanılır. Sigmoid fonksiyonuna göre daha çok değer alabilir. Böylece bu durum sinir ağın daha hızlı öğrenmesine sebep olur ve bu durumda verimliliği arttırır. Sigmoid fonksiyonuna benzeyen yapısı nedeniyle bu aktivasyon fonksiyonunda da Kaybolan Gradyan Problemi karşımıza çıkar.
     
 
Şekil 6: Hiperbolik Tanjant Aktivasyon Fonksiyonu
 

Basamak (Step) Aktivasyon Fonksiyonu

Şekilden de anlaşılacağı üzere ikili değerler alan basamak fonksiyonu ikili sınıflayıcı problemlerinde kullanılır. Türevi alınan fonksiyon değerlerinin bir temsili olmadığından kullanılması pek tavsiye edilmez ve sağlıklı bir çıktı oluşturmaz.
Basamak fonksiyonunda girdi değeri olan X değeri 0 ‘dan küçükse sonuç 0, girdi değeri 0 ‘dan büyükse ise çıktı değerleri 1 olarak atanır. Anlaşılacağı üzere bir olasılıktan bahsedilemez. Basit bir fonksiyondur.

Önerilen Aktivasyon Fonksiyonu Seçimi

Yapay sinir ağları tüm gizli katmanlarında aynı aktivasyon fonksiyonlarını kullanır. Aktivasyon fonksiyonun seçimi tam olarak kullanan kişiye bağlıdır. Genel olarak 1990’larda çeşitli problemlerde sigmoid fonksiyonu temel olarak seçilen bir aktivasyon fonksiyonuydu. Yıllar ilerledikçe hiperbolik tanjant fonksiyonu gizli katmanlarda daha çok kullanılmaya başlandı ve temel olarak seçildi. Ancak bu iki fonksiyonunda Kaybolan Gradyan Problemine sahip olduğundan yeni arayışlar içerisine girildi. 

Modern sinir ağları modelleri ReLU (Rectified Lineer Unit) fonksiyonunu kullanıyor. Örneğin Çok Katmanlı Perceptron (MLP) ağ modeli ve CNN (Convolutional Neural Network) modeli ReLU fonksiyonunu kullanır. Yinelemeli Sinir Ağları modelinde ise Hiperbolik Tanjant ve Sigmoid aktivasyon fonksiyonunu kullanır.


Kaynak:

machinelearningmastery.com
deepai.com
researchgate.net
geeksforgeeks.org

Oğuzhan Çağlar Oğuzhan Çağlar Yazar Hakkında Tüm yazıları Mesaj gönder Yazdır



Aktif etkinlik bulunmamaktadır.
ANKET
Endüstri 4.0 için En Hazır Sektör Hangisidir

Sonuçlar