第1.2部分:非线性激活函数
如我们在介绍中所述,CNN是通过组成几个不同的功能获得的。 除了前面部分所示的线性滤波器之外,还有几个非线性算子。
问题:CNN中的某些功能必须是非线性的。 为什么?(还真回答不了这个问题······大家说说自己的理解呗,共同交流。)
通过由非线性激活函数遵循线性滤波器来获得最简单的非线性,该非线性激活函数被相同地应用于特征图的每个分量(即逐点地)。 最简单的这种功能是整流线性单元(ReLU)
此函数由vl_nnrelu实现; 让我们试试这个:
w = single(repmat([1 0 -1], [1, 1, 3])) ;
w = cat(4, w, -w) ;
y = vl_nnconv(x, w, []) ;
z = vl_nnrelu(y) ;
figure(6) ; clf ; colormap gray ;
subplot(1,2,1) ; vl_imarraysc(y) ;
subplot(1,2,2) ; vl_imarraysc(z) ;
任务:
运行上面的代码,了解过滤器w在做什么。
解释最终结果z。
(是做一个响应,然后把差距拉大,这样么···我瞎说的)