深度学习已死,可微编程万岁?如何理解

“深度学习已死,可微编程万岁”如何理解

首先介绍一下可微编程是什么呢?简单来说,就是把神经网络当成一种语言,而不是一个简单的机器学习的方法,从而描述我们客观世界的概念以及概念之间的关系。这种观点无限地提高了神经网络的地位。
LeCun曾在facebook的文章里说:”Deep Learning Is Dead. Long Live Differentiable Programming!” (深度学习已死,可微编程永生)。
在这里插入图片描述具体的可微编程和现有的深度学习、机器学习又有什么关系呢?这里有一个简单的对比,在上图中显示的三个实体之间发生的三项关系。目前最流行的方法是用深度学习提取特征,然后结合机器学习的一些方法来解决实际当中的一些问题,也可以反过来用深度神经网络拿来直接生成数据,也就是目前最火的生成式对抗网络。
但我们可以发现缺失了一块,也是目前可微编程做的主流工作。缺失的就是把现有的机器学习的方法转化成等价的神经网络,使得同时具有传统的统计机器学习方法的可解释性强以及深度神经网络性能较优等优点。
在这里插入图片描述
针对现实世界中的一些问题,传统的机器学习的方法思路是首先基于一些假设或者先验知识(比如稀疏编码等),将其形式化成目标函数,再对其进行优化求解。但当得到一个新的目标函数时,我们还需要研究目标函数数学上的性质对其进行优化,如目前最流行的优化方法–凸优划。

但是这样做饱受诟病的一个原因就是可解释不强。那可微编程可以做什么?其实就把神经网络直接当成一种语言,直接用于替代问题的描述或者说抽象化问题。这样做的好处显而易见,首先,它易于优化。只需要一个SGD或者SGD的变种,而不需要发展出非常复杂的优化的算法。此外,它还易于计算。并且,它也能做端到端的学习。

在这里插入图片描述
在神经网络以深度学习为标志复出之后,最早的可微编程的工作应该是Yann LeCun的ISTA。求解稀疏编码这个目标函数的优化方法有非常多,ISTA是其中非常有名的一个。上图中间红框标注的公式就是ISTA的核心,具体细节可以阅读文章《Learning fast approximations of sparse coding》。

观察上图中红色方框的公式,可以看到Z是依赖于前一步的Z值。这在数学上就等价于一个动力学系统或者一个迭代过程,而动力学系统本质上就是回复式神经网络的数学本质。因此,进一步地把右下角公式简单地变形等价成RNN,这是神经网络复出以来最为知名的一个可微编程的工作。

随后有很多的进展,比如2016年NIPS上的文章《Attend, Infer, Repeat: Fast Scene Understanding with Generative Models》关于生成模型的工作,这项工作也是目前比较热门的研究。

另外,在2015的ICCV上《Conditional Random Fields as Recurrent Neural Networks》文章中提出,把条件随机场的求解变形成了循环神经网络的相关运算,在图像语义分割上实现了突破。

在2016的TPAMI上《Learning to Diffuse: A New Perspective of Designing PDEs for Visual Analysis》文章中,提出的PDE工作在多个任务视觉上取得很好的效果。

在2016的TIP《Learning Iteration-wise Generalized Shrinkage-Thresholding Operators for Blind Deconvolution》里,针对盲卷积这个问题,发展出能够实现稀疏编码的回复神经网络。

在2016的IEEE TPAMI的《Trainable Nonlinear Reaction Diffusion: A Flexible Framework for Fast and Effective Image Restoration》文章中,对图像重构工作进行了这方面研究。
在2016年的AAAI文章《Learning Deep ?0 Encoders》中对0范数的优化问题,进行变形和等价建议的回复式神经网络。

在2015年TPAMI文章《Learning Efficient Sparse and Low Rank Models》中,对使用深度神经网络来实现稀疏模型和非负矩阵分解之间建模的回复式神经网络。

将这些研究进行归纳总结,就是把一些现有的统计机器学习方法,特别是现有的优化过程展开,形成一个简单的神经网络,且其中大多都是一个简单的回复式神经网络。从而使它能享有传统机器学习的优点,比如端到端学习,同时兼具易于优化以及高可解释性等优点。

我相信这样介绍大家可以有一个直观的概念。目前可微编程就是对传统的机器学习的一个逆向的过程,由于传统的机器学习的结构非常清晰,对逆向过程可以产生的神经网络,就可以知道哪一个激活函数的作用是什么,每一层的输出、目的是什么,这也是现有的深度学习方法所不具备的优势。

参考:
http://www.uml.org.cn/ai/201806264.asp

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值