更多深度文章,请关注:https://yq.aliyun.com/cloud

作者介绍:Deepak Shah

Deepak Shah毕业于德克萨斯奥斯汀分校,徒步旅行爱好者,目前是深度学习\数据科学实习生,研究领域专注于深度学习、编程、金融等方面。

个人主页:http://www.deepakvshah.com/

Medium论坛:https://medium.com/@dvshah13

Github论坛:https://github.com/Dvshah13

笔记分为两个部分,本文是笔记Part II,关于深度学习笔记PartI可以看这篇博客

受限玻尔兹曼机(RBM)

RBM是一种可以通过重建输入在数据中自动查找模式的方法,包含两层网络,第一层为可见层,第二层为隐藏层。可见层中的每个节点都连接到隐藏层中的节点,由于同一层中没有两个节点共享连接,所以其是受限的。

在前向过程中,RBM接受输入并将它们转换成对输入进行编码的一组数字。在反向过程中,将这组数字转换后形成重构的输入。

在这两个步骤中,权重和偏置具有非常重要的作用,其允许RBM解译输入特征之间的相互关系,并且确定哪些输入特征是最重要的。

训练过程反复重复以下三个步骤。

步骤1:在前向传递中,每个输入与单独的权重和偏置组合,结果被传递到隐藏层。

步骤2:在反向过程中,每个激活与单独的权重和偏置组合,结果被传递到可见层以用于重建。

步骤3:在可见层,使用KL发散将重建与原始输入进行比较以判断结果的质量。

使用不同的权重和偏置重复步骤1-3,直到重建与输入尽可能接近。

注意到,RBM实际上通过调整权重和偏置决定了哪些输入特性是重要的,以及如何将它们组合形成模式。

那么RBM如何能够提取特征?这与深层信念网络有关。

