深度函数式神经网络
来源:互联网 发布:中石油国际事业部 知乎 编辑:程序博客网 时间:2024/06/08 06:35
深度函数式神经网络
今天在查阅文献的时候,发现一篇最近的论文,觉得挺有研究的价值,就仔细读了一遍,然后记下了一些初步的理解。
这篇论文标题是Trainable back-propagated functional transfer matrices
原文可以在ArXiv下载https://arxiv.org/abs/1710.10403
这篇论文介绍的是一种深度神经网络模型,但是作者没有给它一个明确的名字,所以我暂时称它为深度函数式神经网络。这篇文章说的主要是:传统的深度神经网络使用权值作为神经元之间的连接,而这会限制深度神经网络的潜力,所以他们抖了个机灵,使用函数替代了权值。也就是说,我们一般来说都使用一个权值wij来表示这一层的第i个神经元和下一层的第j个神经元的连接强度。因为wij是实数,所以连接的强度是线性的,只能处理简单的分类问题。如果要处理复杂的分类问题,就要用非线性的激活函数。这也是为什么深度神经网络的前向传播公式是y = act(W * x + b),而在这个公式中一定要有act这个函数,而不能是单纯的y = W * x + b。而这篇论文提供了一个新的思路,他们认为,为了处理复杂的分类问题,除了改变激活函数以外,还有一种方法,就是改变神经元之间的连接。我们可以把公式中的W * x部分,替换成F(x),其中F是一个函数矩阵。函数矩阵的意思就是,F中的每个元素都是一个函数,可以是三角函数、多项式、激活函数、甚至可以是一个记忆细胞。也就是说,为了实现特定的功能,我们可以根据需要去自定义F中的函数,而不再受以往的限制。这样一来,模型就可以处理更复杂的分类问题。
作者还通过实验证明了反向传播算法(Back Propagation,BP算法)可以训练函数矩阵中的参数,而且函数式深度神经网络的深度可以达到10层以上。每个函数的参数可以有多个。我们都知道在传统的BP算法中,每一次迭代都对权值进行一次更新。同样的,对于函数矩阵,每一次迭代都对这些参数进行一次更新,也就是说BP的原理是可以兼容这个模型的。文章也给出了用于训练这些函数矩阵的BP算法,具体的公式和推导过程可以参考原文。
这篇文章用MNIST数据集做了实验。貌似作者是测试了20个不同的函数矩阵,网络层数设置为5或10,隐含层的神经元数量设置成128,然后在测试集上得到的图像识别正确率很多都在95%以上,有一部分可以达到97%以上。根据我以往在MNIST上面的实验,深度神经网络的正确率一般在95%到99%之间。所以这个结果应该是比较正常的。
此外还有一点比较有意思,就是作者认为函数矩阵也可以形成一个Recurrent的结构(大致上是这个意思),可以存储记忆信息。我们都知道循环神经网络(Recurrent Neural Network,RNN)是记忆存储在神经元中,特别是最近很流行的LSTM-RNN,也是专门设计了LSTM这样的单元用来存储记忆。而这篇文章中有一个实验,是把记忆存储在函数矩阵中。这种方法的优点就是,可以让信息的存储量增加。例如说有一个单层的神经网络,有100个输入节点和200个输出节点。如果把记忆存储在输出节点中,那就只能存储200个信号。而如果是存储在函数矩阵中,因为矩阵中一共有200*100=20000个记忆函数,所以可以存储的信号就是20000个!通过这种方式可以成倍地增加存储的信息量。
我个人是觉得这个模型挺有研究价值的。因为我们可以根据应用场景的不同,设计各种不同的函数矩阵,然后看看哪个的性能最好。理论上这个模型应该是可以兼容无数种不同的函数。但是作者也说了,并不是所有的函数都能收敛,而且随着隐含层层数的增加,训练会越来越困难。
之后要是有时间的话,会再深入研究一下这个模型。
转载请注明出处。
- 深度函数式神经网络
- 深度学习:神经网络中的激活函数
- 深度学习神经网络激活函数的优点
- 深度神经网络
- 深度神经网络
- 深度神经网络
- 深度神经网络
- 深度神经网络
- 深度神经网络
- 深度神经网络
- 深度神经网络
- 深度学习/神经神经网络常用激活函数总结
- (#########优化器函数########)TensorFlow实现与优化深度神经网络
- [深度学习]人工神经网络中激励函数作用详解
- 【深度学习技术】卷积神经网络常用激活函数总结
- AndrewNg神经网络和深度学习笔记-Week3-6激活函数
- 跟着吴恩达学深度学习:用Scala实现神经网络-第三课:消除所有的可变变量,利用scanLeft将神经网络重构为函数式风格
- [DeeplearningAI笔记]神经网络与深度学习3.2_3.11(激活函数)浅层神经网络
- U3D打印菱形
- Ios 获取APP的Launch Image
- POJ 3984(bfs加路径)
- HTML基本标签
- 14、ES6 for...of循环
- 深度函数式神经网络
- discuz X3.4的最新版QQ互联插件配置教程
- 内核中的中断函数request_irq()
- 【安全牛学习笔记】skipfish
- C注释转换至CPP注释
- hdu 5213 Lucky (莫队+容斥)
- webpack使用
- (笔记) Linux环境下的图形系统简介(X window)
- 由request_irq()函数引发对中断的理解