深度学习理论
文章平均质量分 81
HanZee
过去不追究,未来不将就。
展开
-
Self-Alignment with Instruction Backtranslation
首先根据seed data,finetune baseline model:=M1,然后根据候选的unlabeld data生成instruction,但是这些QA问答对并不是完全都是高质量的,所以下一步显得十分重要。为了不断提升模型性能,首先通过模型M0finetune seed data 得到M1,通过M1筛选数据D的到D1,然后将seed data + D1 继续微调M0得到M2,作者最终只迭代到了M2.对其去重、长度过滤,移除潜在的低质量数据,然后若干个document块作为response。原创 2023-08-16 19:22:17 · 237 阅读 · 0 评论 -
Prefix-tuning、Adapter、LLaMA-Adapter的流程图与伪代码实现
流程图:代码:流程图:代码:流程图:原创 2023-04-19 15:39:02 · 774 阅读 · 0 评论 -
InstructGPT:Training language models to follow instrcutions with human feedback
现在LLM可以被prompt来完成一系列的下游任务,然而这些模型也总会产生一些用户不想要的结果,如捏造事实,产生偏差,或者生成负面的数据。作者认为原因可能出现在评估函数,由于LLM的评估函数可能是完形填空(Bert系列)或者文字接龙(GPT系列),而我们想让他完成QA,所以作者认为LLM没有align用户用的想法。于是作者就想让模型对人们更有帮助、无害,缓解上面的所说的偏差。原创 2023-04-17 15:09:45 · 248 阅读 · 0 评论 -
深度学习:GPT1、GPT2、GPT-3
保存之前阶段训练的参数,在上述结构的基础上,去掉softmax层,然后加上一层全连接层与特定任务的softmax,然后用有标签的数据集训练,在这期间,半监督学习的参数可以选择处于冻结状态,然后只更新新的全连接层参数。GPT-1主要针对的是生成型NLP任务,如文本生成、机器翻译、对话系统等。GPT-2在初代的模型架构上变得更大了,参数量达到了1.5B,数据集改为百万级别的WebText,Bert当时最大的参数数量为0.34B,但是作者发现模型架构与数据集都扩大的情况下,与同时期的Bert的优势并不大。原创 2023-03-22 15:04:13 · 2939 阅读 · 0 评论 -
BEV感知:DETR3D
在这篇paper,作者提出了一个更优雅的2D与3D之间转换的算法在自动驾驶领域,它不依赖于深度信息的预测,这个框架被称之为DETR3D。这个方法主要是为了葱多视角获取 scene-specific information,作者把首先生成3D的query,生成3d reference point,通过相机参数矩阵投影到2D拿到相应的2D feature。我们提出了一个基于RGB图像进行3D目标检测的改进模型。原创 2023-02-21 19:21:25 · 1080 阅读 · 0 评论 -
BEV感知:BEVDet
作者起初想用一些数据增强的方法来缓解过拟合,但是这种方法只在没有bev的时候很work,因为假如我所有的2d image 都做了翻转(所有image做了相同角度的倾斜),由于后面需要把feature融入视锥,而视锥没有倾斜,这样会导致空间分布不一致,造成不必要的噪声。缩放因子是特定于类别的。但是这是3d voxel坐标他是没发生变化的,因为它是在生成视锥是根据原图确定的,而数据增强是在训练阶段进行的,他们没有做到同步。然而,在BEV空间中,各个类的占用面积本质上是不同的,实例之间的重叠应接近于零。原创 2023-02-17 00:51:07 · 1182 阅读 · 0 评论 -
BEV感知:BEV开山之作LSS(lift,splat,shoot)原理代码串讲
目前在自动驾驶领域,比较火的一类研究方向是基于采集到的环视图像信息,去构建BEV视角下的特征完成自动驾驶感知的相关任务。所以如何准确的完成从相机视角向BEV视角下的转变就变得由为重要。显式估计图像的深度信息,完成BEV视角的构建,在某些文章中也被称为自下而上的构建方式;利用transformer中的query查询机制,利用BEV Query构建BEV特征,这一过程也被称为自上而下的构建方式;LSS最大的贡献在于:提供了一个端到端的训练方法,解决了多个传感器融合的问题。原创 2023-02-16 00:42:51 · 4734 阅读 · 4 评论 -
目标检测:DETR详解
DETR是第一篇将Transformer应用到目标检测方向的算法。DETR是一个经典的Encoder-Decoder结构的算法,它的骨干网络是一个卷积网络,Encoder和Decoder则是两个基于Transformer的结构。DETR的输出层则是一个MLP。它使用了一个基于二部图匹配(bipartite matching)的损失函数,这个二部图是基于ground truth和预测的bounding box进行匹配的。最终性能与Faster-RCNN持平。原创 2023-02-06 01:53:55 · 11356 阅读 · 1 评论 -
深度学习:Self-Attention与Multi-heads Attention详解
分为dot product 和 与 additive ,前者就是计算出q k后,做点乘(对应元素相乘在相加),然后得到q对所有k的相关性,然后经过softmax处理得到attention score,在大部分情况下我们都采用这种方法,后者则是做加法然后经过tanh激活得到。然后通过fx,把 x Embedding成低维向量a1,a2,让后对a1,a2分别通过全连接层(对应的权重矩阵w)得到对应的q(query),k(key),v(value)。(实际是不同的head的所对应的q权重矩阵不同。原创 2023-02-01 00:47:44 · 951 阅读 · 0 评论 -
深度学习:CSPNet
CSPNet 是作者 Chien-Yao Wang 于 2019 发表的论文 CSPNET: A NEW BACKBONE THAT CAN也是对 DenseNet 网络推理效率低的改进版本。原创 2023-01-27 02:04:50 · 843 阅读 · 0 评论 -
深度学习:轻量级神经网络MobileNet 从v1 到v2
MobileNet是谷歌团队在2017年提出的,专注于移动端和嵌入式设备的轻量级CNN网络,相比于传统卷积,相比于传统卷积网络,在准确率小幅降低的情况下大大减少了参数量与运算量。它的主要贡献就是提出了深度可分离卷积与增加超参数alpha 与 beta。MobileNet V2 是谷歌团队2018年提出的网络,相比于MobileNet V1。原创 2023-01-26 00:19:59 · 1719 阅读 · 1 评论 -
深度学习:DenseNet思想总结
论文中提出的架构为了确保网络层之间的最大信息流,将所有层直接彼此连接。为了保持前馈特性,每个层从前面的所有层获得额外的输入,并将自己的特征映射传递到后面的所有层。该论文基于这个观察提出了以前馈的方式将每个层与其他层连接的密集卷积网络(DenseNet)。DenseNet的跨层连接为concat,ResNet为add。DenseNet提升了梯度的利用率,loss可以获得前面每一层的梯度,网络的层数更多了。DenseNet致力于特征reuse,提高网络性能。原创 2023-01-23 17:18:28 · 400 阅读 · 0 评论 -
目标检测:Focal Loss
Focal loss这个idea来源于论文《Focal Loss for Dense Object Detection》,主要是为了解决正负样本、难易样本不平衡的问题。原创 2023-01-22 15:08:04 · 1686 阅读 · 0 评论 -
目标检测:YOLOV3技术详解
YOLOV3是V2的升级版,也是原作者的绝笔,V3主要还是把当时一些有用的思想融入了进来,没有什么创新型的突破,具体细节我们下面介绍。原创 2023-01-18 19:08:58 · 852 阅读 · 0 评论 -
目标检测:特征金字塔网络(Feature Pyramid Network)
由于在目标检测任务中,对与大目标的检测,需要feature map每个点的感受野大一点(高层语义特征),对于小目标,需要感受也小一点(底层纹理特征),传统的检测任务我们往往是通过最后卷积层输出的供给下游检测任务使用,这样每一个点的感受野很大,对于小目标检测不友好,作者基于传统卷机网络固定的结构提出了一种新的架构一边融合底层信息于高层信息。原创 2023-01-15 20:06:30 · 1113 阅读 · 0 评论 -
目标检测:YOLO V2思路解读
在采取anchor机制的时候遇到了两个问题,第一个问题是在anchor的大小需要手动选择,网络不能根据数据去调整来得到更好的priors,为了让模型更好与容易的学习检测任务,作者通过k-means方法聚类数据集中真实框,收敛后,每个聚类中心就是我们anchor的尺寸,我们划分多少个聚类中心,每个gird cell就有多少个anchor,最后作者选择5来达到一个速度与精度的权衡。每10个批次,我们的网络就会随机选择一个新的图像尺寸。因此,最小的选项是320 × 320,最大的是608 × 608。原创 2023-01-13 22:06:19 · 464 阅读 · 0 评论 -
目标检测:YOLO V1 思想总结
YOLO V1在当时的速度非常快,FastYOLO可以达到150FPS。它的背景误判率小于Faster RCNN,由于它直接提取全图的特征(前景与背景的关系),而后者则是提取候选框的特征。迁移学习效果好。在小目标上表现不佳。原创 2023-01-08 13:20:05 · 364 阅读 · 0 评论 -
目标检测:RCNN、SppNet、Fast RCNN、Faster RCNN是如何过渡的?
当卷积层提取到feature map后 ,在卷积层后利用一个3 * 3 的卷积核提取每个feature map点的特征(这个卷积核与之前的不太一样),根据 卷积核扫描图像对应区域的中点,按照1 :1 1:2 2:1 三个 hw比和三个尺寸生成9个 anchors,一共会生成 h * w * 9个候选框,3 * 3的卷积过后接一个全连接层,然后输出 9个值,代表是否为正类的概率(是否包含物体),同时 ,输出 4 * 9的值用来回归精修anchor。然后,它将卷积神经网络得到的特征送入SVM。原创 2023-01-05 22:11:49 · 723 阅读 · 0 评论 -
深度学习:ResNet从理论到代码
作者的思想是如果在一个浅层模型可以找到一个很好的结果,那么他的对应版本的深层网络也会很好,因为只需要在浅层网络后面加恒等映射就可以(就是浅层网络后面的层即使不干好事,但也不会变坏),可是优化器SGD很难做到恒等映射也就是不变的操作,于是就有了下面的ResNet。我们可以把残差结构看成一个集成网络,把它展开后,可以看成多个小的网络求和的结果,那么他的健壮性就很好,即使干掉其中一个,他也可以保持很好的效果。如上图所示,输入X,经过卷积层,ReLU激活得到F(X),然后计算F(x)+x得到H(x)。原创 2022-12-25 21:46:04 · 716 阅读 · 0 评论 -
深度学习: Batch Normalization论文详细解读
BN使得每层网络输出分布相对稳定,可以使用更大的学习率加速模型。BN使得模型对网络中的参数不那么敏感,简化调参过程,使得网络学习更加稳定。BN允许网络使用饱和性激活函数(例如sigmoid,tanh等),缓解梯度消失问题。BN具有一定的正则化效果。原创 2022-12-08 14:14:03 · 951 阅读 · 0 评论 -
机器学习:奇异值分解(SVD)详细讲解
对于矩阵为高纬的情况下,那么这个矩阵就是高维空间下的一个线性变换,可以想像,这个变化也同样有很多的变换方向,我们通过特征值分解得到的前N个特征向量,那就对应了这个矩阵最主要的N个变化方向,我们利用这前N个变化方向,就可以近似这个矩阵(变换)。是一个对角矩阵,每一个对角线元素就是一个特征值,里面的特征值有大到小排列,这些特征值所对应的特征向量就是描述这个矩阵变化方向,(从主要的变化到次要的变化排序)。一个矩阵其实就是一个线性变换,因为一个矩阵乘以一个向量后得到的向量,其实就相当于将这个向量进行了线性变换。原创 2022-11-14 18:41:40 · 2955 阅读 · 0 评论 -
深度学习:维度灾难(Curse Of Dimensionality)
当维度升高时,r=0.5,所以当维度达到足够高时,内接球体的体积会接近于0,也就是说球体的没单位体积内机会就没有数据,然而外接正方体的体积始终=1,也就是球内的数据随着维度的增加没有消失,都聚集在正方体的表面。但是数据量要随着维度的增加而增加,数据本身就是有噪声的,在数据不足的时候,结果就是分类器学习到了很多数据集中的特例,因此对于现实数据往往会效果较差,因为现实数据是没有这些噪声以及异常特性的。按照这个规律,我们把维度拓展的 正方形为2维,正方体为3维,按照这个规律,我们把维度拓展到 n维。原创 2022-11-05 16:34:13 · 1804 阅读 · 0 评论 -
深度学习:GoogLeNet核心思想详细讲解(原创)
如果想提高模型的性能,作者认为:当模型的层数足够深,标注好的数据足够多的时候,那么将很高效的训练出一个精度不错的模型。但是这个方案有两个缺点:在矩阵中,若数值为0的元素数目远远多于非0元素的数目,并且非0元素分布没有规律时,则称该矩阵为稀疏矩阵;与之相反,若非0元素数目占大多数时,则称该矩阵为稠密矩阵。定义非零元素的总数比上矩阵所有元素的总数为矩阵的稠密度。根据上面的缺点,作者认为我们应该把全连接层替换成稀疏连接结构,这样就可以避免计算资源的浪费,加速收敛。作者还提到了Hebbian principle,原创 2022-10-28 23:27:05 · 643 阅读 · 0 评论 -
深度学习:NiN(Network In Network)详细讲解与代码实现
1 * 1卷积实际上就是对特征图所有channel对应的像素点做全连接网络,由于它只考虑了1个像素点,它不像3 * 3卷积那样可以考虑周围像素点,但是可以让特征图在不需要padding的情况下保证的H、W不变,也就是融合了买个像素点不同通道的特征所以它也有跨通道交融的作用。卷积核的数量决定了输出的维度,所以用1 * 1卷积只会改变特征图的channel数,这也就是1 * 1卷积有升维 、降维的作用,在维度降低的同时,计算量也就减少了,模型速度会变快,与此同时,它在保留了空间信息的同时,还增加了非线性激活函数原创 2022-10-23 16:31:19 · 1584 阅读 · 0 评论 -
深度学习:VGG(Vision Geometrical Group)论文详细讲解
💡虽然AlexNet证明深层神经网络卓有成效,但它没有提供一个通用的模板来指导后续的研究人员设计新的网络。与芯片设计中工程师从放置晶体管到逻辑元件再到逻辑块的过程类似,神经网络架构的设计也逐渐变得更加抽象。研究人员开始从单个神经元的角度思考问题,发展到整个层,现在又转向块,重复层的模式。使用块的想法首先出现在牛津大学的视觉几何组(visualgeometrygroup)的VGG网络中。通过使用循环和子程序,可以很容易地在任何现代深度学习框架的代码中实现这些重复的架构。原创 2022-10-20 19:36:15 · 1154 阅读 · 0 评论 -
机器学习:梯度下降法超详细指南
在一阶函数中,一阶导数表示函数值与自变量的变化关系,我们把函数从一个点到另一个点变化的函数值与变化的自变量的比值称为函数这两点之间自变量方向的变化率,可以用。对一个维度的点求偏导数,如果结果为正,则在这点的这一维度为增函数,反之,则相反,我们知道了增减性,我们就知道了,函数往哪个方向走可以让函数的值达到最小。沿着梯度减小的方向走,梯度会越来越小,我们步长就会越来越小,到达极值点后,梯度达到水平,梯度值接近0,更新的参数也就不再变化。看到这里,我们可能会有一个疑问,求导的那个点的方向一定是沿着坐标轴的吗?原创 2022-04-06 11:45:05 · 2977 阅读 · 0 评论 -
深度学习:卷积神经网络保姆级详细指南
首先我们想到的是给图像的像素点做flatten,当图片很小的时候,全连接神经网络还依旧能work,假设图片的尺寸是224*224的黑白图像,那么需要的参数数量就是50176,这样来看,训练的代价会非常大,如果类别也不多,很大可能会出现过拟合的情况,我们还不如直接One-hot。上面我们讲述,图像在卷积核的作用下会让图像的尺寸缩小,如果我们想训练特别深的网络,比如网络100层,采用3* 3的卷积核,图像尺寸32*32,那么在16层后,图像的尺寸就没了。默认每次步长为1,步长增大,可以减少计算量,减少时间。原创 2022-10-07 17:04:41 · 1409 阅读 · 0 评论 -
深度学习:动量梯度下降法理论详解+代码实现
其中偏导数代表了这个维度上移动的方向,学习率代表步长,我们把偏导数在每次优化参数时替换成加权平均的偏导数,这样考虑可以考虑前面的方向,因为当前方向前面的竖直方向是相反的,水平方向是相同的,于是就可以让函数值下降的震荡减小,速度加快。这种方法是好处是可以节约空间,算数平均法需要保留所有值才可以求平均,而指数加权平均只需要保留当前的平均值与当前时刻的值即可,在深度学习含量数据的背景下,可以节约内存并加速运算。现在,我们就又了优化的方向了,如果把竖直方向削弱,水平方向增强,我们的优化速度会事半功倍。原创 2022-09-26 15:25:37 · 1330 阅读 · 0 评论 -
深度学习基础:矩阵不可逆的原因
深度学习基础:矩阵不可逆的原因1.特征x1与特征x2线性相关(例如x1为厘米,x2为米,100x1=x2),遇到此状况可去掉一个参数。2.数据太少,但是数据的维度太大。可采用伪逆计算法。原创 2022-03-01 15:53:37 · 2896 阅读 · 0 评论 -
深度学习:Xavier初始化理论+代码实现
我们发现,经过激活函数,变成了之前的alpha 方倍,为了保持方差不变,让 alpha =1。也就是说,我们的激活函数尽量选择与y =x 接近的函数,才可以在Xavier上表现较好。为输出层,我们假设权重系数W~iid(independent identically distribution),均值为0,方差为a,其中。的均值,因为t层最初可以追溯到数据输入层,可以通过归一化的手段控制,所以我们直接考虑t+1层。我们拿mlp举例,为了方便运算,忽略激活函数,上图是神经网络的一部分,我们假设。原创 2022-09-24 22:28:51 · 1205 阅读 · 0 评论 -
机器学习:过拟合、欠拟合、正则化之间的纸短情长~
正则化是何如解决过拟合的,机器学习的主要挑战是我们的算法能够在为观测的数据上误差较小,而不是在只在训练集上表现良好,我们这种能力我们称之为泛化。原创 2022-09-12 00:12:09 · 456 阅读 · 0 评论 -
深度学习:手写反向传播算法(BackPropagation)与代码实现
反向传播理论推导与代码实现原创 2022-09-03 17:11:37 · 2147 阅读 · 0 评论 -
机器学习基础:大数据与深度学习的关系
机器学习基础:大数据与深度学习的关系概念关系概念大数据通常被定义为“超出常用软件工具捕获的数据集,管理和和处理的能力”的数据集。机器学习关心的问题是如何构建计算机程序使用经验自动改进。数据挖掘是从数据中提取模式特性的算法应用。在数据挖掘中,重点在于算法应用,而不是算法本身。关系机器学习与数据挖掘的关系:数据挖掘是一个过程,在此过程中机器学习算法被用作提取数据集中潜在有价值模式的工具。大数据与深度学习的关系如下:深度学习是一种模拟模拟大脑的行为,可以从所学习的对象的机制以及行为等等很多相关的地原创 2022-03-31 00:32:28 · 5029 阅读 · 0 评论 -
机器学习:线性判别分析从理论到公式推导(LDA)
机器学习:线性判别分析从理论到公式推导(LDA)数据定义理论概述与变量定义公式推导数据定义DataSet X:=(xi,yi)i=1N,令X的每个观测值xi∈Rp{(x_i,y_i)}_{i=1}^N,令X的每个观测值xi \in R^p(xi,yi)i=1N,令X的每个观测值xi∈Rp,Y的每个元素yi∈Ry_i\in Ryi∈R,我们继续化简,X=[x11x12...x1px21x22...x2p......xn1xn2...xnp](1)\left[\begin{matrix}x_{原创 2022-03-23 00:45:55 · 832 阅读 · 0 评论 -
深度学习:模型的泛化能力浅显理解
深度学习:模型的泛化能力浅显理解通俗易懂的浅显理解通俗易懂的浅显理解模型的泛化能力通俗易懂的说就是模型在测试集(其中的数据模型以前没有见过)中的表现,也就是模型举一反三的能力,但是这些数据必须满足与iid(独立同分布)并在同一个分布中。举个例子:一张图片模型之前没有见过,但是这张图片与TrainDataSet在同一分布,并满足iid,模型可以很好的预测这张图,这就是模型的泛化,在测试集中,模型预测新数据的准确率越高,就可以说是模型的泛化能力越好。...原创 2022-03-08 19:38:59 · 7639 阅读 · 0 评论 -
深度学习基础:矩阵和向量相乘
深度学习基础:矩阵和向量相乘设矩阵矩阵A,B相乘结果为矩阵C,可以用下面公式表示:ai,j∗bj,i=Ci,ia_{i,j}*b_{j,i}=C_{i,i}ai,j∗bj,i=Ci,i其中当矩阵与向量相乘是,可以把向量看成一个矩阵的特殊情况,比如矩阵A为一个n*1的矩阵...原创 2022-01-31 18:19:09 · 2201 阅读 · 0 评论 -
深度学习基础:标量、向量、矩阵、张量
深度学习基础:标量、向量、矩阵、张量标量(scalar)向量(vector)矩阵(matrix)张量(tensor)标量(scalar)标量是一个独立存在的数,比如线性代数中的一个实数5就可以被看作一个标量,所以标量的运算相对简单,与平常做的算数运算类似。向量(vector)向量指一列顺序排列的元素,我们通常习惯用括号将这些元素扩起来,其中每个元素都又一个索引值来唯一的确定其中在向量中的位置。矩阵(matrix)矩阵是二维数组,其中的每一个元素被两个索引而非一个所确定,我们通常会赋值矩阵粗体大原创 2022-01-22 21:35:12 · 3253 阅读 · 0 评论 -
深度学习:端到端模型(end to end learning)
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-11-14 15:10:26 · 3063 阅读 · 2 评论 -
深度学习常见名词概念:Sota、Benchmark、Baseline、端到端模型、迁移学习等的定义
深度学习:Sota的定义sota实际上就是State of the arts 的缩写,指的是在某一个领域做的Performance最好的model,一般就是指在一些benchmark的数据集上跑分非常高的那些模型。原创 2021-11-15 23:03:03 · 68952 阅读 · 5 评论