因为近期要做一个关于深度学习入门的技术分享,不想堆砌公式,让大家听得一头雾水不知不觉摸裤兜掏手机刷知乎。所以花了大量时间查资料看论文,有的博客或者论文写得非常赞,比如三巨头 LeCun,Bengio 和 Hinton 2015 年在 Nature 上发表综述论文的“Deep Learning”,言简意赅地引用了上百篇论文,但适合阅读,不适合 presentation 式的分享;再如 Michael Nielsen 写的电子书《神经网络与深度学习》(中文版,英文版)通俗易懂,用大量的例子解释了深度学习中的相关概念和基本原理,但适合于抽两三天的功夫来细品慢嚼,方能体会到作者的良苦用心;还有 Colah 写的博客,每一篇详细阐明了一个主题,如果已经入门,这些博客将带你进阶,非常有趣。

还翻了很多知乎问答,非常赞。但发现很多”千赞侯”走的是汇总论文视频教程以及罗列代码路线,本来想两小时入门却一脚踏进了汪洋大海;私以为,这种适合于有一定实践积累后按需查阅。还有很多”百赞户”会拿鸡蛋啊猫啊狗啊的例子来解释深度学习的相关概念,生动形象,但我又觉得有避重就轻之嫌。我想,既然要入门深度学习,得有微积分的基础,会求导数偏导数,知道链式法则,最好还学过线性代数;否则,真的,不建议入门深度学习。

最后,实在没找到我想要的表达方式。我想以图的方式概要而又系统性的呈现深度学习所涉及到的基本模型和相关概念。论文“A Critical Review of Recurrent Neural Networks for Sequence Learning”中的示意图画得简单而又形象,足以说明问题,但这篇文章仅就 RNN 而展开论述,并未涉及 CNN,RBM 等其它经典模型;Deeplearning4j上的教程貌似缺少关于编码器相关内容的介绍,而UFLDL 教程只是详细介绍了编码器的方方面面。但是如果照抄以上三篇的图例,又涉及到图例中的模块和符号不统一的问题。所以,索性自己画了部分模型图;至于直接引用的图,文中已经给了链接或出处。如有不妥之处,望指正。以下,以飨来访。

1. 从经典的二分类开始说起,为此构建二分类的神经网络单元,并以 Sigmoid 函数和平方差损失(比较常用的还有交叉熵损失函数)函数来举例说明梯度下降法以及基于链式法则的反向传播(BP),所有涉及到的公式都在这里:

2. 神经元中的非线性变换激活函数(深度学习中的激活函数导引)及其作用(参考颜沁睿的回答),激活函数是神经网络强大的基础,好的激活函数(根据任务来选择)还可以加速训练:

3. 前馈性神经网络和自动编码器的区别在于输出层,从而引出无监督学习的概念;而降噪编码器和自动编码器的区别又在输入层,即对输入进行部分遮挡或加入噪声;稀疏编码器(引出正则项的概念)和自动编码器的区别在隐藏层,即隐藏层的节点数大于输入层节点数;而编码器都属于无监督学习的范畴。浅层网络的不断栈式叠加构成相应的深度网络。

值得一提的是,三层前馈型神经网络(只包含一个隐藏层)的 word2vec(数学原理详解)是迈向 NLP 的大门,包括 CBOW 和 skip-gram 两种模型,另外在输出层还分别做了基于 Huffman 树的 Hierarchical Softmax 以及 negative sampling(就是选择性地更新连接负样本的权重参数)的加速。

4. 受限波兹曼机 RBM 属于无监督学习中的生成学习,输入层和隐藏层的传播是双向的,分正向过程和反向过程,学习的是数据分布,因此又引出马尔可夫过程和 Gibbs 采样的概念,以及 KL 散度的度量概念:

与生成学习对应的是判别学习也就是大多数的分类器,生成对抗网络 GAN 融合两者;对抗是指生成模型与判别模型的零和博弈,近两年最激动人心的应用是从文本生成图像(Evolving AI Lab - University of Wyoming):