信念网络(DBN

深层信念网络(DBN)在网络结构方面,可以被看作是RBM的堆叠,其中一个RBM的隐藏层是其上一层的可见层。

DBN训练过程:第一层RBM被训练以尽可能准确地重建其输入,其隐藏层被视为第二层RBM的可见层,并且使用来自第一层RBM的输出来训练第二层RBM。重复该过程,直到网络中的每一层都被训练。DBN表现好的原因是因为一堆RBM优于单个RBM单元。就像多层感知器能够胜过单个感知器。

为了完成训练,在模式中引入标签,并通过监督学习来微调网络。权重和偏置稍微改变,导致网络对图案感知的微小变化,同时总精度通常会小幅增加。

卷积神经网络(CNN)

近年来主导机器视觉空间,影响深远,是深度学习AI中最热门的话题之一,卷积网络一直是机器视觉项目的解决方案。

CNN结构:

第一个组成部分是卷积层。网络使用卷积的技术操作来搜索特定模式。可以把它看作是通过图像过滤特定模式的过程。该层的权重和偏置影响操作执行的过程。调整权重和偏置会影响过滤过程的有效性。CNN具有权值共享的特性,这意味着过滤器上任何给定的神经元都连接到相同数量的输入神经元,并且具有相同的权重和偏置。

接下来的两层是整流线性单元(RELU)和池化层,都有助于由卷积层发现的简单模式的建立。卷积层中的每个节点都连接到一个激活节点,使用的激活函数称为整流线性单元(RELU)。CNN使用反向训练,所以梯度消散仍然是一个问题。但由于RELU能使得梯度在每一层处或多或少保持恒定,所以允许网络被适当地训练。池化层用于维数降低。通过引入池化层,确保网络仅关注卷积和RELU发现的最相关的模式。

这三个层组合在一起可以发现复杂的模式,但网络不能理解这些模式是什么。因此,在网络末端有全连接层,以便使网络具有分类数据样本的能力。

综上所述,典型的深层CNN具有三层:卷积层,RELU层和池化层,这些层之后连接几个全连接层以支持分类。

由于CNN是深层网络,训练复杂度高,可能需要使用具有GPU的服务器进行训练;另外是受监督的学习方法限制,需要大量的用于训练的标记数据,这在现实应用中也是有挑战性的。

循环神经网络(RNN)

如果数据中的模式随时间变化,最好使用循环神经网络。RNN结构简单,内置的反馈回路允许它作为一个预测引擎,其应用非常广泛,从语音识别到无人驾驶汽车。

在前馈神经网络中,信号仅在一个方向上从输入到输出信号,每次传递一个层;而在循环神经网络中,每层的输出添加到下一个层入并且被反馈回同一层,该层通常是整个网络中的唯一层。

与前馈网不同,循环网可以接收一系列值作为输入,并且还可以产生一系列值作为输出。操作序列的能力使得RNN具有广泛的应用。当输入是单个并且输出是序列时,潜在的应用是图像字幕;具有单个输出的输入序列可以用于文档分类;当输入和输出都是序列时,可以用来逐帧分类视频;如果引入时间延迟,则可以统计地预测需求和供应链方案。

可以将RNN堆叠在彼此之上,形成一个更复杂的输出网络,然而RNN是极难训练的网络。由于RNN使用了反向传播,也会遇到梯度消失的问题。不幸的是,对于RNN而言,梯度消失呈指数恶化。其原因是每个时间步长等同于前馈网络中的整个层。有几种方法来解决该问题。目前最流行的是门控循环单位(GRU)和长期短期记忆(LSTM);另外还有梯度剪裁和陡峭门以及其它更好的优化方法。

自动编码器AE

当尝试找出数据集的基础结构时,自动编码器非常有用。自动编码器采用一组通常未标记的输入,并且在对其进行编码后,尝试尽可能精确地重建它们。因此,网络必须确定哪些数据特征是最重要的。

自动编码器通常包括输入层,输出层和隐藏层。在前向传递方面,有两个步骤:编码和解码。用于编码隐藏层中的特征的相同权重会被用于重建输出层中的图像。训练使用损失度量网络尝试重建输入时丢失的信息量。

并不是所有的自动编码器都是浅层的,其变体深度自动编码器在维数降低方面表现更好,它们的前身是主成分分析(PCA)。

递归神经张量网络(RNTN)

在尝试发现一组数据的分层结构时,RNTN表现更好。

RNTN有三个基本组件。分别为父组(根)、子组(叶)以及根与叶之间的连接。每个组是神经元的集合,其中神经元的数量取决于输入数据的复杂性。根连接到所有叶组,但是每个叶之间彼此不连接。从技术上讲,这三个组件形成一个二叉树。叶组接收输入,根组使用分类器来给出类别和分数。

RNTN结构看起来很简单,但其复杂性来自数据在整个网络中移动的方式。这是由于其过程是递归的。

递归示例:输入一个句子“The car is fast ”,在第一步,将前两个词分别输入叶组1和2。叶组实际上不接收字,而是字的向量(有序数字集)表示。当两个向量中的数字与词汇中的其他单词相比较时,两个单词之间的相似性编码实现特别好的结果。两个向量(由The和Car表示)通过网络移动到根,得到两个值的类别和得分。得分代表当前语法分析的质量,类别代表当前语法分析中结构的编码。网络开始递归,在下一步,第一叶组现在接收当前解析,第二叶接收句子中的下一个字。之后根组将输出三个字长的解析分数(“The,Car,Is)。重复该过程,直到将所有输入全部解析完毕,并且网络具有包含每个单词的解析树。这是RNTN的简化示例并说明了其主要思想。但是在实际应用中,通常对抗更复杂的递归过程。而不是使用句子中的下一个词用于第二叶组,RNTN将尝试所有下一个词,并且最终尝试表示整个子解析的向量。

一旦网络具有最终结构,它通过解析树回溯以便找出句子的每个部分的正确语法标签。RNTN通过将预测的句子结构与从一组标记的训练数据获得的正确句子结构进行比较来用反向传播训练。一旦训练完毕,网络将给与更多类似于其在训练中所解析的树的结构分数。

在自然语言处理中,RNTN用于语法解析和情感分析,还可用于在含有不同分量的场景中解析图像。

数十款阿里云产品限时折扣中,赶紧点击领劵开始云上实践吧!

本文由北邮@爱可可-爱生活老师推荐,阿里云云栖社区组织翻译。

文章原标题《Deep Learning Notes Part II》,作者:Deepak Shah,译者:海棠

文章为简译,更为详细的内容,请查看原文

简单入门——深度学习笔记(Part II)相关推荐

  1. AI Studio 飞桨 零基础入门深度学习笔记6.3-手写数字识别之数据处理

    AI Studio 飞桨 零基础入门深度学习笔记6.3-手写数字识别之数据处理) 概述 前提条件 读入数据并划分数据集 扩展阅读:为什么学术界的模型总在不断精进呢? 训练样本乱序.生成批次数据 校验数 ...

  2. AI Studio 飞桨 零基础入门深度学习笔记1-深度学习的定义

    AI Studio 飞桨 零基础入门深度学习-笔记 人工智能.机器学习.深度学习的关系 机器学习 机器学习的实现 机器学习的方法论 案例:牛顿第二定律 确定模型参数 模型结构介绍 深度学习 神经网络的 ...

  3. AI Studio 飞桨 零基础入门深度学习笔记2-基于Python编写完成房价预测任务的神经网络模型

    AI Studio 飞桨 零基础入门深度学习笔记2-基于Python编写完成房价预测任务的神经网络模型 波士顿房价预测任务 线性回归模型 线性回归模型的神经网络结构 构建波士顿房价预测任务的神经网络模 ...

  4. AI Studio 飞桨 零基础入门深度学习笔记4-飞桨开源深度学习平台介绍

    AI Studio 飞桨 零基础入门深度学习笔记4-飞桨开源深度学习平台介绍 深度学习框架 深度学习框架优势 深度学习框架设计思路 飞桨开源深度学习平台 飞桨开源深度学习平台全景 框架和全流程工具 模 ...

  5. 深度学习者的入门福利-Keras深度学习笔记

    Keras深度学习笔记 最近本人在github上发现一个不错的资源,是利用keras来学习深度学习的笔记,笔记内容充实,数据完善,本人亲自实操了里面的所有例子,深感收获颇丰,今天特意推荐给大家,希望能 ...

  6. 【《深度学习入门》—— 学习笔记(一)】

    <深度学习入门>-- 学习笔记(一)_1-4章 第一章 Python入门 略 第二章 感知机(Perception) 2.1 感知机是什么 感知机接收多个输入信号,输出一个信号.x1, x ...

  7. 生成对抗网络入门详解及TensorFlow源码实现--深度学习笔记

    生成对抗网络入门详解及TensorFlow源码实现–深度学习笔记 一.生成对抗网络(GANs) 生成对抗网络是一种生成模型(Generative Model),其背后最基本的思想就是从训练库里获取很多 ...

  8. CNN入门详解及TensorFlow源码实现--深度学习笔记

    CNN入门详解及TensorFlow源码实现–深度学习笔记 ##一.卷积神经网络 ###1.简介 卷积神经网络是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出 ...

  9. 【《深度学习入门》—— 学习笔记(二)】

    <深度学习入门>-- 学习笔记(二)_5-8章 第五章 误差反向传播法 方法一:基于数学式 - 严密简洁 方法二:基于计算图(computational graph) - 直观 5.1 计 ...

