本文主要是介绍non-saturated function in AlexNet,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
温故而知新,再看AlexNet的《AlexNet-ImageNet Classification with Deep Convolutional Neural Networks》 的时候出现了non-saturated function,不知所云,所以查找了这篇博客,mark一下。
最近在看机器学习的书籍时,经常会发现saturate这个术语。saturate这个词的直译是“浸透、饱和”,那么在机器学习里面应该怎样去理解saturate这个词呢?
一、什么是saturated model?
一个saturated model就是说:这个模型需要估计的参数,跟数据集的个数一样多(或者更多)。根据定义来说,这样的模型可以很好的fit所有的数据,但这样的模型在统计学的角度上讲并不是特别有用,因为它没有数据去estimate variance了。例如,用一个5阶的polynomial去fit 6个点的数据,就可以得到一个saturated model(one parameter for each of the 5 powers of your independent variable plus one for the constant term)。
总之,saturated model会得到high-variance的预测模型,受noise的影响也更多。但不是说saturated总是一无是处的。在human cognition、image compression and reconstruction(图像压缩和重建)等领域它也会有所应用。
二、什么是saturating activation function(激活函数)
一个saturating激活函数squeeze the input(对输入数据进行压缩)。那么non-saturating的含义是什么呢。
例如修正线性函数( Rectified Linear Unit (ReLU))就是non-saturating的激活函数,而sigmoid和tanh函数就是saturating的激活函数。原因如下图所示
如图所示sigmoid和tanh分布把数据压缩在了[0,1]和[-1,1]之间,因而属于saturating激活函数。
三、saturate
saturate的充分条件是:输出接近0或1,而且gradient vanish。例如下文这一段黄色标记部分是:当(1-2y)z负的非常多的时候,这个函数J才会saturate。其中softplus函数图如段落后的图所示,我们可以看出当x负的非常多的时候,这个函数的输出接近为0,即saturate。
另外,对于AlexNet的理解,可以参考:
【1】论文翻译:http://blog.csdn.net/motianchi/article/details/50851074
【2】AlexNet神经网络的解释:http://www.cnblogs.com/gongxijun/p/6027747.html
【3】saturated function的解释:http://blog.csdn.net/whu_paprika/article/details/54085670
这篇关于non-saturated function in AlexNet的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!