7.8. 深度学习算法¶
7.8.1. DL 模型的表达能力¶
相较传统统计模型来说,深度神经网络有着数量众多的参数。如果用 MDL 衡量深度神经网络的复杂度,并将参数数量视为模型描述长度,那模型看起来可会惨不忍睹。模型描述 L(H) 很容易失控性疯涨。
但为使表达能力够强,对神经网络而言这许许多多的参数 必不可少。正因为神经网络对灵活多样的数据表示具备出色的捕获能力,它才能在许多应用中取得辉煌战绩。4
7.8.2. 神经网络组成 1¶
解析:
公式:\(A^{(n+1)}=\delta^{n}\left(W^{n} A^{n}+b^{n}\right)\)
Weights(网络权重):表示不同神经元处理的特征对下个神经元的重要性
bias (偏移):主观偏见的处理
激活函数:对每一层整体的输出做改进,把每层的结果做非线性的变化,去更好地拟合数据分布,或者说来更好地展示给下一层级,常见的激活函数有 ReLU、tanh、Sigmoid 等等,我们用 δn() 表示
原理:目标就是在给定一个任务的情况下,找到最优的 Weights 和 bias,使得 Loss 最低。采用反向传播,把 Loss 误差从最后逐层向前传递,使当前层知道自己在哪里,然后再更新当前层的 Weights 权重和 bias 偏移,进而减小最后的误差
常见的深度学习算法:CNN、LSTM、RNN、Seq2Seq、GAN
常用的深度学习框架:TensorFlow、PyTorch
解析:
越复杂的图像,采用全连接层的形式,计算量就会变得很大
卷积层提取图片初步特征5
池化:
目的是提取特征,减少向下一阶段传递的数据量,池化过程的本质是“丢弃”,即只保留图像主体特征,过滤掉无关信息的数据特征
模糊化图像操作:通过 CNN 的卷积和池化,丢弃到无用的特征,识别出关键因素
全连接层的Softmax分类:再卷积池化后通过softmax进行分类
全连接层将各部分特征汇总5
CNN优缺点:
缺点:可解释性弱,模型训练慢,对数据依赖很强,模型复杂
优点:
可以拟合任意复杂的数据分布
比我们之前讲过的所有算法的性能都要好
7.8.3. 卷积神经网络是最为实用且通常最为正确的方法的一些原因如下:¶
它们可以通过层传递学习,保存推理并在后续层上创建新的推理。
在使用该算法之前,无需进行特征提取,而是在训练过程中完成的。
它可以识别重要的特征。
但是,它们也有自己的警告。目前已知它们在旋转和缩放方式不同的图像上会失效,但这里的情况并非如此,因为数据已经经过预处理。而且,尽管其他方法在这个数据集上未能提供良好的结果,但它们仍然可以用于其他与图像处理相关的任务(如锐化、平滑等等)。7
7.8.6. 更多¶
见我的repo:https://github.com/StevenJokess/d2l-en-read/tree/moreme
Reddit:https://www.reddit.com/r/deeplearning/