机器学习算法理论在上个世纪90年代发展成熟,在许多领域都取得了成功应用。但平静的日子只延续到2010年左右,随着大数据的涌现和计算机算力提升,深度学习模型异军突起,极大改变了机器学习的应用格局。今天,多数机器学习任务都可以使用深度学习模型解决,尤其在语音、计算机视觉和自然语言处理等领域,深度学习模型的效果比传统机器学习算法有显著提升。

那么相比传统的机器学习算法,深度学习做出了哪些改进呢?其实两者在理论结构上是一致的,即:模型假设、评价函数和优化算法,其根本差别在于假设的复杂度,如下图所示。


不是所有的任务都像牛顿第二定律那样简单直观。对于图1中的美女照片,人脑可以接收到五颜六色的光学信号,能用极快的速度反应出这张图片是一位美女,而且是程序员喜欢的类型。但对计算机而言,只能接收到一个数字矩阵,对于美女这种高级的语义概念,从像素到高级语义概念中间要经历的信息变换的复杂性是难以想象的!这种变换已经无法用数学公式表达,因此研究者们借鉴了人脑神经元的结构,设计出神经网络的模型。

深度学习改变了很多领域算法的实现模式。在深度学习兴起之前,很多领域建模的思路是投入大量精力做特征工程,将专家对某个领域的“人工理解”沉淀成特征表达,然后使用简单模型完成任务(如分类或回归)。而在数据充足的情况下,深度学习模型可以实现端到端的学习,即不需要专门做特征工程,将原始的特征输入模型中,模型可同时完成特征提取和分类任务,如下图所示。


以计算机视觉任务为例,特征工程是诸多图像科学家基于人类对视觉理论的理解,设计出来的一系列提取特征的计算步骤,典型如SIFT特征。在2010年之前的计算机视觉领域,人们普遍使用SIFT一类特征+SVM一类的简单浅层模型完成建模任务。

SIFT特征由David Lowe在1999年提出,在2004年加以完善。SIFT特征是基于物体上的一些局部外观的兴趣点而与影像的大小和旋转无关。对于光线、噪声、微视角改变的容忍度也相当高。基于这些特性,它们是高度显著而且相对容易撷取,在母数庞大的特征数据库中,很容易辨识物体而且鲜有误认。使用SIFT特征描述对于部分物体遮蔽的侦测率也相当高,甚至只需要3个以上的SIFT物体特征就足以计算出位置与方位。在现今的电脑硬件速度下和小型的特征数据库条件下,辨识速度可接近即时运算。SIFT特征的信息量大,适合在海量数据库中快速准确匹配。

在深度学习框架出现之前,机器学习工程师处于手工业作坊生产的时代。为了完成建模,工程师需要储备大量数学知识,并为特征工程工作积累大量行业知识。每个模型是极其个性化的,建模者如同手工业者一样,将自己的积累形成模型的“个性化签名”。而今,“深度学习工程师”进入了工业化大生产时代。只要掌握深度学习必要但少量的理论知识,掌握Python编程,即可在深度学习框架上实现非常有效的模型,甚至与该领域最领先的模型不相上下。建模这个被“老科学家”们长期把持的建模领域面临着颠覆,也是新入行者的机遇。


下图呈现了只有一个参数维度时,均方误差和绝对值误差(只将每个样本的误差累加,不做平方处理)的损失函数曲线图。


由此可见,均方误差表现的“圆滑”的坡度有两个好处:

(1)曲线的最低点是可导的。
(2)越接近最低点,曲线的坡度逐渐放缓,有助于通过当前的梯度来判断接近最低点的程度(是否逐渐减少步长,以免错过最低点)。

而绝对值误差是不具备这两个特性的,这也是损失函数的设计不仅仅要考虑“合理性”,还要追求“易解性”的原因。

为什么之前我们要做输入特征的归一化,保持尺度一致?这是为了让统一的步长更加合适。如下图所示,特征输入归一化后,不同参数输出的Loss是一个比较规整的曲线,学习率可以设置成统一的值;特征输入未归一化时,不同特征对应的参数所需的步长不一致,尺度较大的参数需要大步长,尺寸较小的参数需要小步长,导致无法设置统一的学习率。

通过大量实验发现,模型对最后出现的数据印象更加深刻。训练数据导入后,越接近模型训练结束,最后几个批次数据对模型参数的影响越大。为了避免模型记忆影响训练效果,需要进行样本乱序操作。

R-CNN的系列算法分成两个阶段,先在图像上产生候选区域,再对候选区域进行分类并预测目标物体位置,它们通常被叫做两阶段检测算法。SSD和YOLO算法则只使用一个网络同时产生候选区域并预测出物体的类别和位置,所以它们通常被叫做单阶段检测算法。

