部分内容记录
这一节都是些系统性、感知性层面的琐碎,不像第2课内容含量极多
1.2 | 正交化 | 一个旋钮控制一个功能,实现独立控制;简单来说就是 One thing at a time |
1.4 | 满足和优化指标 | 满足指标相当于必须达到的门槛、必要条件,在达到满足指标的基础上,尽可能提升优化指标 |
1.5 | 训练_开发_测试集划分 | 设立开发集和评估指标,真的就定义了模型所要瞄准的目标。所以开发集和训练集必须为同分布 |
1.9 | 可避免偏差 | 是指以人类表现水平为基准,调整工作着力点是减少训练偏差还是方差; |
1.12 | 改善模型表现 | 减少偏差:更大的网络/迭代次数更多/adam优化算法等/调整网络结构; 减少方差:更多数据/正则化(L2\dropout)/调整网络结构 |
2.1 | 错误分析 | 1、针对预测分类错误的样本,检查错误集中情况分析原因,并考虑改善其中某种错误可以带来的性能上限,迅速决定什么是最重要的,或者最有希望的方向 |
2.2 | 清除标记错误数据 | 1、深度学习算法对随机误差很健壮,但对系统性的错误就没那么健壮了。所以比如说,如果做标记的人一直把白色的狗标记成猫,那就成问题了。因为你的分类器学习之后,会把所有白色的狗都分类为猫。但随机错误或近似随机错误,对于大多数深度学习算法来说不成问题 2、鉴于此,标记错误也是错误分析的一类情况 3、如果修正开发集上的部分数据,那么最好也对测试集做同样的修正以确保它们继续来自相同的分布 |
2.3 | 快速搭建第一个系统,并进行迭代 | 搭建快速而粗糙的实现,即快速设立开发集和测试集还有指标,然后用它做偏差/方差分析,用它做错误分析,然后用分析结果确定下一步优先要做的方向 |
2.4 | 在不同的划分上进行训练并测试 | 假设要开发一个手机拍摄图片识别猫的应用程序,可获得的拍摄图片仅有10K张,而从网上获取的图片有200K张,但是这两个获取源的数据明显不是同分布的,针对此类情况,建议的数据集划分是:训练集205K(200K网上+5K手机)、验证集5K(手机)、测试集5K(手机) |
2.5 | 数据不匹配时,偏差和方差分析 | 当训练集和验证集/测试集来自不同分布时,就不能简单的根据人类水平、训练集、验证集、测试集进行错误分析定位了;此时需要从训练集中再随机拨出一部分数据,假设叫做训练-开发集,从而根据人类水平、训练集、训练-开发集、验证集、测试集之间的错误率差距进行错误分析,每个间距分别代表着可避免偏差大小、方差大小、数据不匹配情况、过拟合情况 |
2.6 | 处理数据不匹配问题 | 当使用人工数据合成时,一定要谨慎,可能从所有可能性的空间只选了很小一部分去模拟数据。 |
2.7 | 迁移学习 | 1、经验规则是,如果有一个小数据集,就只训练输出层前的最后一层,或者也许是最后一两层。但是如果有很多数据,那么也许可以重新训练网络中的所有参数。如果你重新训练神经网络中的所有参数,那么这个在图像识别数据的初期训练阶段,有时称为预训练(pre-training),因为用图像识别数据去预先初始化,或者预训练神经网络的权重。然后,如果以后更新所有权重,然后在放射科数据上训练,有时这个过程叫微调(fine tuning) 2、迁移学习起作用的场合是,在迁移来源问题中你有很多数据,但迁移目标问题你没有那么多数据 |
2.8 | 多任务学习 | 1、跟softmax不同,虽然输出层长得有点像都是多维,softmax识别的是图片中的一个标签,这个标签可能是猫、狗、兔等;多任务学习是一个图片中有多个标签同时存在,例如交通灯、车辆、行人等 |
神经网络一些早期特征,在识别不同物体时都会用到,然后你发现,训练一个神经网络做四件事情会比训练四个完全独立的神经网络分别做四件事性能要更好,这就是多任务学习的力量 | ||
平均来说,目前迁移学习使用频率更高,比多任务学习频率要高,但两者都可以成为强力工具。 | ||
2.9 | 端到端深度学习 | 1、是指神经网络的特性,不用管中间过程,直接学习大量数据对(x,y)的关系,当然前提是大量数据学习; 2、现实问题下,一般不会是纯粹的端到端,因为可能没有那么大规模数据;例如公司门禁的人脸识别系统,就是分成了两步:第一步图像检测人脸,从人的拍照中识别到人脸并框出来,第二步图像对比,将第一步的图片与员工库相比较,看是否存在;这样分解的两个子任务就简单多了,而且可训练数据多。 |
2.10 | 是否要使用端到端的深度学习 | 无人驾驶的例子:没有采用端到端直接输入车前照片学习到方向盘转角的映射,而是采用了3步:利用1-- 从传感器或图像输入到检测行人和车辆,深度学习做得好; 2-- 选择一条车要走的路,机器人运动规划;3-- 精确的决策确定方向盘应该精确地转多少度,油门或刹车上应该用多少力,控制算法 |