时间卷积网络(TCN) 总结:时序模型不再是递归网络(RNN) 的天下,但作为信息粗暴提取的一种方法,请不要神话CNN !

深度学习似乎进入了“泛模型”阶段,同一个问题可以用不同深度学习结构解决,但是没有人可以证明哪个模型一定最好 — David 9

最近读到文章说“TCN(时间卷积网络)将取代RNN成为NLP预测领域王者”。一方面David 9 想为RNN抱不平,请大家别过于迷信CNN,毕竟只是一种特征提取方法,不必神话它(想想当年有人认为SVM可以解决所有建模问题)。

另一方面,可以感受到深度学习进入了“泛模型”的阶段。模型的结构创新没有衰退的趋势,而这些创新不出意料很快会被其他模型超越。这些“超越”都是实验与经验上的“超越“,没有SVM这样扎实的理论。

回顾历史可以发现,广义的计算机”模型“一直在”向上”做更灵活的事情

ML时代那些机器学习”模型“(SVM,随机森林)一般只做最后的分类、聚类或回归;现在深度学习时代“模型”(以CNN、RNN为主)把特征提取的工作也一并做掉了。可以预见,未来物联网IOT发展到一定阶段,我们需要更复杂“模型”去自动收集数据,具体是什么形式的“模型”我们可以拭目以待。

言归正传,今天David 9 要把TCN(时间卷积网络,CMU的研究总结)这个“坑”给填了。其实TCN只是一维卷积变形之后在时序问题上变得适用(以前David 9也讲过一维卷积):

来自论文:An Empirical Evaluation of Generic Convolutional and Recurrent Networks
for Sequence Modeling

仔细观察就可以发现,TCN的卷积和普通1D卷积最大的不同就是用了扩张卷积(dilated convolutions),越到上层,卷积窗口越大,而卷积窗口中的“空孔”越多

上式是扩展卷积操作的式子,其中d是扩展系数(即评价“空孔”的多少)。 继续阅读时间卷积网络(TCN) 总结:时序模型不再是递归网络(RNN) 的天下,但作为信息粗暴提取的一种方法,请不要神话CNN !

CVPR2018精选#3: 端到端FCN学会在黑暗中看世界,全卷积网络处理低曝光、低亮度图片并进行还原,及其TensorFlow源码

与其说AI智能时代,不如说是“泛智能的自动化”时代,或者,以人类为智能核心的 “机器智能辅助”时代 — David 9

最近流传的一些AI“寒冬论”, David 9 觉得很可笑。二十年前深蓝击败卡斯帕罗夫时,自动化智能已经开始发展,只是现今更“智能”而已,而这个更智能、更普及的趋势不是任何人可以控制的。

人类无尽的贪婪和惰性需要外部智能辅助和填补,也许以后的核心不是“深度学习”或者增强学习,但终究会有更“好”的智能去做这些“脏”活“累”活,那些人类不想干或人类做不到的活。。。

CVPR2018上,伊利诺伊大学和Intel实验室的这篇“学会在黑暗中看世界” 就做了人类做不到的活, 自动把低曝光、低亮度图片进行亮度还原

来自论文:Learning to See in the Dark

人肉眼完全开不到的曝光环境下,机器实际是可以还原出肉眼可识别的亮度。

该论文的第一个贡献是See-in-the-Dark (SID)数据集的整理:

来自论文:Learning to See in the Dark

因为目前的数据集没有针对低曝光同时低亮度的图片集,如上图,作者用索尼和富士相机收集低曝光的室内室外图片,同时配对正常曝光的图片用来训练: 继续阅读CVPR2018精选#3: 端到端FCN学会在黑暗中看世界,全卷积网络处理低曝光、低亮度图片并进行还原,及其TensorFlow源码

用Keras实现简单一维卷积 ,亲测可用一维卷积实例,及Kaggle竞赛代码解读

记得我们之前讲过1D卷积在自然语言处理中的应用:

一维卷积在语义理解中的应用,莫斯科物理技术学院(MIPT)开源聊天机器人DeepPavlov解析及代码

但是读者中对如何应用一维卷积呼声太高,David 9 有必要再用一篇幅来讲1D卷积实战。这次我们拿kaggle上叶子分类预测问题做例子,讲解1D卷积网络如何实现。

我的数据集来自:https://www.kaggle.com/alexanderlazarev/simple-keras-1d-cnn-features-split/data

如果懒得去原链接下载,可以直接戳下面链接:

   train.csv     test.csv   

train.csv 是训练集数据,test.csv 是验证数据集。 这个数据集是叶子leaf 品种的分类问题,有三个通道, 每个通道64个比特位,一个通道代表边界特征,一个通道代表形状特征,最后一个通道代表材质特征。(这些特征都是kaggle已经帮你提取了)。输出是叶子特征标签的预测。

下面废话少说,直接上代码及详细注释(亲测可用):

加入David9的星球群阅读所有文章:

继续阅读用Keras实现简单一维卷积 ,亲测可用一维卷积实例,及Kaggle竞赛代码解读