干货!吴恩达亲自为这份深度学习专项课程精炼图笔记点了赞!

吴恩达在推特上展示了一份由完成的深度学习专项课程信息图,这套信息图优美地记录了深度学习课程的知识与亮点 。因此它不仅仅适合初学者了解深度学习,还适合机器学习从业者和研究者复习基本概念 。机器之心认为这不仅仅是一份课程笔记,同时还是一套信息图与备忘录 。下面,我们将从深度学习基础、卷积网络和循环网络三个方面介绍该笔记,并提供信息图下载地址 。
深度学习基础
1. 深度学习基本概念
监督学习: 所有输入数据都有确定的对应输出数据,在各种网络架构中,输入数据和输出数据的节点层都位于网络的两端,训练过程就是不断地调整它们之间的网络连接权重 。
左上: 列出了各种不同网络架构的监督学习,比如标准的神经网络(NN)可用于训练房子特征和房价之间的函数,卷积神经网络(CNN)可用于训练图像和类别之间的函数,循环神经网络(RNN)可用于训练语音和文本之间的函数 。
左下: 分别展示了 NN、CNN 和 RNN 的简化架构 。这三种架构的前向过程各不相同,NN 使用的是权重矩阵(连接)和节点值相乘并陆续传播至下一层节点的方式;CNN 使用矩形卷积核在图像输入上依次进行卷积操作、滑动,得到下一层输入的方式;RNN 记忆或遗忘先前时间步的信息以为当前计算过程提供长期记忆 。
右上: NN 可以处理结构化数据(表格、数据库等)和非结构化数据(图像、音频等) 。
右下: 深度学习能发展起来主要是由于大数据的出现,神经网络的训练需要大量的数据;而大数据本身也反过来促进了更大型网络的出现 。深度学习研究的一大突破是新型激活函数的出现,用 ReLU 函数替换 函数可以在反向传播中保持快速的梯度下降过程,函数在正无穷处和负无穷处会出现趋于零的导数,这正是梯度消失导致训练缓慢甚至失败的主要原因 。要研究深度学习,需要学会「idea—代码—实验—idea」的良性循环 。
2.回归
左上:回归主要用于二分类问题,如图中所示,回归可以求解一张图像是不是猫的问题,其中图像是输入(x),猫(1)或非猫(0)是输出 。我们可以将回归看成将两组数据点分离的问题,如果仅有线性回归(激活函数为线性),则对于非线性边界的数据点(例如,一组数据点被另一组包围)是无法有效分离的,因此在这里需要用非线性激活函数替换线性激活函数 。在这个案例中,我们使用的是激活函数,它是值域为(0, 1)的平滑函数,可以使神经网络的输出得到连续、归一(概率值)的结果,例如当输出节点为(0.2, 0.8)时,判定该图像是非猫(0) 。
左下: 神经网络的训练目标是确定最合适的权重 w 和偏置项 b,那这个过程是怎么样的呢?
这个分类其实就是一个优化问题,优化过程的目的是使预测值 y hat 和真实值 y 之间的差距最小,形式上可以通过寻找目标函数的最小值来实现 。所以我们首先确定目标函数(损失函数、代价函数)的形式,然后用梯度下降逐步更新 w、b,当损失函数达到最小值或者足够小时,我们就能获得很好的预测结果 。
右上: 损失函数值在参数曲面上变化的简图,使用梯度可以找到最快的下降路径,学习率的大小可以决定收敛的速度和最终结果 。学习率较大时,初期收敛很快,不易停留在局部极小值,但后期难以收敛到稳定的值;学习率较小时,情况刚好相反 。一般而言,我们希望训练初期学习率较大,后期学习率较小,之后会介绍变化学习率的训练方法 。
右下: 总结整个训练过程,从输入节点 x 开始,通过前向传播得到预测输出 y hat,用 y hat 和 y 得到损失函数值,开始执行反向传播,更新 w 和 b,重复迭代该过程,直到收敛 。