Activation Layer, Pooling Layer

Kategori: Deep Learning , 03 Nisan 2020 , JanFranco


Convolution işlemlerinden sonra oluşan outputlar yani feature mapler bir sonraki katmana geçmeden önce aktivasyon fonksiyonundan geçerler. Genellikle ReLu kullanılır. Bir örnek yapalım:


 2   1  -5

 2   0   4

-5   3  -1
Bu çıkışa ReLu uyguladığımızda:


2   1   0

2   0   4

0   3   0
Görüldüğü gibi pozitif değerler ve 0 değerleri aynen geçerken, negatif değerler yerine 0 değerleri atandı. Farklı aktivasyon fonksiyonları da denenebilir.

Pooling katmanını, parametrelerin yani bileşenlerin sayısını azaltmak için kullanırız. 3 tip Pooling işlemi mevcuttur: Max Pooling, Average Pooling, Sum Pooling. En çok Max Pooling ve Average Pooling kullanılır. Max Pooling işlemine bir örnek verelim:


0   123  127  167

54  234  124  0

64  76   0    241

0   235  222  0
Yukarıdaki feature map'e Max Pooling uygulayacağız. Pooling işleminde de boyutlar ve stride değerleri önemlidir. 2x2'lik bir filtre kullanacağız ve stride değerini 2 yapacağız. Bu nedenle ilk olarak aşağıdaki kısım üzerinde çalışacağız:


0   123

54  234
Max Poolingde, filtredeki en büyük bileşen seçilir. Bu nedenle 234 değerini alıyoruz. Bu değer outputtaki (0,0) bölümüne yazılacaktır. 2 birim sağa kaydırıyoruz filtreyi ve aşağıdaki kısım üzerinde çalışıyoruz:


127  167

124  0
En büyük değer olan 167 değerini outputta (0,1) bölümüne yazıyoruz. 2 birim alt satıra geçiyoruz ve aşağıdaki kısım ile ilgileniyoruz:


64  76 

0   235
En büyük değer 235 ve bu değeri outputta (1,0) bölümüne yazıyoruz. 2 birim sağa kayıyoruz ve aşağıdaki kısım ile ilgileniyoruz:


0    241

222  0
En büyük değer 241 değeridir ve bu değeri de outputta (1,1) bölümüne yazıyoruz. Sonuç olarak output resmimiz şu şekildedir:


234 167

235 241
Özetlemek gerekirse, Max Pooling işleminde en büyük değer seçilir. Average Pooling işleminde ise en büyük değer seçmek yerine, değerlerin ortalaması alınır.


Sonraki Yazı: CNN - Building a Model in Python
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın