![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习算法
文章平均质量分 66
仙女修炼史
从入门到了解、到熟悉、到深入、到掌握,一步一个脚步,踏踏实实,不断进阶!
展开
-
yolo系列配置文件解析,内容来自官方
yolo系列配置文件解析原创 2022-09-15 09:49:32 · 1093 阅读 · 1 评论 -
softmax(三):softmax交叉熵的缺点
还是废话不说,直接上峰神的链接Softmax理解之Smooth程度控制softmax交叉熵我们经常使用,但是为啥有的任务,用softmax交叉熵效果很好,有的任务用效果却不怎么样。在实际项目中,分析softmax交叉熵的缺点,才能知道,什么时候有用,失效的怎么去优化。不要总是当个黑盒子,什么情况下都用,精度上不去的时候,又不知道怎么去优化。softmax交叉熵为啥会有不管用的时候呢,原因很简单,因为它不是我们真正的目标函数,是目标函数smooth过来的,为了方便求导和计算,那么我们就要和真正的目标函原创 2022-05-12 16:17:05 · 1517 阅读 · 0 评论 -
softmax(二):softmax交叉熵不是真正的目标函数
最近一直在消化、吸收大神的输出,在这里主要把思路捋顺,试着增加自己的理解和扩展。首先,上链接,还有我的膝盖,拜王峰大神,可以直接看大神的文字!从最优化的角度看待Softmax损失函数Softmax理解之Smooth程度控制一、优化的目标函数做分类的都知道,softmax交叉熵,是常用的分类损失函数,那么,它是怎么来的呢?用CNN提取n维特征之后,我们想要拿这个n维特征,去预测,是狗,是猫,还是人?怎么预测呢,总不能直接拿n维特征吧,我们想要只想知道,是狗,是猫,还是人。为了解决这个问题,我们将n原创 2022-05-10 14:36:13 · 665 阅读 · 0 评论 -
求导公式推导
softmax + cross_entropy 求导loss=−∑j=13yj∗log(pj) loss = - \sum_{j=1}^3y_j*log(p_j)loss=−j=1∑3yj∗log(pj)其中 y=[1,0,0],pi=ezi∑k=13ezky = [1, 0, 0],p_i = \frac{e^{z_i}}{\sum_{k=1}^3e^{z_k}}y=[1,0,0],pi=∑k=13ezkezi,所以:loss=−y1∗log(p1)\begin{aligned}原创 2022-05-08 09:36:59 · 419 阅读 · 0 评论 -
softmax(一):从梯度的角度分析,softmax与sigmoid在损失函数中的不同
面试的时候讨论过这个问题,我觉得这个问题可以深度思考一下,顺便回顾一下梯度的计算方法1、softmax+cross_entroy这里只考虑后面的损失函数,前面的卷积输出,由模拟数据代替,这里z1,z2,z3z_1, z_2,z_3z1,z2,z3是网络最后一层的输出,这里我给出了虚假数据z1=−1.4694,z2=−2.2030,z3=2.4750z_1= -1.4694,z_2 = -2.2030,z_3 = 2.4750z1=−1.4694,z2=−2.2030,z3=2.4750,z1原创 2022-05-07 11:50:40 · 746 阅读 · 0 评论 -
为什么要归一化
1、为什么要归一化引入归一化,是由于不同的特征之间,其量纲或者量纲单位往往不同,变化区间也处于不同的数量级,若不进行归一化,可能导致某些指标被忽略,影响到数据分析的结果。例如影响房价的两个特征,面积和房间数量,面积有80,90,100等,房间数有1,2,3等,你看,这两个指标度量方式根本不在一个数量级上。为了消除特征之间的量纲影响,需要进行归一化处理,以解决特征指标之间的可比性,原始数据,经归一化处理后,各个指标处于同一种数量级,可以直接对比评价。2、归一化的本质归一化:xi−xminxmax−x原创 2022-05-04 19:14:08 · 3924 阅读 · 0 评论 -
attention之 CBAM 和SEnet
attention其实就是学习生成一个掩码mask,也可以叫做是权重,这些mask或者权重,决定,输入的特征中,哪些是需要特别关注的。attention机制可以分为:通道注意力机制空间注意力机制混合域注意力机制SENet是Squeeze-and-Excitation Networks,如下图:class SELayer(nn.Module): def __init__(self, channel, reduction=16): super(SELayer, self原创 2022-05-03 21:23:21 · 324 阅读 · 0 评论 -
Gem pooling、max pooling、average pooling
gem时average pooling 的一般化gem 的公式如下:f(g)=[f1(g)...fk(g)...fK(g)]T=(1∣Xk∣∑xxpk)1pkf^{(g)} = [f_1^{(g)}...f_k^{(g)}...f_K^{(g)}]^T = (\frac{1}{|X_k|}\sum_xx^p{_k})^\frac{1}{p_k}f(g)=[f1(g)...fk(g)...fK(g)]T=(∣Xk∣1x∑xpk)pk1当pk=1p_k=1pk=1时,gem pool原创 2022-05-03 16:13:52 · 2833 阅读 · 0 评论 -
L1范数与L2范数
一、范数p范数p范数p范数:x=[x1,x1,...xn]Tx = [x_1,x_1,...x_n]^Tx=[x1,x1,...xn]T那么向量x的p范数p范数p范数就是:∣∣x∣∣p=(∣x1∣p+∣x2∣p+...+∣xn∣p)1/p||x||_p = (|x_1|^p+|x_2|^p+...+|x_n|^p)^{1/p}∣∣x∣∣p=(∣x1∣p+∣x2∣p+...+∣xn∣p)1/p二、L1范数与L2范数L1范数L1范数L1范数:∣∣x∣∣1=(∣x1∣+∣x2∣+...原创 2022-05-02 13:24:45 · 3050 阅读 · 0 评论 -
inception 进化史
inception-v1inception-v1大量应用到众人熟知的GoogleNet中,它是2014年ImageNet竞赛的冠军,1、inception 结构引入多尺度感受野和多尺度融合,2、使用1x1卷积进行降维,减少了计算,3、googlenet中使用均值池化替代全连接层。inception-v2在Inception-v2网络,作者引入了BN层inception-v31、采用两个3x3卷积,替换一个5x5卷积,参数量由5x5 = 25 减少到 3x3x2 = 18,但是在感受野..原创 2022-04-15 16:07:50 · 123 阅读 · 0 评论 -
网络图解析系列之googlenet
原创 2022-04-15 16:06:09 · 136 阅读 · 0 评论 -
网络图解析系列之Alexnet
原创 2022-04-15 16:04:36 · 268 阅读 · 0 评论 -
梯度下降法的改进:momentum、Adagrad、Adadelta、RMSprop、Adam
一、指数加权移动平均(Exponentially weighted moving averages)梯度下降法二、momentum三、Adagrad四、Adadelta五、RMSprop六、Adam原创 2021-10-19 08:03:29 · 197 阅读 · 0 评论 -
网络调参的理解
网络调参的必要性原创 2021-10-11 11:41:53 · 335 阅读 · 0 评论 -
梯度下降法的理解以及马鞍点
一、梯度下降法梯度下降法是训练神经网络常用的优化算法梯度下降法基于以下的观察:如果实值函数f(x)在a点处可微且有定义,那么函数f(x)在点a沿着梯度相反的方向下降最快。二、批梯度下降法批梯度下降法:把所有的数据都遍历一遍,计算每个数据的梯度,然后将所有数据的梯度加起来,求平均,使用平均梯度更新参数值。将所有的数据都计算完之后,更新一次参数。特点:在凸优化的情况下,一定会找到最优解;在非凸优化情况下,一定能找到局部最优解;不适合在线求解三、随机梯度下降法随机梯度下降法:每个ep原创 2021-10-09 10:32:14 · 1329 阅读 · 0 评论 -
数据标准化:减去均值,除以方差的理解
数据在进入神经网络之前,都要进行数据预处理,数据标准化是数据预处理之一,方式是将数据减去均值,再除以方差:X=X−mean_valueX = X - mean\_valueX=X−mean_value X=X/std_valueX = X/std\_valueX=X/std_value可以这样理解这种处理方式:减去均值:数据进入卷积神经网络,提取特征,然后用提取的特征进行分类和位置回归,提取的特征决定了分类和位置回归的准确性,提取的特征要能够代表每个类别的特点,因此神经网络更关注的是类别之间的差异性原创 2021-10-08 17:30:10 · 15197 阅读 · 1 评论