深度学习记录
从0开始学习deeplearning(记录本人学习过程中的笔记)
蹲家宅宅
大一软件工程学生,通过csdn来记录计算机相关课程中的学习
展开
-
深度学习记录--Batch Norm
与Input Norm对输入层进行归化不同,Batch Norm是对。原创 2024-01-26 11:16:44 · 438 阅读 · 0 评论 -
深度学习记录--学习率衰减(learning rate decay)
如下图,蓝色曲线表示mini-batch梯度下降,绿色曲线表示采用学习率衰减的梯度下降。mini-batch梯度下降最终会在最小值附近的区间摆动(噪声很大),不会。随着学习率的衰减,步长会逐渐变小,因此最终。为了更加近似最小值,采用学习率衰减的方法。1 epoch = 遍历数据1次。是学习率衰减的超参数,是衰减常量,一般设置。原创 2024-01-21 17:18:33 · 571 阅读 · 0 评论 -
深度学习记录--RMSprop均方根
减缓纵轴方向学习速度,加快横轴方向学习速度,从而加速梯度下降。不妨以b为纵轴,w为横轴(横纵轴可能会不同,因为是多维量),即w每次减去一个大数字,所以w梯度下降更快。,即b每次减去一个小数字,所以b梯度下降更慢。为了防止分母趋近于0,则加上一个常量。为了让w梯度下降更快,则要使。为了让b梯度下降更慢,则要使。原创 2024-01-21 16:59:41 · 383 阅读 · 0 评论 -
深度学习记录--Adam optimization algorithm
需要经过多次调试之后才可得到。原创 2024-01-21 16:41:29 · 463 阅读 · 0 评论 -
深度学习记录--Momentum gradient descent
因为学习率过大可能导致偏离函数范围,这种上下波动导致学习率无法得到提高,速度因此减慢(下图蓝色曲线)横轴上,所有的微分都指向横轴方向,所有横轴方向上的平均值依然较大。其中dw,db可以看作加速度,v_dw,v_db可以看作速度,纵轴上,平均过程中正负数相互抵消,所以纵轴上的平均值接近于0。把图像比作一个碗,轨迹视为小球的轨迹,从边缘向碗内最低点运动。因此,小球会向着碗中心运动,最终因摩擦力而停下来。因此,纵轴上摆动减小,横轴上运动速度加快。为了减小波动,同时加快速率,可以使用。原创 2024-01-21 11:27:14 · 476 阅读 · 0 评论 -
深度学习记录--指数加权平均
较大时,初期数据拟合可能偏差较大,为了更好地拟合初期的数据,故采用偏差修正。当t变大,分母逐渐趋于1,所以后阶段偏差修正作用不大。的取值对拟合结果的影响很大,那么有什么规律?较大时,公式值较大,即取的更多数据的平均值。时,近似取10个数据平均值(红色曲线)时,近似取50个数据平均值(绿色曲线)时,近似取2个数据平均值(黄色曲线)变化时,拟合结果也会发生变化。,因为取的是更多数据的平均值。,因为取的是更少数据的平均值。可以被适当放大,更加拟合数据。如何对杂乱的数据进行拟合?表示第t-1个平均数,原创 2024-01-21 10:30:47 · 630 阅读 · 0 评论 -
深度学习记录--mini-batch gradient descent
与传统的batch梯度下降不同,mini-batch gradient descent将数据分成多个子集,分别进行处理,在。当size=m,mini-batch gradient descent变为batch gradient descent。的曲线,分成许多小段时,每个小段是一条batch gradient descent曲线,总体看这条曲线还是。可能容易计算,也可能很难计算,这就导致cost时高时低,出现摆动,其实主要是。每个样本都是随机的,可能靠近最小值,也可能远离最小值,当size=1,变为。原创 2024-01-19 21:37:25 · 1154 阅读 · 0 评论 -
深度学习记录--梯度检验
对于单边误差和双边误差公式,其中双边误差与真实梯度相差更小,故一般采用双边误差公式。在每次迭代过程中,dropout会随机消除隐层单元的不同子集,J函数难以明确计算。为了对梯度进行检验,需要计算近似误差值来接近梯度。,则误差较大,需要考虑是否错误较多。梯度检验的计算时间较长,且通常在。的导数,计算出双边误差。,则误差很小,效果很好。,则误差一般,效果一般。原创 2024-01-17 15:37:20 · 540 阅读 · 0 评论 -
深度学习记录--梯度消失和爆炸
很大时,w与1之间的大小关系会产生梯度消失与梯度爆炸的问题。层数n越大,越要使特征值w变小。当神经网络层数很大时,即。原创 2024-01-17 14:47:08 · 378 阅读 · 0 评论 -
深度学习记录--归—化输入特征
归化输入(normalizing inputs),对特征值进行一定的处理,可以加速神经网络训练速度。归化可以让原本狭长的数据图像变得规整,梯度下降的迭代次数减少,训练速度变快。通过x值更新让均值稳定在零附近,即为零均值化。原创 2024-01-17 13:10:04 · 483 阅读 · 0 评论 -
深度学习记录--正则化(regularization)
正则化(regularization)是一种实用的减少方差variance)的方法,也即避免过度拟合。原创 2024-01-17 10:52:44 · 727 阅读 · 0 评论 -
深度学习记录--偏差/方差(bias/variance)
train set error过大,dev set error过大(比train set error还大很多):high bias & high variance。train set error过大,dev set error过大(与train set error差不多):high bias。当方差(variance)过大时,如右图,拟合图像过于特殊,不够集中(即方差过大),称为过拟合(overfitting)train set error较小,dev set error过大:high variance。原创 2024-01-16 20:34:33 · 604 阅读 · 0 评论 -
深度学习记录--Train/dev/test sets
由于大数据量的存在,dev sets只需要对不同的算法进行验证与取舍即可,故得出几种合适的算法来优化性能即可,而test sets只需要对神经网络进行无偏评估即可,所以数据量不需要很大。对于超百万量级的数据,可以分为99.5% train sets 0.25% dev sets 0.25% test sets。对于百万量级的数据,可以分为98% train sets 1% dev sets 1% test sets。如果不需要进行无偏评估,那么只用保证train/dev sets(会加速神经网络的集成。原创 2024-01-15 22:23:47 · 615 阅读 · 0 评论 -
深度学习记录--参数与超参数
深度学习中超参数原创 2023-12-17 16:35:29 · 311 阅读 · 0 评论 -
深度学习记录--随机初始化
尽管当w1,w2为0时,依然可以有x1,x2不同使dw1,dw2不同,重新改变w1,w2,起到不断迭代的作用。这种方法,在反向传播的过程中所有权重的导数都不相同,所以权重和偏置b都能得到更新。同理,当b为0时,也是可以依照同样的过程使b重新改变,起到不断迭代的作用。总体来说,节点权重的对称性与权重的初始化对于迭代更新有着巨大的作用。,我们的隐层的神经单元输出始终不变,出现隐藏神经元的对称性。,导致每层的节点作用式微,神经网络也就失去其作用了。权重,指的是变量系数w,决定了变量的变化率。原创 2023-12-17 14:53:10 · 423 阅读 · 0 评论 -
深度学习记录--矩阵维数
本文仅作本人查询参考(摘自吴恩达深度学习笔记)原创 2023-12-16 22:53:57 · 461 阅读 · 0 评论 -
深度学习记录--激活函数
激活函数的种类对于激活函数的选择,通常有以下几种sigmoid,tanh,ReLU,leaky ReLU激活函数的选择之前logistic回归一直使用的激活函数都是sigmoid函数,但一般来说,tanh函数是比sigmoid函数更加好的选择tanh函数会将预测值稳定在0值上下(数据中心化),而sigmoid函数输出值在0-1间变化,数据中心化对于往后的迭代更加方便但无论是sigmoid函数,还是tanh函数,都有很明显的缺点,当z很大或者很小,a的斜率将会趋于0,这将导致学习迭代的原创 2023-12-09 15:30:16 · 484 阅读 · 0 评论 -
深度学习记录--神经网络表示及其向量化
从神经网络开始,出现了大量的符号,本弱鸡刚开始学也有点糊涂,经过好一番思考,才明白了每个符号的表示。对于每一层的每个节点,以logistic为例,每个节点会得出一个a值(y的预测值)以X举例,每个大X表示每层的X数据,大X中每列表示某份样本数据,自上而下是特征变量。这个表示第i份样本数据,注意,每份样本数据包含了所有的特征变量(它的表示见下)之前谈了向量化,现在用完整符号表示神经网络的向量化实现,见下图。一般来说,不把输入层算作一个标准的层,所以这是一个。这个表示某层第i个特征变量,nx为特征变量的总数。原创 2023-12-09 13:49:59 · 873 阅读 · 0 评论 -
深度学习记录--广播(Broadcasting)
广播),在python中是一种矩阵初等运算的手段,用于将一个常数扩展成一个矩阵,使得运算可行。原创 2023-12-03 11:33:54 · 657 阅读 · 0 评论 -
深度学习记录--logistic回归损失函数向量化实现
深度学习记录原创 2023-12-02 23:12:26 · 406 阅读 · 0 评论 -
深度学习记录--初识向量化
之前计算logistic回归损失函数时,在代码实现时,讨论了for循环:过多的for循环会拖慢计算的速度(尤其当数据量很大时)因此,为了加快计算,向量化是一种手段运用python的numpy库,我们可以使用库函数,这些函数一般可以并行计算(类似矩阵计算),加快计算的速度。原创 2023-12-02 22:02:45 · 631 阅读 · 0 评论 -
深度学习记录--logistic回归函数的计算图
两个for循环在大量的样本数据面前,会使迭代时间大大增加,算法效率及其低下。少量样本的logistic计算图求完后,可以推广到m个样本的计算图。当把每个变量的导数求出后,就可以使用梯度下降法进行变量更新。同时在for循环内部嵌套for循环来对i个基础量进行求和。使用for循环来对m个样本进行后向传播计算。在外层for循环结束后进行基础量的迭代。前向传播已经完成,接下来完成后向传播。每个导数求和之后求平均值(除以m)这样完成简单的迭代算法代码实现。的出现能够很好地解决这个问题。运用链式法则依次求出。原创 2023-11-28 16:57:15 · 724 阅读 · 0 评论 -
深度学习记录--计算图(前向后向传播)
深度学习记录--计算图(前向后向传播)原创 2023-11-28 15:53:14 · 445 阅读 · 0 评论 -
深度学习记录--梯度下降法
梯度下降法是用来求解成本函数cost函数中使得J(w,b)函数值最小的参数(w,b)原创 2023-11-26 21:24:33 · 367 阅读 · 1 评论 -
深度学习记录--logistic回归损失函数
logistic回归是一个用于二分分类的算法,用于解决yes/no问题(个人理解)原创 2023-11-26 13:06:26 · 385 阅读 · 1 评论 -
深度学习记录--初印象
我理解成是一种通过输入大量的样本数据与结果数据,在一定的学习之后,尽可能给出准确的预测的一种单元。而神经网络可以在数据规模很大的条件下做到性能的大大提高,并且神经网络的规模越大,其性能也就越高。也由于近来硬件的升级,算力不断提升,训练模型的时间缩短,使更多的想法得以实践。但由于数据规模越大会导致训练时间随之增大,所以往往会增大神经网络的规模。数据量,数据规模的增大,导致传统的算法的性能提升不高,不足以满足需求。总的来说,数据规模越大,神经网络规模越大,性能表现越好。,使得神经网络的提升更加迅速。原创 2023-11-26 11:10:22 · 402 阅读 · 1 评论