在传统的数据处理系统或学习系统中,有一些工作需要多个步骤进行,但是端到端的学习就是用一个神经网络来代替中间所有的过程。

举个例子,在语音识别中:

X(Audio)----------MFCC---------->features----------ML---------->phonemes--------->words-------------->Y(transcript)

首先输入音频,使用MFCC提取低层次特征,使用机器学习的方法得到音位(声音最小划分),转化为单词,最后形成文本

在end-to-end learning中:

X(Audio)------------------------------------------------------------------------------------------------------------------->Y(transcript)

实际上,如果训练数据较少的时候,传统的流水线式做法更加的出色。只有在拥有大量数据的时候,end-to-end方法才能发出耀眼光芒。

当你的数据集适中的时候,其实还可以使用神经网络代替流水线中的一些步骤,比如绕过MFCC和ML,直接从Audio中提取音位,这算是不完善的end-to-end学习。

在百度的人脸识别中,采用了分步的end-to-end learning。

首先将采集到的图片采用第一个算法分割出人脸的部分然后中心化放大。

接着采用第二个网络来对比数据库,返回人脸是否为员工。

end-to-end deep learning优点和缺点:

优点:

1.let tthe data speak让机器自己选择数据的训练方式,而不是人为的筛选特征。比如在上面的语音识别例子中,传统的方式是人工找到音位最后完成工作。但是音位也只是人为设计的概念,所以让机器自己理解可能效果更好。

2.less hand-designing of components needed所需手工设计组件更少,这有助于简化工作流程,而不是每一阶段都需要大量投入人力物力和时间。

缺点:

1.may need large amount of data需要大量的数据

2.excludes potentially useful hand-designed components排除了一些很有用的手工设计组件在外

ubuntu之路——day11.7 end-to-end deep learning的更多相关文章

  1. ubuntu之路——day11.6 多任务学习

    在迁移学习transfer learning中,你的步骤是串行的sequential process 在多任务学习multi-task learning中,你试图让单个神经网络同时做几件事情,然后这里 ...

  2. ubuntu之路——day11.5 迁移学习

    在深度学习领域中,最强力的理念之一就是可以将神经网络学习的一种知识应用到另一个独立的任务中. 看上面的例子,首先我们有一个已经完成训练的神经网络,其目标是图像识别,我们有了绿色的1000000张图片并 ...

  3. ubuntu之路——day11.4 定位数据不匹配与人工合成数据

    1.人工检验train和dev/test之间的区别: 比如:汽车语音识别中的噪音.地名难以识别等等 2.使得你的训练集更靠近(相似于)dev/test,收集更多类似于dev的数据: 比如:dev中存在 ...

  4. ubuntu之路——day11.3 不匹配数据划分的偏差和方差

    在11.2中,我们提到了一种数据划分的方法,那么怎么衡量这种数据划分方法中的误差呢? 来看一个例子:有20w条各种领域的语音识别数据,2w条汽车语音定位数据 train+dev+test,其中trai ...

  5. ubuntu之路——day11.2 快速搭建系统并进行迭代、在不同的划分上进行训练和测试

    快速搭建系统并进行迭代 1.建立dev/test set,并确定你的目标 2.快速建立初始化的系统 3.使用前面提到的bias/variance分析和错误分析来进行模型优化和迭代 针对以上的过程,An ...

  6. ubuntu之路——day11.1 如何进行误差分析

    举个例子 还是分类猫图片的例子 假设在dev上测试的时候,有100张图片被误分类了.现在要做的就是手动检查所有被误分类的图片,然后看一下这些图片都是因为什么原因被误分类了. 比如有些可能因为被误分类为 ...

  7. ubuntu之路——day1(一点十五分 MMP终于把显卡装好了)

    因为要上手深度学习的原因,购置了一台RTX2080TI+ubuntu18.04的机器 例行两条命令 sudo apt-get update sudo apt-get upgrade 开启巨坑第一天,以 ...

  8. python之路-Day11

    引子 到目前为止,我们已经学了网络并发编程的2个套路, 多进程,多线程,这哥俩的优势和劣势都非常的明显,我们一起来回顾下 协程 协程,又称微线程,纤程.英文名Coroutine.一句话说明什么是线程: ...

  9. 初学python之路-day11

    一.函数的参数:实参与形参 # 参数介绍: # 函数为什么要有参数:因为内部的函数体需要外部的数据 # 怎么定义函数的参数:在定义函数阶段,函数名后面()中来定义函数的参数 # 怎么使用函数的参数:在 ...

随机推荐

  1. Kali 2019(debian linux)安装MySql5.7.x

    Kali 2019(debian linux)安装MySql5.7.x MySQL安装 确认是否安装MySQL 终端输入:mysql 如出现Welcome to the MariaDB monitor ...

  2. Hybris订单价格的折扣维护

    backoffice里创建一个新订单,维护一个行项目,添加一个产品: 在行项目的SubTotal界面,维护Base Price,在Discount values字段里,输入折扣信息:discount: ...

  3. NT Kernel & System (ntoskrnl)占用80端口

    释放80端口 netstat -ano|findstr "80" 查询占用的进程 , PID =4 发现是system进程 无法直接kill. 1. 关闭iis的默认网站的80端口 ...

  4. Ubuntu安装Gitlab Runner

    第一步: 添加GitLab的官方存储库:    curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runne ...

  5. 二维数组中的查找 - Java版 -简单二分查找 -<<剑指Offer>> -水题

    如题 (总结) -认真读题, 还WA了一次, https://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e?tpId=13&am ...

  6. Bootstrap框架简介

    Bootstrap是Twitter公司(www. twitter.com)开发的一个基于HTML , CSS , JavaScript的技术框架,符合HTML和 CSS规范,且代码简洁.视觉优美.该框 ...

  7. Linux UART介绍

    1. UART介绍 UART是一类tty设备, 是一种串行端口终端, 具体可参考<UART接口介绍>在Linux中UART属于tty驱动的一部分, 具体实现包括驱动抽象层和硬件实现层 本文 ...

  8. Navicat 的使用 —— 快捷键

    名称 功能 备注 Ctrl+Q 打开查询窗口   Ctrl+/  注释sql语句   Ctrl+R  运行查询窗口的sql语句   Ctrl+Shift+R 只运行选中的sql语句   F6  打开一 ...

  9. Spring和mybatis整合 org.mybatis.spring.mapper.MapperScannerConfigurer

    在springmvc与mybatis整合时,需要对每一个mapper定义对应的一个MapperFactoryBean,可以使用MapperScannerConfigurer自动扫描mapper,然后自 ...

  10. 解决Mac外接显示器字体模糊的问题

    Mac外接显示器时,除非接的是Apple自家的显示器“ACD”,不然一般会遇到字体模糊发虚的问题.在终端中执行命令: defaults -currentHost write -globalDomain ...