正在加载图片...
王字睿2015201906 ②使用TensorFlow中提供的ONNClassifieri训练MNIST数据集,获得结果accuracy约为 0.9825 ③不使用包装好的DNN分类器,而使用TensorFlow自己编写DNN模型用于训练MNIST数据 集。自己定义的DNN模型包含两个隐藏层,激活函数都是ReLu。根据稀疏表示的labe和 输出层数据计算损失,并且使用梯度下降进行优化,得到结果accuracy约为0.98。 第十二周Training Deep Neural Nets ·课堂笔记 梯度消失、梯度爆炸:反向传擂算法的工作原理是从输出层到输入层,传播梯度。一旦该算 法已经计算了网络中每个参数的损失函数的梯度,它就使用这些梯度来用梯度下降步骤来更新 每个参数。梯度消失是指梯度下降更新使得低层连接权重实际上保持不变,并且训练永远不会 收敛到良好的解决方案。在某些情况下,可能会发生相反的情况:梯度可能变得越来越大, 许多分层得到疯狂的权重更新。算法发散。这是梯度摆炸的问题 批量标准化: 在每层的激活函数之前在模型中简单地对输入进行零中心和归一化,然后使用每 个层的两个新参数对结果进行缩放和移位,让模型学习到每层输入值的最佳尺度和均值。 梯度剪裁:减少爆炸梯度问题的一种方法是在反向传播过程中简单地剪切梯度,使它们不超过 某个闹值 无监督预训练:如果有很多未标记的训练数据 可以逐层训练图层,从最低层开始,然后上升 使用无监督的特征检测器算法,每个图层都被训练成先前训练过的图层的输出,一旦所有图 层都以这种方式进行了训练,就可以使用监督式学习对网络进行微调。 提前停止:为避免过度拟合训练集,一个很好的解决方案就是尽早停止训练(在第4章中也有 提到):只要在训练集的性能开始下降时停止训练。 Drop out:在每个训练步骤中,每个神经元(包括输入神经元,但不包括输出神经元)都有 个暂时“退出”的概率印,这意味着在这个训练步骤中它将被完全忽略,在下一步可能会激活。 超参数D称为丢失率.诵常设为50%。训练后。神经元不会再下降。 ·上机练习 运行第十一章代码。 ①绘制不同的激活函数sigmoid、.Leaky ReLU、.ELU、SELU的图像,并了解不同激活函数 处理消失/爆炸梯度问题的能力以及训练时的优缺点。 ②针对MNST数据集建立神经网络,每层都使用ELU激活函数,并且使用批量标准化的方法 进行训练,再经过20轮训练后,在测试集上得到0.9652的正确率,这对ANIST:来说不是 个很好的准确性。 如果训练的时间越长,准确性会变好,但是由于这是 一个非常浅的网 络,批量标准化和ELU不太可能产生非常积极的影响。 第十三周Convolutional Neural Networks ~课堂笔记 14王宇睿 2015201906 ② 使⽤TensorFlow中提供的DNNClassifier训练MNIST数据集,获得结果accuracy约为 0.9825。 ③ 不使⽤包装好的DNN分类器,⽽使⽤TensorFlow⾃⼰编写DNN模型⽤于训练MNIST数据 集。⾃⼰定义的DNN模型包含两个隐藏层,激活函数都是ReLu。根据稀疏表示的label和 输出层数据计算损失,并且使⽤梯度下降进⾏优化,得到结果accuracy约为0.98。 第⼗⼆周 Training Deep Neural Nets - 课堂笔记 梯度消失、梯度爆炸:反向传播算法的⼯作原理是从输出层到输⼊层,传播梯度。 ⼀旦该算 法已经计算了⽹络中每个参数的损失函数的梯度,它就使⽤这些梯度来⽤梯度下降步骤来更新 每个参数。梯度消失是指梯度下降更新使得低层连接权᯿实际上保持不变,并且训练永远不会 收敛到良好的解决⽅案。 在某些情况下,可能会发⽣相反的情况:梯度可能变得越来越⼤, 许多分层得到疯狂的权᯿更新,算法发散,这是梯度爆炸的问题。 批量标准化:在每层的激活函数之前在模型中简单地对输⼊进⾏零中⼼和归⼀化,然后使⽤每 个层的两个新参数对结果进⾏缩放和移位,让模型学习到每层输⼊值的最佳尺度和均值。 梯度剪裁:减少爆炸梯度问题的⼀种⽅法是在反向传播过程中简单地剪切梯度,使它们不超过 某个阈值。 ⽆监督预训练:如果有很多未标记的训练数据,可以逐层训练图层,从最低层开始,然后上升, 使⽤⽆监督的特征检测器算法, 每个图层都被训练成先前训练过的图层的输出,⼀旦所有图 层都以这种⽅式进⾏了训练,就可以使⽤监督式学习对⽹络进⾏微调。 提前停⽌:为避免过度拟合训练集,⼀个很好的解决⽅案就是尽早停⽌训练(在第4章中也有 提到):只要在训练集的性能开始下降时停⽌训练。 Drop out:在每个训练步骤中,每个神经元(包括输⼊神经元,但不包括输出神经元)都有⼀ 个暂时“退出”的概率p,这意味着在这个训练步骤中它将被完全忽略, 在下⼀步可能会激活。 超参数p称为丢失率,通常设为50%。 训练后,神经元不会再下降。 - 上机练习 运⾏第⼗⼀章代码。 ① 绘制不同的激活函数sigmoid、Leaky ReLU、ELU、SELU的图像,并了解不同激活函数 处理消失/爆炸梯度问题的能⼒以及训练时的优缺点。 ② 针对MNIST数据集建⽴神经⽹络,每层都使⽤ELU激活函数,并且使⽤批量标准化的⽅法 进⾏训练,再经过20轮训练后,在测试集上得到0.9652的正确率,这对MNIST来说不是⼀ 个很好的准确性。 如果训练的时间越⻓,准确性会变好,但是由于这是⼀个⾮常浅的⽹ 络,批量标准化和ELU不太可能产⽣⾮常积极的影响。 第⼗三周 Convolutional Neural Networks - 课堂笔记 14
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有