• 吴恩达读书笔记【5】-流水线与端到端


    首先,我们可以做这样简单的归纳:流水线适合传统机器学习算法,端到端适合深度学习算法;    【不绝对,但大多数情况下适用】

    模型1-情感分类

    假如我们正在构建一个情感分类的系统, 输入一句话,输出正面还是负面评论,如

    这个拖把非常好用----正面,

    这个产品非常不好用----负面,

    对于流水线系统

    可能包含多个组件,如下图

    解析器:一种通过关键词识别技术对文本进行注释的系统,如词性标注,获得如下句子:这个拖把(名词)非常好用(形容词)

    普遍情况下可以理解为特征工程

    情感分类器:一种学习算法,输入带标注的文本,输出句子情感

    解析器的标注对这个算法帮助很大:通过给形容词一个较高的权重,使得算法能很快找到“非常”这样的重要词汇,而忽略“这个”不重要的词汇

    对于端到端系统

    模型直接连接了输入和输出

     

    神经网络常用于端到端系统, 但是端到端系统不适用于所有情况,不严谨的总结一句:端到端系统需要大量的数据和大规模的模型

    模型2-自动驾驶系统

    流水线不只是串行的系统,也可以是并行的系统,如自动驾驶模型

    它包含了 3 个组件

    检测车辆:

    检测行人:

    路径规划:

    流水线中的系统并不一定都需要学习,如路径规划

    自动驾驶端到端系统如下

    显然自动驾驶端到端不如流水线好实现

     

    流水线 vs 端到端

    设计模型时如何选择流水线或者端到端呢,有如下依据

    1. 数据量大小

    流水线加入了认为设计的特征描述,使得算法更容易学到有用的知识,对于数据量不太大的模型,流水线能加速收敛,而端到端可能还没学到有用的知识就已经用完了样本

    2. 数据获取难度

    以自动驾驶为例,

    对于流水线系统,检测车辆、检测行人都很容易获取大量的数据,这方面的研究已经很成熟;

    对于端到端系统,直接获取<图像,操作方向>这样的数据是非常困难的;

    3. 任务的简单化

    详情参看下面参考资料 P96

    我简单总结如下:如果一个任务分解成流水线后变得简单,那就选择流水线

    4. 输出更为丰富的 label

    通常输出 label 为 0-1,假设我们需要更加丰富的输出,如

    输入一种图片,输出对图片的文字描述,一句话,

    此时选择端到端系统

    参考资料:

    吴恩达:完整翻译版《机器学习要领》

  • 相关阅读:
    elixir——修改成国内源镜像
    c# 选择文件或目录
    leetcode10 正则表达式匹配
    WPF常用布局
    openpyxl
    uWSGI的编码问题解决方法
    安装condardkitchempropuwsgi
    docker 中Ubuntu aptget换源
    二进制k8s 集群新增加node 节点
    基于黑群的家庭服务中心搭建记录
  • 原文地址:https://www.cnblogs.com/yanshw/p/12185738.html
Copyright © 2020-2023  润新知