系列笔记 | 深度学习连载(2):梯度下降

简介: 系列笔记 | 深度学习连载(2):梯度下降

我们回忆深度学习“三板斧”:


1. 选择神经网络

2. 定义神经网络的好坏

3. 选择最好的参数集合


其中步骤三,如何选择神经网络的好坏呢?


image.png


梯度下降是目前,最有效的方法之一。


方法:我们举两个参数的例子 θ1、θ2, 损失函数是L。那么它的梯度是:


image.png


那我为了求得最小值,我们有:


image.png


参数不断被梯度乘以学习率η 迭代


image.png


那么上述公示公为什么是减号,不是加号呢?


我们定义 θ 改变的方向是movement的方向, 而gradient的方向是等高线的法线方向


image.png


基础的Gradient Decent已经介绍完了,接下来,我们一起探讨GD的使用技巧。


Learning rate学习率的设定


Learning Rate η 如果设定不好,Loss反而增大


image.png


自适应的学习率 adaptive learning rate


很多小伙伴在机器学习代码中,学习率一般都是设置为一个固定的数值(需要不断调参)。


根据学习经验,一般的我们有如下结论:


1. 训练刚开始的时候,学习率较大

2. 经过几轮训练后,结果慢慢接近的时候,需要调小学习率


image.png


Adagrad 的学习率是现有学习率 除以 导数的平方和的开根号


image.png


Stochastic Gradient Decent (SGD)


让训练更加快速


一般的GD方法是所有的训练数据后,进行一次参数更新


image.png


SGD是一个样本就可以更新参数


image.png


GD和SGD的对比效果:


image.png

特征裁剪 Feature Scaling


让不同维度的数据,有相同的变化幅度


image.png


训练的时候,哪一个好train,一目了然


image.png


归一化方法:


image.png


总结: Gradient Decent 是机器学习、深度学习求解Optimal问题的“普世”方法,但是也会遇到很多问题,例如local minima 和 saddle point 的问题。 我们以后会展开讨论。

image.png

相关文章
|
5月前
|
机器学习/深度学习 算法 测试技术
深度学习环境搭建笔记(二):mmdetection-CPU安装和训练
本文是关于如何搭建深度学习环境,特别是使用mmdetection进行CPU安装和训练的详细指南。包括安装Anaconda、创建虚拟环境、安装PyTorch、mmcv-full和mmdetection,以及测试环境和训练目标检测模型的步骤。还提供了数据集准备、检查和网络训练的详细说明。
279 5
深度学习环境搭建笔记(二):mmdetection-CPU安装和训练
|
5月前
|
机器学习/深度学习 数据可视化 计算机视觉
目标检测笔记(五):详细介绍并实现可视化深度学习中每层特征层的网络训练情况
这篇文章详细介绍了如何通过可视化深度学习中每层特征层来理解网络的内部运作,并使用ResNet系列网络作为例子,展示了如何在训练过程中加入代码来绘制和保存特征图。
95 1
目标检测笔记(五):详细介绍并实现可视化深度学习中每层特征层的网络训练情况
|
13天前
|
机器学习/深度学习 算法 PyTorch
从零开始深度学习:全连接层、损失函数与梯度下降的详尽指南
在深度学习的领域,全连接层、损失函数与梯度下降是三块重要的基石。如果你正在踏上深度学习的旅程,理解它们是迈向成功的第一步。这篇文章将从概念到代码、从基础到进阶,详细剖析这三个主题,帮助你从小白成长为能够解决实际问题的开发者。
|
5月前
|
机器学习/深度学习 数据可视化 Windows
深度学习笔记(七):如何用Mxnet来将神经网络可视化
这篇文章介绍了如何使用Mxnet框架来实现神经网络的可视化,包括环境依赖的安装、具体的代码实现以及运行结果的展示。
75 0
|
5月前
|
机器学习/深度学习
深度学习笔记(十二):普通卷积、深度可分离卷积、空间可分离卷积代码
本文探讨了深度可分离卷积和空间可分离卷积,通过代码示例展示了它们在降低计算复杂性和提高效率方面的优势。
560 2
深度学习笔记(十二):普通卷积、深度可分离卷积、空间可分离卷积代码
|
5月前
|
机器学习/深度学习 并行计算 PyTorch
深度学习环境搭建笔记(一):detectron2安装过程
这篇博客文章详细介绍了在Windows环境下,使用CUDA 10.2配置深度学习环境,并安装detectron2库的步骤,包括安装Python、pycocotools、Torch和Torchvision、fvcore,以及对Detectron2和PyTorch代码的修改。
934 1
深度学习环境搭建笔记(一):detectron2安装过程
|
5月前
|
机器学习/深度学习 算法 PyTorch
深度学习笔记(十三):IOU、GIOU、DIOU、CIOU、EIOU、Focal EIOU、alpha IOU、SIOU、WIOU损失函数分析及Pytorch实现
这篇文章详细介绍了多种用于目标检测任务中的边界框回归损失函数,包括IOU、GIOU、DIOU、CIOU、EIOU、Focal EIOU、alpha IOU、SIOU和WIOU,并提供了它们的Pytorch实现代码。
699 1
深度学习笔记(十三):IOU、GIOU、DIOU、CIOU、EIOU、Focal EIOU、alpha IOU、SIOU、WIOU损失函数分析及Pytorch实现
|
5月前
|
机器学习/深度学习 自然语言处理 并行计算
深度学习笔记(十四):Transormer知识总结
关于深度学习中Transformer模型的知识总结,涵盖了Self-attention机制、QKV、Multi-head attention、位置编码和并行运算等关键概念,以及如何在PyTorch中实现Self-attention。
90 1
|
5月前
|
机器学习/深度学习 vr&ar
深度学习笔记(十):深度学习评估指标
关于深度学习评估指标的全面介绍,涵盖了专业术语解释、一级和二级指标,以及各种深度学习模型的性能评估方法。
132 0
深度学习笔记(十):深度学习评估指标
|
5月前
|
机器学习/深度学习 Python
深度学习笔记(九):神经网络剪枝(Neural Network Pruning)详细介绍
神经网络剪枝是一种通过移除不重要的权重来减小模型大小并提高效率的技术,同时尽量保持模型性能。
135 0
深度学习笔记(九):神经网络剪枝(Neural Network Pruning)详细介绍