[DeeplearningAI笔记]ML strategy_2_4端到端学习
机器学习策略-端到端学习
End-to-end deeplearning
觉得有用的话,欢迎一起讨论相互学习~Follow Me
2.9 什么是端到端学习-What is End-to-end deeplearning
以前有一些数据处理系统或者学习系统,它们需要多个阶段的处理. 端到端学习就是忽略中间的过程用单个神经网络代替它.
Speech recognition example
- 你的目标是输入X,比如说一段音频,目标是将其映射到Y,就是这段音频的听写文本.
- 传统阶段上,语音识别需要很多阶段的处理,首先你要提取一些特征,一些手工设计的音频特征.
- 例如使用MFCC-用来从音频提取一组特定的人工设计的特征.
- 在提取一些低层次的特征之后,你可以使用 机器学习算法 在音频片段中找到音位,音位是声音的基本单元.例如Cat这个词由三个音位构成,算法将Cu-Ah-Tu三个音位提取出来,然后将音位串在一起构成独立的词.然后你将词串起来构成音频片段的听写文本.

- 相比于传统的流水线形式的算法,端到端的深度学习即是你训练一个巨大的神经网络, 输入就是一段音频,输出直接是听写文本 .其直接绕过了传统流水线机器学习系统的很多步骤.
- 但是需要注意的是,你可能需要大量数据才能让系统表现得更好. 例如当你只有3000h的语音数据时,原先的机器学习系统会表现得更好,但是当你有10000h的语音数据或者是1000000h的语音数据时,端到端方法就开始体现出优势了. 即小规模数据时流水线方式表现更好,但是当大数据集时,端到端的学习效果会更好.
- 倘若是中等数量级别的数据,我们也可以取中间的方法,绕过特征提取的环节直接输出特征提取得到的音位.
Face recognition example
- 人脸识别门禁

