2017-04-02 15:32:33 White_Idiot 阅读数 7128

概述


深度学习(Deep Learning)是利用多层神经网络结构,从大数据中学习现实世界中各类事物能直接用于计算机计算的表示形式(如图像中的事物、音频中的声音等),被认为是智能机器可能的“大脑结构”

Learning:让计算机自动调整函数参数以拟合想要的函数的过程

Deep:多个函数进行嵌套,构成一个多层神经网络,利用非监督贪心逐层训练算法调整有效地自动调整函数参数

简单地说深度学习就是:使用多层神经网络来进行机器学习

从生物神经元到人工神经元


生物神经元的数学模型

生物神经元.png

生物神经元的工作机制:一个神经元就是一个可以接受、发射脉冲信号的细胞。树突接受其他神经元的脉冲信号,而轴突将输出脉冲传递给其他神经元

人工神经元.png

人工神经元模型:把一个神经元看做一个计算单元,对输入进行线性组合,然后通过该一个非线性的激活函数作为输出。有

在这里,x和y作为输入和输出,它们是任意的实数。w和b是模型的参数,不同的参数会构成实现不同功能的模型

人工神经元的激活函数

不同的激活函数适合不同的具体问题和神经网络参数学习算法

如果期望得到离散的输出,可以使用阶跃激活函数

如果期望得到连续的输出,可以使用一类被称为sigmoid的S形函数。使用较多的是Logistic函数

Logistic函数处处可导,并且导数大于0,为后面的参数学习提供了方便

从生物神经网络到人工神经网络


构成人脑的神经元所实现的功能很固定很简单,人之所以拥有智能,是因为数量庞大的这样的简单单元以某种非常特殊的方式互相连接着

人工神经网络可以看作是对人脑某种程度的模拟,人工神经网络中的函数相当于定义了某种特殊的脑细胞的连接方式,而函数中可调的参数则定义了在这种连接方式下这些连接的强度

神经网络的理念是,给出一种通用的函数形式,它的计算步骤、方式均是固定的,其功能只由其中的参数取值决定

有监督参数学习


模型的评价

设输入为x,输出为y,我们期望的输出为y*,可定义实际输出与期望输出的差别作为评价神经网络的好坏。例如将两个向量的距离的平方定义为这个差别

通常需要考察一个测试集,例如有

定义损失函数为

有监督学习

既然损失函数可以用来评价模型的好坏,那么让损失函数的值最小的那组参数就应该是最好的参数

在数学上,这是一个无约束优化问题

如果用测试集上的损失函数来调整参数,会出现严重过拟合。所以通常准备两个集合,一个是测试集,一个是训练集。参数的学习只针对训练集,找到使训练集损失尽量小的参数,然后在测试集上测试该组参数面对训练集之外的样本的表现

梯度下降法

梯度下降法是解决无约束优化问题的基本方法。首先选择一组参数,然后一次次地对这组参数进行微小的调整,不断使得新的参数的损失函数更小。梯度下降算法

梯度下降算法最大的不足是无法保证最终得到全局最优的结果。另外,步长的确定也是一个问题,一种方法是让步长随着时间t的推移而变小

后向传播算法计算梯度

多层前馈网络

多层前馈网络可以表示成嵌套函数

如果参数学习用梯度下降法,方法并不直观。此时应该用后向传播算法

后向传播算法的数学原理其实就是计算导数的链式法则

梯度计算的步骤,要先求得y的梯度,才能求得b的梯度,最后求得W的梯度

计算各个变量的值是从左到右计算的,而计算梯度是从右到左计算的,这就是后向传播算法名字的来由

非监督贪心逐层预训练


自动编码器

它是一种只有一层隐层的神经网络,训练的目的是让输出尽量等于输入——通过隐层到输出层的变换,我们得到了包含输入样本几乎全部无损信息的另一种表示形式,能将其完全还原成输入

输入层到隐层的过程称为编码过程,隐层到输出层的过程称为解码过程

通常隐层神经元个数小于输入层,或者在隐层加入额外的限制

逐层预训练

逐层预训练.png

