- 博客(69)
- 资源 (2)
- 收藏
- 关注

翻译 this指针总结
#this指针由来,刚开始C++基于C的基础扩展,编译过程是把C++转化为C语言再通过C语言编译器编译,这样一种转化过程,class转化为结构体,成员函数转化为独立的函数体,那么如何实现调用函数时,是针对目标对象的呢?这种情况下,this指针诞生了,即通过在构造独立函数时,参数项里添加一个目标对象的结构体对应的this指针,保证调用时,与对象一致,很多函数里边的this指针就是这个作用。...
2019-12-31 17:35:48
178
原创 RAG综述汇总
这篇全面的综述论文详细研究了 RAG 范式的发展,包括 Naive RAG、Advanced RAG 和 Modular RAG。介绍了 RAG 框架的三个基础技术,包括检索、生成和增强技术。本文重点介绍了这些关键组件中嵌入的最先进的技术,从而深入了解 RAG 系统的进步。此外,本文还介绍了最新的评估框架和基准。大语言模型(LLM)已经取得了显著的成功,但是在特定领域或知识密集型任务中,特别是在处理超出训练数据或需要当前信息的查询时会产生“幻觉”。
2024-07-07 01:27:05
2222
原创 DB-GPT-PaperReading
DB-GPT 旨在理解自然语言查询,提供上下文感知响应,并生成高精度的复杂 SQL 查询,使其成为从新手到专家的用户不可或缺的工具。DB-GPT 的核心创新在于其私有 LLM 技术,该技术在特定领域的语料库上进行了微调,以维护用户隐私并确保数据安全,同时提供最先进的 LLM 的优势。从各个维度对当前流行框架进行了一个对比,DB-GPT主要关注数据库领域,完善LLM与数据库的交互。当前大型语言模型(LLMs)与数据库交互的方法主要依赖于将自然语言查询转换为结构化查询语言(SQL)或其他数据库可理解的指令。
2024-07-06 18:11:48
1459
1
原创 Resnet
当残差为0时,此时堆积层仅仅做了恒等映射,至少网络性能不会下降,实际上残差不会为0,这也会使得堆积层在输入特征基础上学习到新的特征,从而拥有更好的性能。下图是Resnet的组成结构图,前两个是浅层网络,后边三个为深层网络,类似于Inception网络一样,将网络结构分成几个building blocks,深层和浅层的区别在于block内部的变化,使用三个卷积层代替浅层网络中两个卷积层,使用1x1卷积用来升维和降维。的表示非常灵活,上述公式为了方便,使用全连接的形式,但是也可以表示为多层卷积层。
2022-10-26 21:25:16
487
原创 PVT(Pyramid Vision Transformer: A Versatile Backbone for Dense Prediction without Convolutions)
大小的patch,计算transformer所需的资源巨大, 因此必须想办法减少计算代价。作者这里主要使用一种SRA的方法,将计算attention需要的输入 K,V通过一个线性投影,减少计算维度。attention的计算还是以前的公式。通过这些公式,可以计算出 Attention(·) 操作的计算/内存成本比 MHA 低。倍,因此它可以在资源有限的情况下处理更大的输入特征图/序列。的图片,经过一个PatchEmbeeding将其分割成。作为下一阶段的输入,以此类推可以得到不同分辨率的。.........
2022-08-30 16:22:28
494
原创 Dropout回顾
Dropout训练与Bagging训练还不一样,在Bagging情况下,所有模型是独立的,在Dropout情况下,所有模型共享参数,每个模型都继承了父神经网络参数的不同子集,参数共享使得在有限可用的内存下表示指数级数量的模型变得可能。将其视为Bagging的的一种,Bagging是通过集合几个模型降低泛化误差的技术,主要想法是通过分别训练几个不同的模型,然后让所有模型表决测试样例的输出,这是机器学习中常规策略的一个例子,被称为。模型破平均有效的原因是不同模型通常不会再测试集上产生完全相同的误差。......
2022-07-27 16:09:44
432
原创 Benchmarking Detection Transfer Learning with Vision Transformers(2021-11)
这篇文章是何凯明在MAE之后关于纯transformer架构用于目标检测下游任务的探索,在MAE最后有所提及,之后还有一篇文章ViTDET一脉相承。对于VIT架构用于视觉任务带来了很多启发。目标检测作为一个中心的下游任务经常用来测试预训练模型的性能,例如训练速度或者精度等。当新的架构如VIT出现时,目标检测任务的复杂性使得这种基准测试变得更加重要。事实上,一些困难(如架构不兼容、训练缓慢、内存消耗高、未知的训练公式等)阻碍了VIT迁移到目标检测任务研究。论文提出了使用VIT作为Mask RCNN back
2022-07-05 18:01:22
1367
原创 ConvMAE(2022-05)
ConvMAE可以视为基于MAE的一种简单而有效的衍生品,对其编码器设计和掩码策略的最小但有效的修改。ConvMAE在Conv-transformer网络中应用时,其目的是学习判别性的多尺度视觉表示,并防止pre-train finetune差异化。ConvMAE直接使用MAE的掩码策略将会使transformer layer在预训练期间保持所有的tokens,影响训练效率。因此,作者引入了一种层次化掩码策略对应于卷积阶段的掩码卷积,确保只有一小部分可视化token(没有mask掉的)送入transfor
2022-07-04 21:38:36
1156
4
原创 爱因斯坦求和einsum
numpy中有一个einsum,表示爱因斯坦求和,方便用记号的方式对矩阵或者数组等进行线性代数的操作。einopseinops包提供了类似的详细接口以涵盖其他操作:转置、重塑/展平、重复/平铺、挤压/取消挤压和缩减。opt_einsumopt_einsum以与后端无关的方式优化类似 einsum 的表达式的收缩顺序。以上3个软件包是常用的3种,在神经网络和线性代数中经常会见到。...
2022-07-03 16:29:46
419
原创 MAE
作者开门见山说明了深度学习结构拥有越来越大的学习容量和性能的发展趋势,在一百万的图像数据上都很容易过拟合,所以常常需要获取几百万的标签数据用于训练,而这些数据公众通常是难以获取的。MAE的灵感来源是DAE(denosing autoencoder),去噪自编码器就是encoder的输入部分加上噪声作为输入,decoder还原真实的输入,其损失函数为decoder的输出与真实输入之间的均方误差,相比与原来的autoencoder,DAE必须去除噪声,学习到输入数据的重要特征。在NLP领域中self-super
2022-07-01 17:04:42
1336
1
原创 Swin-Transformer(2021-08)
一直到写下这篇笔记开始,基于Swin的模型仍在paperwithcode上仍然霸榜Object Detection等多个榜单。很多博客都已经介绍的非常详细了,这里只记录一下自己学习过程中遇到的困惑。Swin与ViT的对比,ViT将image划分为固定大小的patch,以patch为单位进行attention计算,计算过程中的feature map 分辨率是保持不变的,并且ViT为了保持与NLP的一致性,添加了一个额外的class token,最后用于分类。因此ViT不太适用于检测等下游任务,无法提取多
2022-06-25 17:35:13
1140
8
原创 Relative Positional Bias -- [Swin-transformer]
论文中对于这一块的描述不是很清楚,特意记录一下学习过程。这篇博客讲解的很清楚,请参考阅读https://blog.youkuaiyun.com/qq_37541097/article/details/121119988以下通过代码形式进行一个demo。输出计算相对坐标索引时,采用了一种我之前没见过的扩张维度的方法,简介高效输出输出2.计算相对索引输出转换为[4,4,2],相当于得到4个4*2的坐标对,一行横坐标,一行纵坐标输出输出输出这里就得到相对位置索引,这里对应的值需要到rela
2022-06-25 15:57:30
1041
1
原创 torch stack() \ totch.meshgrid()
tensor([[0, 0, 0, 0],[1, 1, 1, 1],[2, 2, 2, 2],[3, 3, 3, 3]])tensor([[0, 1, 2, 3],[0, 1, 2, 3],[0, 1, 2, 3],[0, 1, 2, 3]])相当于(0,0)(0,1)…两个二维张量相同位置元素对就是一个坐标tensor([[[0, 0, 0, 0],[1, 1, 1, 1],[2, 2, 2, 2],[3, 3, 3, 3]],...............
2022-06-25 10:54:41
300
原创 screen4.9.0 离线安装(服务器ssh断连后,可以继续保持程序运行,以及查看打印信息)
screen 下载网址 http://ftp.gnu.org/gnu/screen/ncurses 下载网址 http://ftp.gnu.org/gnu/ncurses/查看网上教程,安装screen可能会出错,需要安装ncurses软件,因此我直接先安装ncurses,后安装screen.tar -zxvf ncurse-6.3.tar.gztar -zxvf screen-4.9.0.tar.gz进入目录 创建build文件夹 配置环境 编译 安装 如果安装报错权限不够,
2022-06-14 11:36:24
2354
1
原创 VITDET(2022-03)--Exploring Plain Vision Transformer Backbones for Object Detection
这篇论文是作者Benchmarking Detection Transfer Learning with Vision Transformers论文的扩展,没有正式出版,也没有经过同行评议。论文研究了使用一个单一的、没有层次设计的VIT架构作为backbone用于目标检测领域,使得原始VIT经过微调就可用于检测任务而不需要重新设计一个层次的backbone进行预训练。主要有两点:原始的VIT不像CNN一样,是一个非层次的设计,从头到尾保持单一尺度的feature map。因此,在目标检测中遇到了挑战,例如多
2022-06-06 11:49:26
1122
原创 Integral Migrating Pre-trained Transformer Encoder-decoders for Visual Object Detection(imTED)
Arxiv上一篇基于MAE 用于目标检测的文章,是在查找小样本文章的时候发现的,因为与自己的idea有点相似,所以仔细读了一遍,代码还未开源。其中有个作者Peng Zhiliang ,不知道是不是复现MAE的大佬本佬,整篇论文读下来还是比较容易理解的,但是感觉和小样本有关的部分很少,只是一个附带点,反而大量篇幅是在讨论如何将MAE整体迁移到目标检测领域,个人觉得可能是sota的结果不太好,所以加了小样本的部分。论文开篇明义,以参数初始化为切入点,提到现代检测器利用视觉VIT作为backbone,但检测的其它
2022-06-02 18:32:23
1141
5
原创 Nvidia驱动卸载干净了,新驱动却还是安装不上?
(卸载干净后,驱动还是安装不上)由于更新到 cuda11.1(驱动版本455.23)之后服务器分布式训练出现多个0MB进程,类似下图准备卸载后重装,按照上述经历,卸载了驱动和cuda,为了偷懒想重新安装一个最新版的驱动,兼容各种cuda版本,但是在尝试各种卸载干净之后,也不输出nvidia相关文件了,也禁止了nouvea驱动,仍然安装失败,只能安装cuda11.1对应的驱动,百思不得其解,经过一下午的折腾,在单独安装510版本的驱动时,仔细看了一下提示: 如下内容,大意是说驱动安装失败的原因是还有进程
2022-05-25 22:08:36
3823
原创 Self-Attention with Relative Position Representations(2018)
transformer与递归和卷积神经网络不同,它不显式地对其结构中的相对或绝对位置信息进行建模在这项工作中,本文提出了另一种方法,扩展自我注意机制,以有效地考虑相对位置的表示,或序列元素之间的距离。在这项工作中,我们提出了一种将相对位置表征结合到transformer self-attention中的有效方法。即使完全替换其绝对位置编码,我们也在两个机器翻译任务上证明了翻译质量的显著提高。主要对相对位置编码做了一个扩展,attention中在第一层之前,将基于变化频率的正弦的位置编码与编码器和解码器.
2022-05-11 20:47:52
710
1
原创 attention is all you need --transformer中的细节
一切故事开始于2017年谷歌的一篇论文:attention is all you need ,由于讲解transformer结构的视频、博客很多,推荐阅读以下内容:李宏毅2021 ML课程 self-attention && transformerhttp://jalammar.github.io/illustrated-transformer/以上两个参考内容足以学会什么是transformer。以下记录比较容易忽略的几个知识点:transformer中的position e
2022-05-11 15:27:15
429
原创 SSD(2016)
introduction提出一种简单的叫SSD的深度神经网络用于目标检测,该方法有几个特点:把边界框的输出空间离散为在feature map的每个位置上具有不同大小和尺寸的一组默认的box网络结合了来自不同分辨率的多个feature map的预测,可以自然的处理不同大小的目标第一个基于目标检测器的不需要为边界框采样像素或特征的深度网络,同时与那些采样的方法一样精确。SSD大大提升了高精度检测的速度,59FPS with mAP 74.3% on VOC 2007 test,VS.Faster.
2022-04-30 11:39:35
1005
原创 ubuntu18.04用户权限管理(su /sudo su )
实验室用户增多,服务器上账户凌乱,sudo权限已经管不住了,为此特意学习了一下账户管理1. 限制普通用户通过su 登录到root账户使用root账户进行管理cd /etc/pam.dcp su su.backupvim su把红线标注的地方注释去掉,可以查看上边的说明,去掉注释后,除非用户属于root组才可以使用su,或者可以在这一行后边添加 group=foo,这样foo组的成员可以使用su命令,但是有副作用。验证:2. 限制普通用户通过sudo su 登录到root账户vi
2022-04-28 16:57:33
2940
原创 R-FCN(2016)
introduction本文提出了一种基于区域的全卷积神经网络用于目标检测,取得了与Faster R-CNN差不多的精度,但在训练和推理方面表现更好。FCN有两个亮点:不同于Fafster RCNN ,执行上百次代价高昂的RoI,FCN全卷积几乎共享在整张图像上的计算提出了位置敏感score maps用于解决图像分类的平移不变性与目标检测任务的平移同变性之间的矛盾。(因为网络既要用于分类又要用于检测)平移不变性(translation -invariance)是指目标的平移不会对结果产生影响.
2022-04-24 22:21:14
3583
原创 Densenet(2018)
实验结果不同Densenet对比ResNet与DenseNet对比Network改进方法resenet 网络结构如下:densenet:codeimport tensorflow as tffrom tensorflow.keras import layers, Sequential, Modelclass BottleNeck(layers.Layer): def __init__(self, growth_rate): super(Bottl.
2022-04-24 15:07:07
387
原创 pytorch中的插值算法函数模块--interpolate
#### 官方函数说明torch.nn.functional.interpolate(input, size=None, scale_factor=None, mode='nearest', align_corners=None, recompute_scale_factor=None)根据给定的size或者scale_factor(放缩因子)下采样/上采样 输入mode指定使用的插值算法支持输入为时序、空间或者三维立体等输入,输入应该是3-D、4-D、5-D输入维度格式应该是: mini-b
2022-04-24 10:38:20
5789
原创 Mask R-CNN(2018-01)
Mask R-CNN由Faster R-CNN通过在每一个ROI(Region ofinterest)增加一个预测分割mask的分支扩展而来,与用于分类和bounding box回归的现有分支并行。
2022-04-23 21:46:19
2596
原创 轻量化网络-SqueezeNet(2016)
为什么需要轻量化网络?小模型有更高效的分布式训练效率。通信开销一直是分布式CNN训练的制约因素,在数据并行训练中,通信开销与模型参数是成比例的,模型越小,通信开销就越小。推送一个新模型到客户端,开销更小。例如自动驾驶领域,汽车辅助驾驶系统中的CNN模型在更新的时候需要更大的数据传输,以AlexNet为例,从服务器到客户端至少需要240MB 通信开销,更小的模型需要更少的开销,日常更新更容易。更容易在FPGA或嵌入式设备上部署。由于嵌入式设备经常是片内存储,不能外挂存储器件,同时存储空间越大,价格越.
2022-04-17 11:29:12
3579
原创 transformer综述汇总与变形分析(持续更新)
Note: 本文收集transformer领域的较流行的综述文章,将认为比较重要的内容整理在一起,用于学习和提供思路。1.谷歌:Efficient Transformers: A Survey(2020年9月)2.华为、北大:A Survey on Visual Transformer(2020年12月)3.复旦大学邱锡鹏组综述:A Survey of Transformers(2021年6月15日)随着transfomer的成功,各种基于原始transfomrer的变形不断被提出,作者将其归纳为3
2022-04-12 11:13:43
16446
4
原创 Faster R-CNN(2016)
introductionFaster R-CNN 是第一个真正意义上的端到端的深度学习目标检测算法。Fast R-CNN虽然增加了检测的速度和精度,但是object proposal 仍然需要通过外部算法来产生,暴露出了region proposal computation 仍然是一个瓶颈。论文引入一种RPN(Region proposal Network),与检测网络共享full-image的卷积特征,几乎不需要额外的计算资源。作者观察发现被基于region的检测网咯使用的卷积特征映射(如Fast .
2022-03-22 11:26:07
1664
原创 Fast-RCNN(2015)
introductionFast-RCNN (Fast Region based Convolutional Network)在之前的工作任务上建立了更有效的分类proposal,使用VGG16进行训练,比起RCNN快9倍,测试时间快213倍,比起SPPnet训练快3倍,测试快10倍。深度卷积网络用于目标检测带来两个主要挑战:大量候选目标位置(proposal)需要处理这些候选仅仅提供了粗略的定位必须调整取得更精确的定位。对比RCNN与SPPNet:Region-based Convolu.
2022-03-19 22:50:05
3411
原创 SPPNet(2015)
introductionRCNN首次将卷积操作引入检测领域用于提取特征,然而现有的深度卷积网络需要输入固定尺寸的图片,这个需求可能会导致对于任意scale/size的图片的识别精确度下降。【**深度卷积神经网络由卷积层和全连接层组成,卷积层对于任意大小的图片都可以进行卷积运算提取特征,输出任意大小的特征映射,而全连接层由于本身的性质需要输入固定大小的特征尺度,所以固定尺寸的需求来自于FC层,即使对输入图片进行裁剪、扭曲等变换,调整到统一的size,也会导致原图有不同程度失真、识别精度受到影响**】SP.
2022-03-16 22:13:25
3606
原创 如何理解inductive bias
inductive 归纳,deductive 演绎inductive bias 经常翻译为 归纳偏好、归纳偏置在西瓜书中,有这样一段解释:机器学习算法在学习过程中对某种类型的偏好,成为归纳偏好(inductive bias)。或简称为“偏好”。任何一个机器学习算法必有其归纳偏好,否则它将被假设空间中看似在训练集上“等效”的假设所迷惑,而无法产生确定的学习结果。可以想象,如果没有偏好,西瓜学习算法产生的模型每次在进行预测时随机抽取的训练集上的等效假设,那么对这个新瓜而言,模型时而告诉我们它是好瓜,时
2022-03-13 17:54:27
5400
原创 inception V2/3(2015)
Inception v2 and Inception v3 were presented in the same paper.** 外网blog**note V1-V4https://towardsdatascience.com/a-simple-guide-to-the-versions-of-the-inception-network-7fc52b863202https://hackmd.io/@bout.
2022-03-13 15:22:33
1364
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人