[背景音乐] 翻译: RyukaSuu |审阅: 19waa Coursera Global Translator Community
我们已经看到深度神经网络非常酷
并且准确率非常高 但是建模和学习过程可能会非常困难
并且需要大量的数据
所以下一步我们要介绍一些更激动人心的部分
即深度特征 它们能帮助建立神经网络
甚至当你没有很多数据的时候
所以当你回头看我们的数据 图片分类管道
给定一张图片 我们先检测一些特征 或者其他的一些代表性的部分
我们可以使用一些简单的分类器 比如说线性分类器
现在问题是我们能不能
使用那些从神经网络中学习来的特征
即这些位于角落的 边缘的甚至 脸部的特征
所以我们能否从不一样的角度入手？
方法就是
当你已经知道了深度特征 可以使用迁移学习
迁移学习其实是一个很老的方法 提出来已经有些年了
但是对近些年深度神经网络的发展影响很大
具体的思路是 在你拥有很多的数据的时候
训练神经网络
比如 如果我们有一个区分猫和狗的任务
我们训练了一个八层 一千六百万参数的复杂网络
最后我们就得到了一个非常准确的 猫狗分类器
现在假使我们有一个新的任务 而且只有很少量的数据
比方说从上百个不同种类中检测椅子
大象 汽车还有相机
那我们能不能使用从猫狗神经网络中学习到的特征
再加上一个简单的分类器 来获取一个准确的101-类的分类器呢？
方法就是使用迁移学习
我们在猫狗分类器中学习到的特征能被迁移到
新的任务当中 比如说检测大象 相机等
为了更好的理解迁移学习深度神经网络
让我们更改下之前的深度神经网络学习方法
这是一个猫狗分类深度神经网络
对任务一来说 这个神经网络非常准确
对猫狗分类而言
如果你注意到最后的几层 就会发现它们主要用来进行猫和狗分类
它们的目的非常特定
就像我之前展示的一个例子中
在最后一层中有颜色检测
现在中间的那些层更加一般化
它们可能代表角落 边缘 圆
弯弯曲曲的模式和其他一些真正能从猫和狗分类
推广到101类别分类的特征
所以现在我们介绍一下如何处理第二个任务 即101类别下的分类
我们知道了猫狗分类的深度神经网络可以适用于 任务2
现在 如果你想想看
这个神经网络中的最后一块是专门针对猫和狗的
所以它可能对椅子的检测不是非常有用
所以我们可以去掉最后的一些层 比如最后一层
我们保持前面各层的权重不变
因为它们将会是非常好的特征
运用这些特征再加上一个简单的线性分类器
我们就能用很少的椅子 汽车 大象和相机数据
训练一个模型
回到之前的那个例子
我们有三层
第一层检测对角边和普通边缘
第二层检测弯曲模式和角落
第三层和颜色和脸有关
我们现在能把这些层运用到新的任务中 但是我们需要非常小心
第三层可能太特殊但是第一和第二层会非常有用
所以现在我们了解了迁移学习的理论
现在我们回顾一下使用深度特征的深度学习的流程
我们从一些标注过的数据开始 不需要大量数据 少量数据就够了
然后我们要从深度神经网络中抽取特征
就像之前介绍的
我准备把数据分成两部分 一块作为训练数据 另一块作为验证测试数据
接着我打算训练一个简单的分类器 比如线性分类器
或者支持向量机等一些简单的模型
就像我之前证实的 因为我们选用的分类器非常简单
并不需要调整很多参数
非常简单
很容易用少量数据完成训练并且效果很好
事实上 我们可以看到一个具体的应用 这个应用性能很好
而这个应用正是使用了我们介绍的方法
这个应用位于这一单元的开始 在我给你们展示如何购买新衣服的时候
我们没有很多关于衣服的视觉描述数据
但是我们使用了一些葱imagenet中抽取的特征 来提供给用户良好的购物体验
现在你可能会问这些深度特征有多普遍?
它们真的能用于一些有趣的而且极度不寻常的任务么?
它们普遍可能会让你震惊
事实上 比如说垃圾回收
有一家叫compology的公司
非常有意思
他们试图重新定义垃圾回收
一般情况下 垃圾车挨个回收各个房子和商店 的垃圾
每天或者每周一次
他们想要做出一些改变 优化垃圾车的路径
他们试图将垃圾回收所用的时间降到最低
他们的方法是在垃圾车上安装相机
目的是检测垃圾的种类和数量
显然我们并没有大量的关于很满的垃圾桶的标注数据
他们在做这个的时候借助于深度特征 和一些少量的人工标注数据
然后训练出了一个垃圾检测器
然后能够优化垃圾车的路径 更好的提供服务
而且降低了卡车收集垃圾所需的时间
所以深度特征非常有用 甚至对垃圾回收来说
[背景音乐] 翻译: RyukaSuu |审阅: 19waa Coursera Global Translator Community