本文内容根据 网易云课堂 吴恩达《深度学习工程师》整理
课程的文字版内容参考:https://blog.csdn.net/yangshaojun1992/article/details/105151717
学习内容摘要:
涉及知识点:数据集操作(训练集/测试集)、numpy数组操作(降维、归一化、sigmoid激活)、前向传播(损失函数、权重、偏差)、反向传播(导数、梯度下降、学习率、权重、偏差)、向量化
编程习题参考:https://blog.csdn.net/u013733326/article/details/79639509
4.更新参数(梯度下降)
涉及知识点:不同的激活函数及其导数(tanh、sigmod、ReLU)、多样本向量化、随机初始化(针对参数w)
编程习题参考:https://blog.csdn.net/u013733326/article/details/79702148
涉及知识点:多层网络中参数矩阵的维数
超参数
编程习题参考:https://blog.csdn.net/u013733326/article/details/79767169
进行深度学习方面的实践,学习超参数调整、正则化、诊断偏差和方差以及一些高级优化算法,比如Momentum和Adam算法,使得网络表现更加良好。
高偏差 => 欠拟合,高方差 => 过拟合
3. 如果存在欠拟合——高偏差,甚至无法拟合训练集,那么你的解决方式可以是选择一个新的网络,比如含有更多隐藏层或者隐藏单元的网络,或者花费更多时间来训练网络,或者尝试更先进的优化算法。
4. 深度学习可能存在过拟合问题——高方差,有两个解决方法,一个是正则化,另一个是准备更多的数据。
正则化方法:L2正则化、随机失活(dropout)正则化。
数据扩增(额外增加或人工合成):随意翻转和裁剪图片,我们可以增大数据集,额外生成假训练数据。
5. 梯度消失/梯度爆炸 => 随机初始化权重
6.优化算法:Mini-batch 梯度下降、动量梯度下降法、RMSprop算法、Adam 优化算法、学习率衰减、指数加权平均数
作用:让神经网络运行得更快
编程习题参考:https://blog.csdn.net/u013733326/article/details/79847918、https://blog.csdn.net/u013733326/article/details/79907419
对于图像应用,我们经常在神经网络上使用卷积(Convolutional Neural Network),通常缩写为CNN。
边缘检测(如垂直边缘),使用过滤器
Padding填充,分为Valid卷积和Same卷积
卷积步长
池化层:最大池化、平均池化
2. 搭建卷积神经网络模型
使用0扩充边界
卷积窗口
前向卷积
反向卷积(可选)
前向池化
创建掩码
值分配
反向池化(可选)
编程习题参考:https://blog.csdn.net/u013733326/article/details/80086090 (tf1.x)、https://blog.csdn.net/weixin_47440593/article/details/107938235?spm=1001.2014.3001.5501 (tf2.x)
3. 经典卷积网络
4. 残差网络ResNets
层数非常非常深的神经网络是很难训练的,因为存在梯度消失和梯度爆炸问题。但是,我们可以利用跳跃连接构建能够训练深度网络的ResNets。跳跃连接(Skip connection),它可以从某一层网络层获取激活,然后迅速反馈给另外一层,甚至是神经网络的更深层。
残差网络ResNets是由残差块(Residual block)构建的。
5. 谷歌Inception 网络中的卷积模块
6. 迁移学习和数据增强
编程习题参考:https://blog.csdn.net/u013733326/article/details/80250818 (tf1.x)、https://blog.csdn.net/weixin_47440593/article/details/108028694?spm=1001.2014.3001.5501 (tf2.x)
YOLO(“you only look once”)因为实时高准确率,这使得它是目前比较流行的算法。在算法中“只看一次(only looks once)”的机制使得它在预测时只需要进行一次前向传播,在使用非最大值抑制后,它与边界框一起输出识别对象。
2. 目标定位(目标标签y的定义)
3. 基于滑动窗口的目标检测算法(选用不同大小的窗口)
滑动窗口的卷积实现
4. Bounding Box预测
5. 非极大值抑制
首先看检测概率pc最大的那个,这个例子(右边车辆)中是0.9,然后就说这是最可靠的检测,所以我们就用高亮标记,就说我这里找到了一辆车。这么做之后,非极大值抑制就会逐一审视剩下的矩形,所有和这个最大的边框有很高交并比(loU),高度重叠的其他边界框,那么这些输出就会被抑制。所以检测概率pc这两个矩形分别是0.6和0.7,这两个矩形和淡蓝色矩形重叠程度很高,所以会被变暗,表示它们被抑制了。
6. Anchor Boxes:一个格子检测出多个对象
编程习题参考:https://blog.csdn.net/u013733326/article/details/80341740 (tf1.x)
(注:因为第五课是序列模型,它用于自然语言处理,有兴趣的可以接着学习)