首先构造一个自动编码器,输入为深度神经网络的输入,隐层神经元个数为深度神经网络第一个隐层神经元个数。如此训练自动编码器后,记录自动编码器输入层到隐层的权重,这些权重用以初始化深度神经网络输入层到第一个隐层权重的初始值。往后自动编码器的输入为前一个深度神经网络的隐层。如此逐层重复,知道所有层之间的权重均被初始化

深度学习的训练方法


深度神经网络的训练过程主要是先逐层预训练初始化深度神经网络每一层的参数,然后通过监督学习对整个深度结构神经网络进行微调。训练过程如下

  1. 将第一层作为一个自编码模型,采用无监督训练,使原始输入的重建误差最小
  2. 将自编码模型的隐单元输出作为另一层的输入
  3. 按步骤2迭代初始化每一层的参数
  4. 采用最后一个隐层的输出作为输入施加于一个有监督的层(通常为输出层),并初始化该层的参数
  5. 根据监督准则调整深度结构神经网络的所有参数

卷积神经网络模型(CNN)


特点

卷积神经网络通过使用接受域的局部联结,对网络的结构有一些约束限制

  1. 卷积层:特征提取、特征映射
  2. 子采样层(池化层)

另外一个特点是权值共享,由于同一隐层的神经元共享同一权值集,大大减少了自由参数的数量

训练

  1. 向前传播阶段:先用随机数初始化网络所有权值然后训练
  2. 向后传播阶段:误差反向传播

深度置信型网络模型(DBN)


受限玻尔兹曼机(RBM)

RBM包含隐层、可见层和偏置层,可见层和隐层间的链接是不定向的和完全链接的

DBN的生成结构

DBN可以解释为贝叶斯概率生成模型,由多层随机隐变量组成,上面的两层具有无向对称联结,下面的层得到来自上一层的自顶向下的有向联结,最底层单元的状态为可见输入数据向量。DBN由若干RBM堆栈组成

堆栈自编码网络模型


自编码模型

自编码模型是一个两层的神经网络,第一层为编码层,第二层为解码层

堆栈自编码网络模型

堆栈自编码模型是一个由多层自编码模型组成的神经网络,其前一层的自编码器的输出作为其后一层自编码器的输入

对于一个n层堆栈自编码网络模型的编码过程就是,按照从前向后的顺序执行每一层自编码器的编码步骤

深度学习的应用领域


  1. 语音识别
  2. 图像和视频
    1. 手写字体识别
    2. 人脸识别
    3. 图像识别
  3. 自然语言处理
  4. 搜索广告与CTR预估

参考文献书籍


《神经网络与深度学习》吴岸城

《人工智能及其演化》刘海滨

《大数据智能——互联网时代的机器学习和自然语言处理技术》刘知远 崔安颀

2016-08-02 06:52:58 happytofly 阅读数 178

本文来自华为诺亚方舟实验室资深专家刘晓华在携程技术中心主办的深度学习Meetup中的主题演讲,介绍了华为诺亚面向语音语义的深度学习进展。

本次演讲简要回顾了深度学习近十年进展,重点介绍华为诺亚方舟实验室最近两年内和深度学习相关的研究成果,并探讨了深度学习的未来趋势。

深度学习的近十年进展

深度学习为什么现在这么火?大数据、算法突破和计算能力。算法上的突破有包括三点:第一点,对多层神经网络做预训练。第二点,大量标注数据驱动的监督学习和防过拟合技术的结合,例如dropout。第三点,注意力模型。

图片描述