- 当仔细观察人脸识别系统中的相机所得相片会发现, 人可以从各种角度靠近门禁系统,所以相机得到的照片人所在的位置不固定,而且面部出现的位置和大小也各有差别 ,例如当人比较靠近相机时,脸会比较大,人脸比较远离相机时,脸会比较小.
- 所以系统识别时,不是直接将相机所得图片喂到神经网络中,而是 一个多部方法,先检测出相片中的人脸,找到人脸位置.然后放大图片并裁剪图片使人脸居中显示,将此图片放到网络中,让网络去学习或者估计人脸的身份
- 研究人员发现,这个问题还可以分解为两个更简单的步骤:
- 弄清人脸在哪里.
- 看着脸,弄清楚这是谁.
- 对于辨认人脸的步骤,系统已经储存了公司每个员工的照片信息, 我们要做的是将检测到的人脸与数据库中的人脸进行比较 .
- 这个例子告诉我们,即使你没有足够的数据来进行端到端学习,但是有足够的数据来进行子任务1和子任务2.将其拆分为两个步骤更好~.
More example
Machine translation
- 传统上,机器翻译系统也有一个很复杂的流水线:英文--得到文本--文本分析--提取特征-...-中文
现在英文到中文的翻译已经有很多数据对,所以目前端到端的深度学习在机器翻译领域非常好用.
Estimating child's age
- 通过观察一个孩子手部的x光照片,估计一个孩子的年龄.
- 传统上,拍摄x光--分割出每一块骨头--分辨出骨头所在部位--查表看儿童对应段骨头的平均长度--估计儿童的年龄.
但是这个例子还不能使用端到端的方式去训练这个任务,因为我们没法获得足够多的数据去训练这个任务.
2.10 Whether to use end-to-end learning是否要使用端到端学习
pros and cons 优点和缺点
Pros
- 让数据自己说话.
- 如果你有足够多的(x,y)数据,不管从x到y最合适的函数映射是什么,如果你训练一个足够大的神经网络,希望这个神经网络能够自己搞清楚.相比于传统的机器学习方法,更能够捕获数据中的任何统计信息,而不是引入人类的成见.
- 例如举个例子:在语音识别领域,早期的识别系统有音位的概念--就是基本的声音识别单元.NG认为音位是人类语言学家生造出来的,NG认为音位实际是语音学家的幻想.用音位描述也许可行,但是 不要强迫你的学习算法以音位为单位进行思考,如果你让你的学习算法学习它想学习的任意的表示方式而不是使用你的学习算法使用音位作为表示方式,那么整体表现可能会更好.
- 所需手工设计的组件更少
能简化你的设计工作流程,你不需要花太多时间去手工设计功能,手工设计这些中间表示方式.
Cons
- 需要大量的数据
- 它排除了可能有用的手工设计组件
- 机器学习研究人员一般都比较鄙视手工设计的东西,但是如果你的数据量不够的话.你的学习算法没办法从很小的训练集数据中获得洞察力,所以手工设计的组件在这种情况下是把人类知识直接注入算法的途径.这有时候并不是一件坏事,有时候非常有效.
- NG认为机器学习系统有两个重要的知识获取来源,一个是数据另一个是人工设计的东西,可能是组件,功能或者其他的东西.
当你有成吨的数据时,手工设计的东西就不太重要了,但是你没有太多的数据时,构造一个精心设计的系统实际上可以将人类对这个问题的很多认识直接注入到问题里.
Key question
是否使用端到端的算法取决于问题:你是否有大量的的数据能够使系统直接学到从x到y足够复杂的函数.
[DeeplearningAI笔记]ML strategy_2_4端到端学习的更多相关文章
- [DeeplearningAI笔记]ML strategy_2_3迁移学习/多任务学习
机器学习策略-多任务学习 Learninig from multiple tasks 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.7 迁移学习 Transfer Learninig 神 ...
- [DeeplearningAI笔记]ML strategy_1_3可避免误差与改善模型方法
机器学习策略 ML strategy 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.8 为什么是人的表现 今天,机器学习算法可以与人类水平的表现性能竞争,因为它们在很多应用程序中更有生产 ...
- [DeeplearningAI笔记]ML strategy_1_2开发测试集评价指标
机器学习策略 ML strategy 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.4 满足和优化指标 Stisficing and optimizing metrics 有时候把你要考 ...
- [DeeplearningAI笔记]ML strategy_1_1正交化/单一数字评估指标
机器学习策略 ML strategy 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.1 什么是ML策略 机器学习策略简介 情景模拟 假设你正在训练一个分类器,你的系统已经达到了90%准确 ...
- [DeeplearningAI笔记]ML strategy_2_2训练和开发/测试数据集不匹配问题
机器学习策略-不匹配的训练和开发/测试数据 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.4在不同分布上训练和测试数据 在深度学习时代,越来越多的团队使用和开发集/测试集不同分布的数据来 ...
- [DeeplearningAI笔记]ML strategy_2_1误差分析
机器学习策略-误差分析 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.1 误差分析 训练出来的模型往往没有达到人类水平的效果,为了得到人类水平的结果,我们对原因进行分析,这个过程称为误差 ...
- [DeeplearningAI笔记]改善深层神经网络_深度学习的实用层面1.10_1.12/梯度消失/梯度爆炸/权重初始化
觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.10 梯度消失和梯度爆炸 当训练神经网络,尤其是深度神经网络时,经常会出现的问题是梯度消失或者梯度爆炸,也就是说当你训练深度网络时,导数或坡 ...
- [DeeplearningAI笔记]改善深层神经网络_深度学习的实用层面1.9_归一化normalization
觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.9 归一化Normaliation 训练神经网络,其中一个加速训练的方法就是归一化输入(normalize inputs). 假设我们有一个 ...
- 【前端】移动端Web开发学习笔记【2】 & flex布局
上一篇:移动端Web开发学习笔记[1] meta标签 width设置的是layout viewport 的宽度 initial-scale=1.0 自带 width=device-width 最佳实践 ...
随机推荐
- 在 JavaScript 中使用构造器函数模拟类
今天,我们要讲的是在 JavaScript 中使用构造器函数(construcor function)模拟类. 构造器函数简介 你可以使用 ES6 的 class 关键字来实现类,不过我建议你使用传统 ...
- JSP入门 taglib
自定义标签库(taglib),将原本需要写在jsp中的java代码封装起来,成为可复用的组件. taglib的写法和jsp动作(action)很相似,是由taglib前缀,冒号,标签名三者的组合体.其 ...
- 无限树Jquery插件zTree的使用方法
其实Ztree官网已经有详细的API文档,一切以官网上的说明为准,我在此只是结合实践总结几条常用的ztree的功能特性. (ztree的语法结构是基于key-value的形式配置) 1:支持异步加载数 ...
- 宿命的PSS
宿命的PSS 时间限制: 1 Sec 内存限制: 128 MB提交: 60 解决: 37[提交][状态][讨论版] 题目描述 最小生成树P.S.S在宿命的指引下找到了巫师Kismi.P.S.S希望 ...
- C#实现断点续传
断点续传的原理在了解HTTP断点续传的原理之前,先来说说HTTP协议,HTTP协议是一种基于tcp的简单协议,分为请求和回复两种.请求协议是由客户机(浏览器)向服务器(WEB SERVER)提交请求时 ...
- centos 7.3二进制安装mariadb10.2.8完美步骤
(1)在centos7系统上,yum info mariadb可以找到提供mariadb包的官方网站,在到官方网站下载最新的mariadb包,然后rz到linux系统上去 (2)准备用户 1.user ...
- 平板不能设置代理的情况下利用随身wifi进行http代理访问
需求来源:平板或手机是个封闭系统无法给wifi设置代理,需要利用filllder进行抓包,内容篡改等实验 拥有硬件资源:PC机器 + 小米随身wifi 方案1: NtBind Dns + Nginx ...
- Ricequant-米筐金工-估值因子
Ricequant米筐金工--因子分析 作者:戴宇.小湖 上一篇介绍了单因子检验是因子分析前重要的一个步骤,是构建因子库.建立因子模型的基础,这篇报告首先对常见估值因子进行初步的检验. 第一篇.估值因 ...
- ubuntu 14.04 vim YoucompleteMe 代码自动补全工具安装
安装步骤如下: sudo apt-get install vim ; sudo apt-get install vim-youcompleteme ; sudo apt-get install vim ...
- django(注册→登录→主页)增强版
首先准备一张空白的数据表: urls展示: views主要的几个函数以及数据库链接代码:↓ 后端编写结束↑ ↓前端 前端界面:↓ 幸好成功了,接下来看看数据库有没有插入数据.... 这么 ...