5. 深度网络的实现基于逐层贪心训练算法,而随着模型的深度逐渐增加,会产生梯度消失或梯度爆炸的问题,梯度爆炸一般采用阈值截断的方法解决,而梯度消失不易解决;网络越深,这些问题越严重,这也是深度学习的核心问题,出现一系列技术及衍生模型。

深度制胜,网络越深越好,因此有了深度残差网络将深度扩展到 152 层,并在 ImageNe 多项竞赛任务中独孤求败:

6. 卷积神经网络在层与层之间采取局部链接的方式,即卷积层和采样层,在计算机视觉的相关任务上有突出表现,关于卷积神经网络的更多介绍请参考我的另一篇文章(戳戳戳):

而在 NIPS 2016 上来自康奈尔大学计算机系的副教授 Killan Weinberger 探讨了深度极深的卷积网络,在数据集 CIFAR-10 上训练一个 1202 层深的网络。

7. 循环神经网络在隐藏层之间建立了链接,以利用时间维度上的历史信息和未来信息,与此同时在时间轴上也会产生梯度消失和梯度爆炸现象,而 LSTM 和 GRU 则在一定程度上解决了这个问题,两者与经典 RNN 的区别在隐藏层的神经元内部结构,在语音识别,NLP(比如 RNNLM)和机器翻译上有突出表现(推荐阅读):

除了 RNNLM 采用最简单最经典的 RNN 模型,其他任务隐层神经元往往采用 LSTM 或者 GRU 形式,关于 LSTM 的进化历史,一图胜千言,更多内容可以参阅LSTM: A Search Space Odyssey:

RNN 模型在一定程度上也算是分类器,在图像描述(Deep Visual-Semantic Alignments for Generating Image Descriptions)的任务中已经取得了不起的成果(第四节 GAN 用文本生成图像是逆过程,注意区别):

另外,关于 RNN 的最新研究是基于 attention 机制来建立模型(推荐阅读文章),即能够在时间轴上选择有效信息加以利用,比如百度 App 中的"为你写诗"的功能核心模型就是 attention-based RNN encoder-decoder:

8. 总结了深度学习中的基本模型并再次解释部分相关的技术概念:

最后,现在深度学习在工业中的应用往往是整合多个模型到产品中去,比如在语音识别的端到端系统中,利用无监督模型或者 CNN 作为前期处理提取特征,然后用 RNN 模型进行逻辑推理和判断,从而达到可媲美人类交流的水平,如百度的DeepSpeech2:

画图是个细活慢活,周末加班很辛苦,觉得好就动动手指给个赞吧。

不喜请喷,转载请注明出处,谢谢。

转自:http://daily.zhihu.com/story/9078829?f=tt&hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io

