摘要: 是否要使用端到端的深度学习?(Whether to use end-to-end learning?) 假设你正在搭建一个机器学习系统,你要决定是否使用端对端方法,我们来看看端到端深度学习的一些优缺点,这样你就可以根据一些准则,判断你的应用程序是否有希望使用端到端方法。 这里是应用端到端学习的一些好 阅读全文
posted @ 2020-02-25 13:52 刘通1997 阅读(475) 评论(0) 推荐(1)
摘要: 什么是端到端的深度学习?(What is end-to-end deep learning?) 深度学习中最令人振奋的最新动态之一就是端到端深度学习的兴起,那么端到端学习到底是什么呢? 简而言之,以前有一些数据处理系统或者学习系统,它们需要多个阶段的处理。那么端到端深度学习就是忽略所有这些不同的阶段 阅读全文
posted @ 2020-02-25 13:51 刘通1997 阅读(3472) 评论(0) 推荐(1)
摘要: 多任务学习(Multi-task learning) 在迁移学习中,你的步骤是串行的,你从任务A里学习只是然后迁移到任务B。在多任务学习中,你是同时开始学习的,试图让单个神经网络同时做几件事情,然后希望这里每个任务都能帮到其他所有任务。 我们来看一个例子,假设你在研发无人驾驶车辆,那么你的无人驾驶车 阅读全文
posted @ 2020-02-25 13:50 刘通1997 阅读(940) 评论(0) 推荐(0)
摘要: 迁移学习 深度学习中,最强大的理念之一就是迁移学习,有的时候神经网络可以从一个任务中习得知识,并将这些知识应用到另一个独立的任务中。 所以例如,也许你已经训练好一个神经网络,能够识别像猫这样的对象,然后使用那些知识,或者部分习得的知识去帮助您更好地阅读x射线扫描图,这就是所谓的迁移学习。 具体来说, 阅读全文
posted @ 2020-02-25 13:48 刘通1997 阅读(227) 评论(0) 推荐(0)
摘要: 定位数据不匹配 (1)如果发现存在数据不匹配问题,建议做错误分析,或者看看开发集和训练集,试图找出这两个数据集分布到底有什么不同,然后看看有没有办法收集更多看起来像开发集的数据作训练。 (2)案例1:后视镜语音激活。发现在开发集中有很多汽车噪声,而训练集中没有,这就是造成分布不同的一大原因,解决办法 阅读全文
posted @ 2020-02-25 13:47 刘通1997 阅读(209) 评论(0) 推荐(0)
摘要: 不匹配数据划分的偏差和方差 存在的问题 估算学习算法的偏差和方差,真的可以帮你确定接下来应该优先做的方向。但是当你的训练集来自和开发/测试集不同分布的时候,分析偏差和方差的方式可能不一样。 训练集的误差:在得到最终的神经网络之后,将其应用到训练集的每个样本,只进行正向传播,然后得到的错误率。 如果开 阅读全文
posted @ 2020-02-25 13:46 刘通1997 阅读(350) 评论(0) 推荐(0)
摘要: 深度学习算法对训练数据的胃口很大,当你收集到足够多的带标签数据构成训练集时,算法效果最好。 这导致很多团队用尽一切方法收集数据,然后把它们堆到训练集里,让训练的数据量更大。但是有些数据,甚至是大部分数据,都来自和开发集和测试集不同的分布。所以深度学习时代,越来越多的团队都用和dev set、test 阅读全文
posted @ 2020-02-25 13:43 刘通1997 阅读(218) 评论(0) 推荐(0)
摘要: 进行误差分析(Carrying out error analysis) 你希望让学习算法能够胜任人类能做的任务,但你的学习算法还没有达到人类的表现,那么人工检查一下你的算法犯的错误也许可以让你了解接下来应该做什么。 这个过程称为错误分析,我们从一个例子开始讲吧。 假设你正在调试猫分类器,然后你取得了 阅读全文
posted @ 2020-02-25 13:42 刘通1997 阅读(409) 评论(0) 推荐(0)
摘要: 机器学习准确率与人类的比较 当一个算法表现比人类好时,性能会逐渐达到某个理论上限,这就是贝叶斯最优错误率(bayes optional error),是指理论上可以达到的最优错误率 可避免偏差 以猫分类器为例,假设人类错误率为1%,如果训练集和测试集错误率分别为8%和10%,我们会倾向与减少偏差,因 阅读全文
posted @ 2020-02-25 13:40 刘通1997 阅读(536) 评论(0) 推荐(0)
摘要: 举一个例子,假如模型是识别猫的照片并推送给用户,A的错误率为3%,B的错误率为5%。正常情况我们应该选择A模型。但是发现A会把很多色情图片分类为猫,这里显然A模型是不能接受的,这个时候我们需要改变评估指标了。我们希望新的评估指标 B的得分比A高,这样我们就可以选择B模型了。正常情况下我们在评估模型时 阅读全文
posted @ 2020-02-25 13:39 刘通1997 阅读(204) 评论(0) 推荐(0)
摘要: 当数据量较小时 训练、开发、测试集可以按照 7:3 或者 6:2:2 的比例划分,但在数据量巨大时验证集(也叫开发集dev)和测试集增加数据量对模型的提升没有太大的作用,应该让训练集有更大的数据,例如 100 万数据量时可以考虑 98 : 1: 1 或者 99:1。 开发集和测试集应该尽可能使用同一 阅读全文
posted @ 2020-02-25 13:38 刘通1997 阅读(306) 评论(0) 推荐(0)
摘要: 满足和优化指标 考虑不同的分类器会有不同的准确率和运行时间 我们可以将准确度和运行时间组合成一个整体评估指标,比如成本cost=accuracy−0.5∗runningTime 表示我们对两者中哪个更看重,当然我们也可以设定一个阈值,比如时间在100ms以下就可以只考虑准确率。当然也可能考虑假阳性, 阅读全文
posted @ 2020-02-25 13:37 刘通1997 阅读(188) 评论(0) 推荐(0)
摘要: 机器学习中的单一评估指标 在使用机器学习,通常都会面对一种情况,面对众多的模型和众多的性能指标,究竟应该如何来选择模型。本篇文章主要就是介绍,如何利用单一评估指标来选择模型,主要内容来自于deeplearnai视频教程。 单一评估指标应用机器学习主要可以分为三个过程想法、编码、看效果。当最开始面对一 阅读全文
posted @ 2020-02-25 13:36 刘通1997 阅读(249) 评论(0) 推荐(0)
摘要: 结构化机器学习项目 一 ML项目流程 1,确立目标(确定开发/测试集 + 唯一最优化指标) 确定开发/测试集:开发/测试集应尽可能接近将来应用场景中的数据。 划分数据集:开发集和测试集大小足以评估模型表现即可。 1、正交化正交化:每次调整对某一性能进行针对性调试和优化,更快地发现影响效应,从而进行综 阅读全文
posted @ 2020-02-25 13:34 刘通1997 阅读(366) 评论(0) 推荐(0)
摘要: 在下面的内容中,我们用C来表示需要分的类数。 最后一层的隐藏单元个数为4,为所分的类的数目,输出的值表示属于每个类的概率。 Softmax函数的具体步骤如下图: 简单来说有三步: 计算z值(4×1矩阵) 将z作为指数,得到中间变量t(维度同z) 对t归一化,得到a(维度同t,同z)。 Softmax 阅读全文
posted @ 2020-02-25 13:31 刘通1997 阅读(303) 评论(0) 推荐(0)
摘要: 正则化网络激活函数(Batch归一化): 在神经网络训练中,只是对输入层数据进行归一化处理,却没有在中间层进行归一化处理。要知道,虽然我们对输入数据进行了归一化处理,但是输入数据经过σ(WX+b)σ(WX+b)σ(WX+b)这样的矩阵乘法以及非线性运算之后,其数据分布很可能被改变,而随着深度网络的多 阅读全文
posted @ 2020-02-25 13:28 刘通1997 阅读(992) 评论(0) 推荐(0)
摘要: 超参数 主要的超参数是上面几个,最重要的是红色的 学习率,其次是黄色的 m-b尺寸、隐藏层层数、动量梯度下降的贝塔。 左图是早期超参数选择的方法:以两个超参数的选择为例,在网格中均匀布置一些点,然后将这些点全部试一遍,哪个效果好用哪个。右图是之后有的随机选择点的方法,把随机选择的点全部试一遍,哪个好 阅读全文
posted @ 2020-02-25 13:26 刘通1997 阅读(1415) 评论(0) 推荐(0)
摘要: 优化算法: 1.mini-bitch: 如果数据集特别大,把所有的数据一起处理会使训练速度特别慢。mini-bitch就是把数据集平均分成几个部分,然后单独进行处理,选择合理的子数据集大小会使训练速度快很多。 左图为未采用m-b的图像,右图是采用的。可以看出采用之后的J并不是一直下降的,但是整体下降 阅读全文
posted @ 2020-02-25 13:23 刘通1997 阅读(413) 评论(0) 推荐(0)
摘要: 梯度消失或爆炸: 如果一个神经网络的深度很大,即层数很多。那么即使是很小的w(大于1),那么y帽也会特别大(指数级增长),如果w很接近1但是小于1,y帽也会特别小(指数级减小),并且与层数相关的导数和梯度函数也是呈指数增长或指数下降。如果L的激活函数或梯度函数以指数级递增或递减,那么他们会变得极大或 阅读全文
posted @ 2020-02-25 13:20 刘通1997 阅读(286) 评论(0) 推荐(0)
摘要: 提高训练速度的方法:归一化输入 假设数据集的每一个训练样本只有两个特征x1、x2,那么训练集: 原始数据集 绘制出的图形如图所示,要对其进行标准化分为两步: 1、对训练集进行零均值化处理,顾名思义,也就是处理后的数据集的均值为零。2、归一化方差。即使方差变为1。 分步讲解: 1、怎样来使均值变为0呢 阅读全文
posted @ 2020-02-25 13:19 刘通1997 阅读(487) 评论(0) 推荐(1)