Yoshua Bengio'nun derin öğrenme Kitabı'nı okuyordum ve sayfa 224'te yazıyor:
Evrişimli ağlar, katmanlarından en az birinde genel matris çarpımı yerine evrişimi kullanan sinirsel ağlardır.
bununla birlikte, "matris çarpımını evrişim ile nasıl değiştireceğimin" matematiksel olarak hassas bir şekilde% 100 emin değildim.
Beni gerçekten ilgilendiren, 1D'deki giriş vektörleri için bunu tanımlamaktır ( ), bu yüzden resim olarak girdim olmayacak ve 2D'deki evrişimden kaçınmaya çalışmayacağım.
Örneğin, "normal" sinir ağlarında, operasyonlar ve yem koğuş paterni Andrew Ng'in notlarındaki gibi kısaca ifade edilebilir:
f ( z ( l + 1 ) ) = a ( l + 1 )
burada , doğrusal olmayan geçmeden önce hesaplanan vektördür . Doğrusal olmayanlık, vektörü üzerinde pero girişi yapar ve , söz konusu katman için gizli birimlerin çıktısı / aktivasyonudur. f z ( l ) a ( l + 1 )
Bu hesaplama benim için açıktır, çünkü matris çarpımı benim için açıkça tanımlanmıştır, ancak sadece matris çarpımını evrişim ile değiştirmek benim için net görünmüyor. yani
Yukarıdaki denklemi matematiksel olarak tam olarak anladığımdan emin olmak istiyorum.
Sadece matris çarpımını evrişim ile değiştirmeyle ilgili ilk sorun, genellikle in bir satırını nokta ürünle tanımlamasıdır . Böylece, nin bütününün ağırlıklar ile nasıl ilişkili olduğunu ve gösterildiği gibi boyutun vektörüyle açıkça bilir . Ancak, onu kıvrımlarla değiştirdiğinde, hangi satırın veya ağırlıkların içindeki hangi girdilere karşılık geldiği net değil . Ağırlıkları artık bir matris olarak temsil etmenin mantıklı olduğu bile açık değil (bu noktayı daha sonra açıklamak için bir örnek vereceğim)
Giriş ve çıkışların hepsinin 1D'de olduğu durumda, kişi evrişimi tanımına göre hesaplar ve sonra tekillikten geçirir mi?
Örneğin, girdi olarak şu vektöre sahip olsaydık:
ve aşağıdaki ağırlıklarımız vardı (belki backprop ile öğrendik):
o zaman evrişim:
bununla doğrusal olmama ve sonucu gizli katman / gösterim olarak değerlendirmek doğru olur muydu (şu an için herhangi bir havuz oluşturmayı düşünmeyin )? yani aşağıdaki gibi:
( Bence stanford UDLF öğretici , kıvrımın herhangi bir nedenden dolayı 0'larla ikna ettiği kenarları keser, bunu düzeltmemiz gerekir mi?)
Bu nasıl olmalı? En azından 1D'de bir giriş vektörü için? Mı bir vektör artık değil?
Hatta bence bunun nasıl göründüğüne dair sinirsel bir ağ çizdim: