aihot  2017-10-14 10:54:18  深度学习 |   查看评论   

浅谈深度学习基础

 

  权重W是一个大小为(d,m,k)三维矩阵,b是一个大小为(m,k)的二维矩阵,这两个就是我们需要学习的参数。而这个k就是我们同时训练的参数组数。本来传统的人工神经网络,第i层到第i+1层只有一组参数(k=1),但是现在,我们同时训练k组参数,然后选择激活值最大的作为输出。

  以前的做法是,z=W*X+b,然后out=f(z)f就是我们通常讲的激活函数,比如Sigmoid、tanh。

  而在Maxout里面,相当于在每个输出神经元前面又加了一层,相当于对输入变量线性组合后的结果并不直接送到输出神经元里面,而是相当于新加了一个『隐隐层』,这个『隐隐层』有k个神经元,这个k就是Maxout里面的那个参数k,然后前面线性组合的结果就分别送到这k个神经元里面,分别进行计算(比如k等于5):

z1=w1*x+b1
z2=w2*x+b2
z3=w3*x+b3
z4=w4*x+b4
z5=w5*x+b5

  然后取最大的out=max(z1,z2,z3,z4,z5)作为输出,同时训练k组参数,这就是Maxout。

  Maxout激活函数的图像如下:

k=2和k=3时的Maxout示例

k=2和k=3时的Maxout示例

  我们可以看到k=2时第一个图像就是ReLU的函数图像。按我的理解,ReLU就是Maxout的k=2,然后在隐隐层放了一个z=0的神经元。

自适应学习速率

  上篇文章讲梯度下降时提到过学习速率η,它对训练效果也起到很重要的影响,如果η过大,那每次更新后,总误差可能并不会缩小;而如果η过小,那训练速度又会变得相当慢。所以我们很自然的有这样的想法,学习速率η不应该是一直不变的,我们希望这个学习速率η能够随着每次epoch而减小。

 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自浅谈深度学习基础(上)

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]