不堆砌公式,用最直观的方式带你入门深度学习相关推荐

  1. 「镁客·请讲」小i机器人朱频频:会话AI将成为主流人机交流方式,积累和深度学习是关键...

    消费级服务机器人技术还没达到一个理想的状态,但积累很重要. 和小i机器人创始人&CEO朱频频的见面是在由中国服务机器人应用及推广联盟主办的2017国际服务机器人产业高峰论坛上.因为人很多,所以 ...

  2. 深度学习热点|超直观无公式图解Contrastive Predictive Coding从脸盲说起

    作者 | 得未曾有 出品 | 对白的算法屋 编者寄语: 通过对比学习来区分李沁和孙怡. Contrastive Learning (对比学习) 是这两年深度学习非常热的话题,可以说是刷新了很多人对无监 ...

  3. armax函数 matlab 源码_将可读性不强的MATLAB公式样式转为直观的LaTeX样式

    欢迎关注公众号:120701101. 将可读性不强的MATLAB公式样式转为直观的LaTeX样式 Contens 问题来源 解决办法 代码 演示代码 源码编辑器 问题来源 B站有个大神"图某 ...

  4. 深度学习中的Normalization模型(附实例公式)

    来源:运筹OR帷幄 本文约14000字,建议阅读20分钟. 本文以非常宏大和透彻的视角分析了深度学习中的多种Normalization模型,从一个新的数学视角分析了BN算法为什么有效. [ 导读 ]不 ...

  5. 深度学习与计算机视觉(四)反向传播及其直观理解

    四.反向传播及其直观理解 4.1 引言 问题描述和动机: 大家都知道,其实我们就是在给定的图像像素向量x和对应的函数f(x)f(x)f(x),然后我们希望能够计算fff在x上的梯度∇f(x)" ...

  6. 深度学习(6)之卷积的几种方式:1D、2D和3D卷积的不同卷积原理(全网最全!)

    深度学习(6)之卷积的几种方式:1D.2D和3D卷积的不同卷积原理(全网最全!) 英文原文 :A Comprehensive Introduction to Different Types of Co ...

  7. 深度学习与计算机视觉系列(5)_反向传播与它的直观理解

    作者:寒小阳 时间:2015年12月. 出处:http://blog.csdn.net/han_xiaoyang/article/details/50321873 声明:版权所有,转载请联系作者并注明 ...

  8. excel乘法公式怎么输入_深度学习可以不要乘法,北大、华为诺亚新论文:加法替代,效果不变,延迟大降...

    机器之心报道 参与:思.一鸣 深度学习对算力要求太高,怎么简化计算复杂度呢?北大.华为诺亚方舟实验室等提出完全用加法代替乘法,用 L1 距离代替卷积运算,从而显著减少计算力消耗. 和加法运算相比,乘法 ...

  9. 多模态深度学习:用深度学习的方式融合各种信息

    点击上方"视学算法",关注公众号,选择加"星标"或"置顶" 作者:Purvanshi Mehta 编译:ronghuaiyang 导读 使用 ...

最新文章

  1. 真赞!IDEA中这么玩MyBatis,让编码速度飞起!
  2. R语言ggplot2可视化:jupyter中设置全局图像大小、jupyter中自定义单个ggplot2图像结果的大小
  3. TypeError: ‘BasePermissionMetaclass‘ object is not iterable
  4. P3700 [CQOI2017]小Q的表格(反演、分块)
  5. 引用js/css时,加入时间戳解决浏览器缓存问题
  6. OpenCV 发起 Spatial AI挑战赛
  7. sqlserver修改链接服务器,sqlserver怎么新建链接服务器
  8. 智能终端会议系统(20)---网络视频传输协议--RTP/RTCP/RTSP/SIP/SDP 之间关系
  9. Keil——导出代码的PDF文件
  10. windows10强制删除文件_Windows10 初装必设置
  11. 整理了一份嵌入式软件工具清单!
  12. Shader序列帧动画——UnityShader学习笔记复习
  13. 计算机一级三维饼图,计算机考试excel制作复合饼图的方法
  14. python调用rarfile进行解压rar压缩包时,报了如下错误
  15. 工信部发文启动2019网络安全防护赛,是时候对短信验证码说再见了
  16. IMPERVA - WAF syslog配置及注意事项
  17. 多亏了这个神器,让我斩获华为入场券
  18. 可视化小目标--如何提升数据可视化的表现效果
  19. AndroidStudy---搭建后台服务器
  20. 奇虎聚客---2006最激动人心的互联网应用

热门文章

  1. PostgreSQL 获取当前日期时间及注意事项
  2. 趣味MySQL:查询NBA球员的冠军总数
  3. 【产品经理】知识要点
  4. QT编程:复选框QCheckBox
  5. 天真,居然还有人认为java的参数传递方式是引用传递
  6. uwin7下secureCRT SSH2远程登录Ubuntu系统问题解决
  7. 视频教程-网络聊天室Java基础版(Socket_Swing编程)仿QQ聊天-Java
  8. O-C和C的差别以及其自身的特点
  9. Excel表格 / WPS表格中怎么在下拉滚动时让第一行标题固定住?
  10. whoosh mysql_Writer.add_文档()函数错误Whoosh mysql循环