![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
文章平均质量分 70
记录学习
Blizzard_v
An explorer
展开
-
线性方程组AX=b,AX=0以及非线性方程组的最小二乘解(解方程组->优化问题)
p=q表示A矩阵是个方阵,又因为是列满秩,所以是一个满秩的方阵,由于满秩的性质那么A的行列式不等于0。这时候Ax=y这个方程就很好求了,方程左右乘A的逆,就有唯一解了。:就是我们要求的q个变量x是互相无关的(没有向量可用有限个其他向量的线性组合所表示),必须要把这q个变量都求出来才行,不能说求出q-1个就能把q个变量决定。,这同时也说明了矩阵只适用于对X做线性变换的性质,对于做非线性变换的变换,矩阵表示不出来。,让X在满足条件的情况下使得║AX║的平方最小,于是就构造了一个带约束的最小二乘问题。原创 2022-08-29 16:13:31 · 11402 阅读 · 0 评论 -
从源头理解Batch Normalization (顺带搞懂为什么做参数初始化)
基于第一节讲到的Normalization能为神经网络带来的种种好处,面临的下一个问题就是针对不同的任务,网络每一层的多维的数据在哪个维度进行Normalization是最合适的,于是就有了Batch Normalization(BN)。:因为理想输出y是做了Normalization的高斯分布(均值为0方差为1),所以参数初始化的目标就是使得输入x经过k和b的一通计算后,预测的输出y仍然服从Normalization的正态分布(均值为0方差为1),能满足这个条件的参数k和b,就是一个好的初始化!原创 2023-02-18 10:14:22 · 944 阅读 · 1 评论 -
充分理解判别模型和生成模型、概率模型和非概率模型
在理解完上面的文章后再看这篇博文,你就能够理解这篇文章中的公式,然后对判别模型,生成模型,概率模型,非概率模型的都能有足够清晰的认识。首先看这篇文章:作者从最基础的视角引入并讲解了概率模型和非概率模型(最后看这个:作者通过一个实际案例带你更加深刻认识概率与非概率模型。原创 2022-11-26 15:34:52 · 472 阅读 · 0 评论 -
关于Grad-CAM的自问自答(详细解释了为什么要用Relu的原因,泰勒展开)
答:关于这个问题中影响越大说明贡献度越大是不成立的,c类别分数关于这个元素的梯度越大确实说明这个元素对类别c的影响越大,但这影响有可能是呈正面影响,也有可能是呈负面影响,正面影响就是指这个元素值越大,表示对类别c的贡献度越高。关于Grad-CAM的思路,可视化的规则是:所以输出值越大(越大是指的相对值,相对整张图来说)的位置,这个位置的热力图颜色越高亮,表示对类别c越有利,贡献度越高。原创 2022-10-24 22:27:27 · 1581 阅读 · 4 评论 -
【目标检测】目标尺度和图像分辨率之间的关系
3.接着,一般来说很小的目标物和很大的目标物不建议同时检测。因为一方面太小的目标物(比如小于10像素的)本身的特征判别能力有限,因为可利用的像素少,容易出误检。另一方面,太大的物体会导致太大的图像输入,使得训练不可行。原创 2022-10-19 15:34:16 · 2823 阅读 · 0 评论 -
什么是流形(manifold)、流形学习
它的主要思想是将高维的数据映射到低维,使该低维的数据能够反映原高维数据的某些本质结构特征。可以简单的将流形理解成二维空间的曲线,三维空间的曲面在更高维空间的推广。下图是三维空间中的一个流形,这是一个卷曲面,像一个瑞士卷一样,而3维空间中的曲面可以看做是2维的流形,因为曲面是2维的。n维空间中的m维流形就是具有m维几何形状的一个子集,在这里,m小于n。图上所标注的两个圈圈,在流形(把卷展开)上本距离非常远,但是用三维空间的欧氏距离来计算则它们的距离要近得多。原创 2022-10-14 13:22:26 · 7651 阅读 · 2 评论 -
深度理解CNN中的感受野(大杀器)
感受野是理解深度卷积神经网络的大杀器,上图中的各向同性是指距离感受野中心相等的位置重要程度是一致的。从上图中可以发现激活值(上图的红色节点)的感受野中心的节点(上图绿色的节点的中间位置的节点)是对激活值起到最关键的影响(因为参与到激活值计算的次数最多,有37次)。原创 2022-10-11 20:57:32 · 5714 阅读 · 1 评论 -
CNN中的底层、高层特征、上下文信息、多尺度
分类要求特征有较多的高级信息,回归(定位)要求特征包含更多的细节信息。原创 2022-10-08 13:55:11 · 16062 阅读 · 13 评论 -
StyleGAN理解和隐变量latent space
在Mapping Network模块中,实线代表着某一特征为常量的线,文中的意思就是如果用隐变量z(z来自高斯分布或者均匀分布)表示特征的话,由于z来自一个对称的分布,特征(指男子气概的程度和头发长度这两个特征)的分布为了变得对称必定就会扭曲即耦合,所以当这些特征耦合时,线就不是直线而是曲线了,沿着一根线进行位置变换时同时也会使得在其他线的位置发生变化,这理解实在精辟。这文章其中的Mapping Network和Perceptual path Length的讲解非常到位。,即latent code。原创 2022-09-30 22:06:03 · 2162 阅读 · 0 评论 -
CE Loss,BCE Loss以及Focal Loss的原理理解
想象画在图上就是横坐标(自变量)是随机变量。根据随机变量所属类型的不同,概率分布取不同的表现形式。原创 2022-09-29 15:01:58 · 8678 阅读 · 7 评论 -
点互信息PMI(Pointwise Mutual Information)
所谓的随机变量,即随机试验结果的量的表示,可以简单理解为按照一个概率分布进行取值的变量,比如随机抽查的一个人的身高就是一个随机变量。可以看出,互信息其实就是对X和Y的所有可能的取值情况的点互信息PMI的加权和,而点互信息只是对其中两个点进行相关性判断。因此,点互信息这个名字还是很形象的。在概率论中,我们知道,如果x跟y不相关,则p(x,y)=p(x)p(y)。用后面的式子可能更好理解,在y出现的情况下x出现的条件概率p(x|y)除以x本身出现的概率p(x),自然就表示x跟y的相关程度。原创 2022-09-28 21:08:39 · 1787 阅读 · 0 评论 -
深度学习如何调参和分析问题的方法
LR在可以工作的最大值下往小收一收, 免得ReLU把神经元弄死了(这是因为如果梯度太大,而学习率又不小心设置得太大的时候,就会导致权重一下子更新过多,就有可能出现这种情况:举个例子:y = 3 x + 1,权重W=3,如果更新的步长很大,例如 ΔW = -100,那么就变成了 y=-97x+1了,有可能出现训练集中所有的样本经过这个映射,都变成小于 0 的数了,会使得ReLU把神经元弄死了),看看是否是未收敛造成的结果。,分类网络就是学习类别之间的界限. 你会发现, 网络就是慢慢的从类别模糊到类别清晰的.原创 2022-08-26 19:44:57 · 1070 阅读 · 0 评论 -
Pytorch|GAN在手写数字集上的复现
默认情况下,只有叶子节点的梯度值能够被保留下来,非叶子节点的梯度值在反向传播过程中使用完后就会被清除,不会被保留,除非使用 retain_grad() 方法。进一步理解就是fake.detach()这个tensor变成了当前计算图的叶子节点但是不会求叶子节点的梯度了,计算图其实就是代表程序中变量之间的关系,计算图会在backward()函数执行后被清理掉,由于叶子节点变成了fake.detach(),那么fake前的变量的计算关系是没有被清理掉的。3.元组中只有一个数据要加逗号,......原创 2022-07-29 21:48:48 · 450 阅读 · 0 评论 -
VAE(变分自编码器)的一些难点分析
VAE学习过程小记原创 2022-07-15 21:01:22 · 1598 阅读 · 0 评论 -
关于目标框、特征resize和感受野的思考
1.目标框resize: resize的实质是坐标变换,在进行resize时,不同采样插值方法的坐标变换方法不同,但resize始终会保持图中原有的相对位置关系,所以计算resize后的坐标都是通过除以缩放倍数这样计算,虽然有偏差但是可以忽略不计。2. 感受野: 特征的感受野是用于表示这个特征受它对应哪部分区域的影响。CAM将上采样后的高亮区域作为原图的起作用区域是不严谨的,实际上起作用区域应该包含感受野的区域,但是感受野是呈高斯分布的,由中心向外,起的作用是递减的,所以实际感受野是小于理论感受野的,原创 2022-05-20 16:27:21 · 428 阅读 · 0 评论 -
对Feature map的值的思考
feature map为0或者为正为负没有本质的区别,都是信息的一种表示,不同的卷积核就是不同表示信息的方法,而激活函数则是决定了选择信息的方式,只是relu正好选择了正值而已,神经网络经过训练后,卷积核自然就把有用的信息通过正值表示出来。在transformer中,那如何证明注意力分数越大,起的作用越大呢,可以求偏y/偏v(v指value,y指网络输出),如果v变了一点,y都会变得很剧烈,就说明v对y的影响很大,而算一下 偏y/偏v ,会发现乘上的注意力分数会是里面的一项。原创 2022-05-19 13:50:51 · 483 阅读 · 0 评论 -
神经网络反向传播算法求导过程理解
利用下面两条原则,便可大杀四方。原创 2022-05-19 12:16:13 · 1179 阅读 · 0 评论 -
Pytorch关于求梯度和requires_grad_(True)和detach的理解
1.关于.grad理解直接见测试代码和注释:import torchx = torch.tensor([1, 2], dtype=torch.float32, requires_grad=True)a = torch.tensor([3, 4], dtype=torch.float32, requires_grad=False)w = torch.tensor([1, 2], dtype=torch.float32, requires_grad=True)y = x * 4 + a * w #a原创 2022-05-09 13:49:59 · 7361 阅读 · 2 评论 -
【经典回顾】目标检测之RCNN系列解读(RCNN,Fast RCNN,Faster RCNN,Mask RCNN)
在目标检测领域,通常将网络的输出转为直观的检测框信息这一过程称为decode,就是根据网络的输出获取直观的检测框信息。那么encode就是将检测框信息(通常为ground-truth bounding box的坐标、宽高信息)转化为形为网络输出的信息,便于网络损失函数的求解。两阶段检测的框架就是先通过启发式方法(selective search)或者CNN网络(RPN)产生一系列稀疏的候选框,然后再逐一对这些候选框进行分类和回归位置。原创 2022-03-01 23:32:19 · 1676 阅读 · 0 评论 -
理解多维矩阵乘积运算和对应的广播机制
神经网络中的多维矩阵乘积运算:多维矩阵乘积运算乘积两项的维度都应该是相同的,如果有论文中有遇到矩阵乘积的两项维度不一致,那就考虑它计算时是使用了广播机制(如YOLACT)。所有大于二维的,最终都是以二维为基础堆叠在一起的!!所以在矩阵运算的时候,其实最后都可以转成我们常见的二维矩阵运算,遵循的原则是:在多维矩阵相乘中,需最后两维满足shape匹配原则,最后两维才是有数据的矩阵,前面的维度只是矩阵的排列而已!例子1:三维*三维比如两个三维的矩阵相乘,分别为shape=[2,2,3]和shape=[2,原创 2022-02-11 21:58:33 · 3471 阅读 · 0 评论