最新文章

  1. 关于寒假和春季开学!教育部通知来了!近400所高校寒假时间已公布!
  2. MAT之GA:GA优化BP神经网络的初始权值、阈值,从而增强BP神经网络的鲁棒性
  3. 又一次的Microsoft Visual C++ 10.0 is required (Unable to find vcvarsall.bat)
  4. Mac 每次都要执行source ~/.bash_profile 配置的环境变量才生效
  5. 2015 10月21日 工作计划与执行
  6. 职场上,比尽力更重要的,是要学会“借力”
  7. 360极速模式和兼容模式对页面的影响
  8. ndarray python 映射_NDArray — 基于Java的N维数组工具
  9. 中国水雾化铁粉行业市场供需与战略研究报告
  10. 饿了别叫妈,叫阿里“爸爸”!
  11. 分享一个蛋疼的俄罗斯方块小游戏
  12. 告别鼠标——【Windows下常见系统快捷键】
  13. Linux 设置交换分区
  14. bio、nio、aio及select、poll、epoll
  15. 昆明冶金职业技术学院计算机,昆明冶金高等专科学校官网
  16. 浏览器兼容IE内核插件-IE TAB 安装
  17. IDEA设置字体随鼠标滚动放大缩小
  18. 魔兽世界单机服务器物品查询,魔兽世界单机版gm命令-物品代要码大全.doc
  19. oracle市场份额情况怎样,Oracle 2013年数据库市场份额47.4 - 再居第一
  20. android ota权限,Android手机Root后不能接收OTA?

热门文章

  1. C 语言 方法外部的数组与普通变量传入方法内部时的区别
  2. python实现货币转换
  3. Reactor设计模式
  4. flutter 弹幕插件_Flutter 实现虎牙/斗鱼 弹幕效果 | 秒速技术
  5. python函数参数列表中的*与**
  6. 华为笔记本matebook13_华为MateBook 13_HUAWEI MateBook 13(i5 8265U/8GB/256GB/独显)_笔记本导购-中关村在线...
  7. Apache VFS:基本介绍
  8. 数据库中的DML,DCL,DDL分别是那些操作?
  9. Vivado2015.4使用教程(一个完成工程的建立)
  10. 构建基于分布式SOA架构的统一身份认证体系