从应用角度来看,自2012年来,深度学习在语音、图片、视频识别以及自然语言处理等方面取得重大突破等。

  • 语音识别:基于深度神经网络的声音模型替隐马尔可夫框架下的基于混合高斯分布的升学模型,使语音识别取得了突破性进展。目前完全融合了声学模型、语言模型和声学词典的基于深度学习的端到端的语音识别系统也开始出现,并有可能演进为下一代的语音识别系统。

  • 图像识别:2011年,基于深度卷积神经网络的图像识别系统在ImageNet数据集上取得极大成功,并开始有成功的商业化应用。

  • 自然语言处理:自2014年始,深度学习在语法分析、机器翻译、对话等领域都取得了一系列重要成果。

  • 符号人工智能:深度学习开始进入知识表达和推理等传统人工智能的领域,并取得了初步成功。

  • 控制/强化学习:深度学习和强化学习结合催生了深度强化学习技术,该技术在控制领域,如游戏操作和机器人的控制的端到端学习(end-to-end learning),都有了令人瞩目的成功。(揭秘深度强化学习

诺亚语音语义方面深度学习相关研究

华为诺亚方舟实验室在深度自然语言处理研究(deep learning for NLP)领域具有多年的积累。

图片描述

  • 深度语义匹配:对待匹配的两个目标对象的各个方面的匹配关系用深度神经网络进行建模。应用之一是基于自然语言的图片搜索:采用文本和图像深度匹配模型做手机上的图像搜索。

    图片描述

  • 自然语言对话:我们提出了第一个基于序列编码-解码算法的神经网络的对话模型。它能够理解你所说并产生合适的应答”。目前这一成果被业界广泛引用。(基于大数据与深度学习的自然语言对话)

  • 机器翻译:传统的基于统计的机器翻译,是从大量的平行语料库中学习大量的翻译规则,然后基于翻译规则来做翻译。它的翻译结果会比较忠实原文,但往往比较生硬。其特点可以用信而不达来概括。2014年基于基于编码-解码算法的端-到-端的翻译系统被提出来了。它先会把源语言句子做语义编码,相当于先理解原句,然后根据源端的语义编码再生成目标句子。为了生成更好的目标句子,它会引入一个“注意力模型”,这个注意力模型会建议生成下一个目标翻译词时主要考虑源句端的哪些词。我们最近做的一个有意思的工作是把“覆盖率模型”这个传统统计机器翻译中常用的技术叠加到了”注意力模型”上,使得在生成下一个目标翻译词的时候,把关注重点能更多的放到那些还没有充分翻译的源句端的词上,从而一定程度缓解过译和漏译问题。这一成果已经在今年国际计算语言学协会大会(ACL 2016)上发表了。(深度学习和自然语言处理中的attention和memory机制

  • 问答系统:我们的问答系统整体基于端到端的编码解码框架,但把知识库也融合进来了,是业界第一个基于深度学习的基于自然语言的问答系统。在生成答案的下一个目标词的时候,它会判断是否把注意力放到知识库,以及知识库中哪个条目,并从中选出答案作为下一个目标词。

  • 基于自然语言的推理:这一块相关研究我们刚刚起步,我们当前的方法也非常“朴素”。我们目前研究的聚焦在下面的场景:给定若干个事实,以及问题,输出答案。限定答案是某个分类标签,我们把这个任务转化为一个分类问题。

相关链接:深度学习的最新进展及诺亚方舟实验室的研究

深度学习的未来趋势

图片描述

深度学习还能有哪些突破?从解决实际问题的角度,我们从这三个方面去思考:

  1. 自然语言处理,人看起来简单自然的符号,能否与传统人工智能融合。
  2. 能否将举一反三的能力融入到深度学习中?
  3. 无监督学习是否能有所突破。

结合我们多年的研究和业界实践的经验,目前我们的关注点如下:

  • 更加灵活的表示方式。代表性的工作包括神经图灵机(Neural Turing Machine)、记忆网络(memory network)以及诺亚最近的Neural Transformation Machine和Neural Reasoner。

  • 更加复杂的端到端学习系统。不再拘泥于一个简单的模型,而是多个不同功能的神经网络耦合而成的系统,这个系统可以和现实世界完成对接和交互,能够接受延迟的和曲折的监督信号(和增强学习的结合),是“可微的”,或者至少是可以被优化的(譬如基于抽样的优化)。

    图片描述

  • 和传统人工智能的融合。试图去解决传统符号人工智能任务,推理、知识表达等,可以将符号人工智能的强大的逻辑能力和神经网络的灵活性结合。

    图片描述

  • 和知识库的结合。在对话等需要真实世界知识的场景,我们需要建立一个可以高效动态的访问知识库的神经网络系统。大量需要解决的问题:知识库的表示问题,访问的方式和效率问题,End-to-end 训练的问题,和神经网络内部的“知识”的融合问题。

    图片描述

  • 受教式人工智能:数据+知识驱动的深度学习。面向特定场景,接受教育,自我成长,个性化的系统。(华为研究的畅想: Educated AI (EAI)])

演讲PPT下载:

携程技术中心深度学习Meetup系列:

本文由携程技术中心(微信公号:ctriptech)童兰利整理,并经过演讲者本人确认和授权发布。
责编:周建丁(zhoujd@csdn.net)


CCAI 2016中国人工智能大会将于8月26-27日在京举行,AAAI主席,多位院士,MIT、微软、大疆、百度、滴滴专家领衔全球技术领袖和产业先锋打造国内人工智能前沿平台,7+重磅大主题报告,4大专题论坛,1000+高质量参会嘉宾,探讨人机交互、机器学习、模式识别及产业实战。八折特惠门票截止8月12日24时

图片描述

2018-10-02 18:58:38 zhao2018 阅读数 129

神经网络和深度学习

1.房地产和在线网络一般用通用标准神经网络 (Standard NN)

图像领域常用卷积神经网络 (CNN)

序列数据(例如音频含有时间成分,因此被表示为一维时间序列;语言(英语汉语字母或单词)总是逐个出现,所以也是序列数据)通常用循环神经网络(RNN)

混合情况需要运用更复杂的神经网络

2.训练集不大的时候,各种算法性能相对排名并不是很确定,最终的性能更多的取决于手工设计组件的技能以及算法处理方面的一些细节。只有在大数据领域,才能体现出神经网络稳定地优先于其他算法。

2019-03-11 17:50:29 qq_41834780 阅读数 18

1、深度学习是机器学习的一个分支,通过数据构建模型(深度神经网络)—训练模型(前向反向传播)—解决问题
2、语音领域
基于CTC训练的LSTM程序提升了安卓手机的语音识别能力
3、TensorFlow—深度学习的成功案例
CUDA,cuDnn—深度学习基础加速框架

4、解决什么问题呢?

非结构化数据—文本、图像、视频、音频
自动特征提取

  • 计算机视觉
  • 自然语言处理—文本朗读,中文自动分词,翻译
  • 语音领域—语音合成,分离,分类

5、感知器介绍
使用感知器可以完成一些基础的逻辑运算:与或非,与非
因为仅能输出0-1,不能处理异或问题。出现多层感知器(添加了隐层的感知器)
输入层—隐层—输出层

6、神经网络
在感知器的基础上,将阶跃换成非线性函数(激活函数)就是神经网络

7、全连接神经网络
一个感知器可以有多个输入但只能一个输出
多个感知器组成的是全连接网络
同理得到全连接神经网络。

  • 前向传播:与感知器的前馈计算只是激活函数不同
  • 反向传播:BP算法 Back Propagation
2019-02-18 09:39:36 u012514944 阅读数 1658

深度学习降噪,越来越受到音频算法工程师的关注,以往每一种算法只能处理一种或者几种效果的局限有望

被打破,这是大家都往这个方向研究的原因之一。

 

下面分享基于rnnoise 开源算法的训练经验:

1、效果的好坏,第一取决于噪声源以及纯语音数据的质量,这是深度学习算法的最重要的部分。所以收集

高质量的数据是关键。

2、语音信号特征点的选择,也是深度学习算法最重要的部分,直接决定了训练的效果。

3、深度学习模型结构以及其复杂度,这个现在大部分模型都有一定的效果,哪一个更好就需要自己训练测试。

总的来说:1 = 2 > 3;

 

鉴于目前现状,我觉得对于音频算法工程师做深度学习降噪的困难主要是:

1、高质量数据的收集,因为目前网上很难找到好的数据,语音识别的数据往往并不纯净。

2、由于第一点的问题,导致深度学习降噪的效果没有理想的好,甚至对于一些信噪比的噪声,效果不如基于

噪声估计的算法,这个时候就需要采取更多的其他的方式来优化。

3、特征点的选择以及训练模型也需要更多的实验。

附:

rnnoise 降噪算法 与传统算法对比分析: https://blog.csdn.net/u012514944/article/details/85247753

本文只是简单分析深度学习降噪目前的挑战,欢迎大家加音频算法讨论群:(作者zeark)153268894 

什么是深度学习

阅读数 163

没有更多推荐了,返回首页