企鹅股票网

bias是什么意思:神经网络中,bias有什么用,为什么要设置bias,当加权和大于某值时,激活才有意义?作者:犀利哥的大实话

发布时间:2020-02-09 05:59   来源:网络 点击 :

Bias的好处在于:可以使得神经网络Fit的范围得到左右的调整。举个很简单的例子:

比如网络实际是 y=Sigmoid(w*x) 这个函数。这里没有Bias。w是weight,通过调节w,网络可以估计比较陡峭的Sigmoid,也可以估计比较平缓的Sigmoid。但是一个w只能对应一种pattern。所以这里加入Bias,如下:

y=Sigmoid(w*x+bias)

bias表示x方向上的左右移动,一个w,如果bias=2,w就多了一个pattern,bias=-2,w又多了一个pattern。

所以Bias的好处是使得神经网络通过左右Shift可以适应(Fit)更多的情况。

而激活是相当于一个开关,举个例子,比如你要训练一个网络来区别男女,那么男的来了就开门(激活)让进去,女的来了就不开门,这样就能分开男女了。

激活函数的功能就是这么一个开关而已。

更多回复:

知乎网友冯姆姆:

前段时间研究Enet的结构里面感觉有的部分这个bias真的不需要,论文里面本身也提到为了加快inference的速度的话,前面的bottleneck结构里面不加bias

我个人感觉如果使用了batch normalization的话本身就不要加前面的bias,减去mean操作bias加了也没有啥意义,拖慢速度

一直想找大牛问问这个事情

DQN里面加bias的话初值一般怎么选比较好

tf.constant.initializer(0)?


知乎网友知乎用户:

一句话,bias 就是非线性。没 bias 没非线性。顺便吐槽一下知乎现在数据民科这么多了嘛……


知乎网友HackPython:

权重w与偏置bias主要用于神经网络的前向传播算法中,公式为

$$ O_i = f(W_{i-1} * O_{i-1} + b_{i-1})$$

其中$O_i$为输出,W为权重,b为偏置,激活函数f

因为权重与偏置都是线性的,所以可以将上面的公式简单替换为

$$ y = ax + b $$

回忆一下神经网络的目的,学习不同的数据分布,拟合各种函数,那么其中a的作用就是为了实现各种线性变换,但这些线性变换都是基于原点的,所以加上b,让它可以移动。

但光任意的现象变换无法拟合非线性函数,所以加上了非线性的激活函数f


知乎网友zxf8665905:

Universal approximation theorem


猜你喜欢