随笔分类 - 吴恩达深度学习笔记
摘要:更多边缘检测内容(More edge detection) 你已经见识到用卷积运算实现垂直边缘检测,在本笔记中,你将学习如何区分正边和负边,这实际就是由亮到暗与由暗到亮的区别,也就是边缘的过渡。你还能了解到其他类型的边缘检测以及如何去实现这些算法,而不要总想着去自己编写一个边缘检测程序,让我们开始吧
阅读全文
摘要:边缘检测 卷积运算是卷积神经网络最基本的组成部分,使用边缘检测作为入门样例。在这个笔记中,你会看到卷积是如何进行运算的。 在之前的笔记中,我说过神经网络的前几层是如何检测边缘的,然后,后面的层有可能检测到物体的部分区域,更靠后的一些层可能检测到完整的物体,这个例子中就是人脸。在这个视频中,你会看到如
阅读全文
摘要:计算机视觉(Computer vision) 计算机视觉是一个飞速发展的一个领域,这多亏了深度学习。 深度学习与计算机视觉可以帮助汽车,查明周围的行人和汽车,并帮助汽车避开它们。 还使得人脸识别技术变得更加效率和精准,你们即将能够体验到或早已体验过仅仅通过刷脸就能解锁手机或者门锁。 当你解锁了手机,
阅读全文
摘要:是否要使用端到端的深度学习?(Whether to use end-to-end learning?) 假设你正在搭建一个机器学习系统,你要决定是否使用端对端方法,我们来看看端到端深度学习的一些优缺点,这样你就可以根据一些准则,判断你的应用程序是否有希望使用端到端方法。 这里是应用端到端学习的一些好
阅读全文
摘要:什么是端到端的深度学习?(What is end-to-end deep learning?) 深度学习中最令人振奋的最新动态之一就是端到端深度学习的兴起,那么端到端学习到底是什么呢? 简而言之,以前有一些数据处理系统或者学习系统,它们需要多个阶段的处理。那么端到端深度学习就是忽略所有这些不同的阶段
阅读全文
摘要:多任务学习(Multi-task learning) 在迁移学习中,你的步骤是串行的,你从任务A里学习只是然后迁移到任务B。在多任务学习中,你是同时开始学习的,试图让单个神经网络同时做几件事情,然后希望这里每个任务都能帮到其他所有任务。 我们来看一个例子,假设你在研发无人驾驶车辆,那么你的无人驾驶车
阅读全文
摘要:迁移学习 深度学习中,最强大的理念之一就是迁移学习,有的时候神经网络可以从一个任务中习得知识,并将这些知识应用到另一个独立的任务中。 所以例如,也许你已经训练好一个神经网络,能够识别像猫这样的对象,然后使用那些知识,或者部分习得的知识去帮助您更好地阅读x射线扫描图,这就是所谓的迁移学习。 具体来说,
阅读全文
摘要:定位数据不匹配 (1)如果发现存在数据不匹配问题,建议做错误分析,或者看看开发集和训练集,试图找出这两个数据集分布到底有什么不同,然后看看有没有办法收集更多看起来像开发集的数据作训练。 (2)案例1:后视镜语音激活。发现在开发集中有很多汽车噪声,而训练集中没有,这就是造成分布不同的一大原因,解决办法
阅读全文
摘要:不匹配数据划分的偏差和方差 存在的问题 估算学习算法的偏差和方差,真的可以帮你确定接下来应该优先做的方向。但是当你的训练集来自和开发/测试集不同分布的时候,分析偏差和方差的方式可能不一样。 训练集的误差:在得到最终的神经网络之后,将其应用到训练集的每个样本,只进行正向传播,然后得到的错误率。 如果开
阅读全文
摘要:深度学习算法对训练数据的胃口很大,当你收集到足够多的带标签数据构成训练集时,算法效果最好。 这导致很多团队用尽一切方法收集数据,然后把它们堆到训练集里,让训练的数据量更大。但是有些数据,甚至是大部分数据,都来自和开发集和测试集不同的分布。所以深度学习时代,越来越多的团队都用和dev set、test
阅读全文
摘要:进行误差分析(Carrying out error analysis) 你希望让学习算法能够胜任人类能做的任务,但你的学习算法还没有达到人类的表现,那么人工检查一下你的算法犯的错误也许可以让你了解接下来应该做什么。 这个过程称为错误分析,我们从一个例子开始讲吧。 假设你正在调试猫分类器,然后你取得了
阅读全文
摘要:机器学习准确率与人类的比较 当一个算法表现比人类好时,性能会逐渐达到某个理论上限,这就是贝叶斯最优错误率(bayes optional error),是指理论上可以达到的最优错误率 可避免偏差 以猫分类器为例,假设人类错误率为1%,如果训练集和测试集错误率分别为8%和10%,我们会倾向与减少偏差,因
阅读全文
摘要:举一个例子,假如模型是识别猫的照片并推送给用户,A的错误率为3%,B的错误率为5%。正常情况我们应该选择A模型。但是发现A会把很多色情图片分类为猫,这里显然A模型是不能接受的,这个时候我们需要改变评估指标了。我们希望新的评估指标 B的得分比A高,这样我们就可以选择B模型了。正常情况下我们在评估模型时
阅读全文
摘要:当数据量较小时 训练、开发、测试集可以按照 7:3 或者 6:2:2 的比例划分,但在数据量巨大时验证集(也叫开发集dev)和测试集增加数据量对模型的提升没有太大的作用,应该让训练集有更大的数据,例如 100 万数据量时可以考虑 98 : 1: 1 或者 99:1。 开发集和测试集应该尽可能使用同一
阅读全文
摘要:满足和优化指标 考虑不同的分类器会有不同的准确率和运行时间 我们可以将准确度和运行时间组合成一个整体评估指标,比如成本cost=accuracy−0.5∗runningTime 表示我们对两者中哪个更看重,当然我们也可以设定一个阈值,比如时间在100ms以下就可以只考虑准确率。当然也可能考虑假阳性,
阅读全文
摘要:机器学习中的单一评估指标 在使用机器学习,通常都会面对一种情况,面对众多的模型和众多的性能指标,究竟应该如何来选择模型。本篇文章主要就是介绍,如何利用单一评估指标来选择模型,主要内容来自于deeplearnai视频教程。 单一评估指标应用机器学习主要可以分为三个过程想法、编码、看效果。当最开始面对一
阅读全文
摘要:结构化机器学习项目 一 ML项目流程 1,确立目标(确定开发/测试集 + 唯一最优化指标) 确定开发/测试集:开发/测试集应尽可能接近将来应用场景中的数据。 划分数据集:开发集和测试集大小足以评估模型表现即可。 1、正交化正交化:每次调整对某一性能进行针对性调试和优化,更快地发现影响效应,从而进行综
阅读全文
摘要:在下面的内容中,我们用C来表示需要分的类数。 最后一层的隐藏单元个数为4,为所分的类的数目,输出的值表示属于每个类的概率。 Softmax函数的具体步骤如下图: 简单来说有三步: 计算z值(4×1矩阵) 将z作为指数,得到中间变量t(维度同z) 对t归一化,得到a(维度同t,同z)。 Softmax
阅读全文
摘要:正则化网络激活函数(Batch归一化): 在神经网络训练中,只是对输入层数据进行归一化处理,却没有在中间层进行归一化处理。要知道,虽然我们对输入数据进行了归一化处理,但是输入数据经过σ(WX+b)σ(WX+b)σ(WX+b)这样的矩阵乘法以及非线性运算之后,其数据分布很可能被改变,而随着深度网络的多
阅读全文
摘要:超参数 主要的超参数是上面几个,最重要的是红色的 学习率,其次是黄色的 m-b尺寸、隐藏层层数、动量梯度下降的贝塔。 左图是早期超参数选择的方法:以两个超参数的选择为例,在网格中均匀布置一些点,然后将这些点全部试一遍,哪个效果好用哪个。右图是之后有的随机选择点的方法,把随机选择的点全部试一遍,哪个好
阅读全文

浙公网安备 33010602011771号