参考文献:https://www.paddlepaddle.org.cn/tutorials/projectdetail/1211152

猜你喜欢:

【随笔】从飞桨入门深度学习相关推荐

  1. 1.3 飞桨开源深度学习平台介绍

    介绍飞桨在行业内的应用情况.产品全景.技术优势,以及飞桨的安装方法和联系方式. 深度学习框架 近年来深度学习在很多机器学习领域都有着非常出色表现,在图像识别.语音识别.自然语言处理.机器人.网络广告投 ...

  2. 国产首款——飞桨PaddlePaddle深度学习框架介绍

    现在深度学习框架不但内卷严重,而且头部效应明显.一提起深度学习框架,首先想到的肯定是Google家的TensorFlow,和Facebook家的PyTorch.究竟排名谁先谁后,还要看你是工业界还是学 ...

  3. 飞桨开源深度学习平台介绍

    深度学习框架 近年来深度学习在很多机器学习领域都有着非常出色的表现,在图像识别.语音识别.自然语言处理.机器人.网络广告投放.医学自动诊断和金融等领域有着广泛应用.面对繁多的应用场景,深度学习框架有助 ...

  4. 飞桨PaddlePaddle深度学习实战

    作者:刘祥龙,杨晴虹,胡晓光,于佃海 著 出版社:机械工业出版社 品牌:机工出版 出版时间:2020-09-01 飞桨PaddlePaddle深度学习实战

  5. 统信 UOS 适配支持百度飞桨 AI 深度学习平台;阿里回应“马云遭印度法院传唤”;fastjson 1.2.73 发布 | 极客头条

    整理 | 屠敏 头图 | CSDN 下载自东方 IC 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 一分钟 ...

  6. 百度飞桨七日深度学习手势识别

    百度飞桨七日深度学习手势识别,paddlepaddle免费GPU算力,以及很好的封装,对初学者灰常友好~~~~. 下面是其中的手势识别作业,采用LeNet网络,初步感受了调参的魅力(雾

  7. 基于“飞桨”的深度学习智能车

    本文作者:吴东昱,北京钢铁侠科技深度学习算法工程师 前言   我在观察历届智能车竞赛以及教学实验中发现,采用传统视觉算法的视觉智能车只能在特定赛道中行驶,一旦赛道环境改变,必须修改大量的代码才能运行. ...

  8. 百度AI Studio飞桨平台 “深度学习”结课总结

    结课总结 2020.4.1-2020.4.8期间参加了百度AI Studio的"深度学习7日入门-CV疫情特辑"课程,这是今年自新冠疫情以来参加的第一次线上课程,偶尔通过paddl ...

  9. 飞桨PaddlePaddle深度学习七日打卡营结营体会(小白菜只想混算力康康证书)

    我是真的纯纯小白菜了,没法像大佬们一样技术心得体会了... 这是我第一次接触飞桨,第一次报飞桨的打卡营 我就 搞个 纯纯的体验版心得体会?(毕竟我就想看看证书啥样再混个算力 咋上路的 被大佬给我丢了个 ...

最新文章

  1. 函数计算工具链新成员 —— Fun Local 发布啦
  2. 我的2011就这样混掉了
  3. java 线程中断(转)
  4. 码这么多字只为搞懂如何在Python和Java中使用JSON
  5. 选择结构_标准的switch语句
  6. 二十四种设计模式:访问者模式(Visitor Pattern)
  7. 【程序员感悟系列】 由一点业务说开去
  8. Linux为什么受欢迎?
  9. 【CVTE Web后台开发实习生 线下面试】总结
  10. linux python pymssql,如何在UbuntuLinux上将pymssql安装到Python3.4而不是2.7?
  11. Windows 10部署与管理指南(1)之环境准备篇
  12. 学用计算机 关机,电脑关机命令是什么?快速关机必备(你学会了吗)
  13. S7-200 SMART间接寻址功能说明(指针的使用)
  14. linux调节伽马值软件,LightBulb(屏幕伽马值自动调整)
  15. 网页里面的空格的代码怎么写
  16. Linux---笔记总结
  17. 区分事件的独立性与互不相容性
  18. unity如何调用另一个脚本中的变量
  19. jQuery思维导图
  20. Android 高德地图so包太大,高德地图包变大问题解决方案

热门文章

  1. C++防止文件重复包含
  2. Web前端必备-Nginx知识汇总
  3. 半导体公司IC设计环境概况
  4. redis的数据类型及设置方法
  5. 本地连接虚拟机的redis
  6. 应对恶劣网络环境,为php-curl设置超时限制,防止服务器卡死
  7. 学习笔记-记ActiveMQ学习摘录与心得(一)
  8. 基于IPSec的×××配置实验
  9. GitHub的新服务GIST
  10. POJ3278Catch That Cow(BFS)