自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

gaoxueyi551的专栏

Stay hungry. Stay foolish.

  • 博客(198)
  • 资源 (2)
  • 收藏
  • 关注

原创 深度学习: Dropout

Dropout: A simple Way to Prevent Neural Networks from Overfitting摘要 过拟合是机器学习领域较为突出的问题之一,很多方法已提出用于缓解过拟合。该文提出的方法是Dropout(剔除、删除等翻译即可)。只需记住一句话即可:在神经网络训练过程中随机删除一些激活单元以及与这些激活单元相连的边,这避免了激活单元之间过...

2018-07-21 17:09:50 1083

原创 从误差分解看Few-shot的核心问题

在有大量监督信息的情况下,第二项误差几乎可以忽略,但是FSL中这项误差是不可以忽略的,根源还是数据量太小,两种数据规模下误差的逼近情况如下图所示。可以看到,数据量充足情况下,误差逼近的会很好,但是在FSL这种情况下,误差逼近的就差强人意。,当然,这个假设空间下的数据分布我们也是未知的,所以,我们做的只能是在这个假设空间下,使ERM损失。(对应一个具体的模型,比如Vit,不同模型的假设空间不同),在这个假设空间里去寻找一个参数组合。是未知的,因此无法找到一个最优的参数组合。,它的期望损失能够逼近。

2024-04-10 17:49:40 182

原创 关于Transfomer的思考

transformer的结构没什么可说的,就是encoder+decoder的结构堆叠,这块整体上没有太大创新,创新点在于其encoder和decoder内部使用了自注意力,这个注意力结构的使用使其在目前绝大多数的自然语言处理任务上处于领先地位,这个自注意力即原文所谓的缩放点积注意力(Scaled Dot-Product Attention,下文简称SDPA)。作者认为,基于单一的SDPA不足以发挥其优势,通过执行多次不同的SDPA可以更好的挖掘句子的语义,所以多头自注意力产生了。

2024-03-15 17:43:01 855

转载 没有思考过 Embedding,不足以谈 AI(转)

这篇文章把我关于语言模型中embedding的理解都介绍完了。但embedding 还不止这些。图像可以有embedding,句子和段落也可以有 embedding —— 本质都是通过一组数来表达意义。段落的 embedding 可以作为基于语义搜索的高效索引,AI 绘画技术的背后,有着这两种 embedding 的互动 —— 未来如果有一个大一统的多模态模型,embedding 必然是其中的基石和桥梁。

2024-03-14 17:25:43 19

原创 Counterfactual Attention Learning for Fine-Grained Visual Categorization and Re-identification

本文将因果推理中的反事实理论和注意力学习相结合,因果推理近几年和视觉任务结合的比较紧密,因此这篇文章也算是挺前卫的了,通篇读来,其切入角度、可解释性、简洁性、推理时效等,觉得还是非常可借鉴的,因此整理一番同大家一道学习。

2023-09-07 11:11:23 289

原创 See Better Before Looking Closer: Weakly Supervised Data AugmentationNetwork for Fine-Grained Visua

这篇文章介绍了一种介于弱监督方式的数据增强方法,简称WSDAN。通用性较高,方法简单、易于使用,所以做简单的记录,希望同大家一道学习和讨论。

2023-09-06 13:17:46 189

原创 Looking for the Devil in the Details: Learning Trilinear Attention Sampling Network for Fine-grained

识别微小但是有辨识力的特征是细粒度图像识别的关键能力。但是目前的方法存在两点诟病,一是可利用的候选区域有限,二是计算代价大。基于这两点,本文提出了一种基于教师-学生模式的训练方法,引入了一种基于三次样条注意力机制的网络,简称TASN。

2023-09-05 13:17:37 136

原创 长尾学习(二):Long-Tailed Classification by Keeping the Good andRemoving the Bad Momentum Causal Effect

最近关于长尾学习,接触到一篇从因果推断角度来解决长尾分类问题的文章——Long-Tailed Classification by Keeping the Good andRemoving the Bad Momentum Causal Effect,该文将长尾问题下暴露的问题抽象为一个,通过对该因果图做调整得到相应的因果效应,进而缓解长尾分类的性能。

2023-05-15 15:42:07 586 1

原创 长尾学习(一):Long-Tail Learning via Logit Adjustment

,同时实验证明该方法的效果也是非常不错的。这也是本人比较欣赏该方法的主要原因之一,其次是该方法简单易用,可以轻而易举的切入分类、检测等任务当中去。这个形式涵盖了普通的交叉熵和变种交叉熵,而且是已有的一些其他类似方法的一般形式,具体可以参见原文。总感觉事后校准比较奇怪,具体所以然但是也说不出来,所以重点篇幅放在事中校准的介绍。这是一篇从损失函数入手解决长尾问题的一种新思路,借鉴基于标签频次的。按照原文的解释,它可以灵活的控制不同类别对损失函数的贡献。在事中模式下,基于贝叶斯最优的统计推理证明(

2023-05-06 17:27:05 1405

原创 关于多任务学习(MTL)

举个例子,一个能识别猫和狗的模型,同时也能识别猫或者狗的颜色、是否在睡觉、是否不开心,这就是多任务。模型单独在A或B任务上训练都会有过拟合某个任务的风险,因为模型会受特定任务下的数据噪音干扰,但同时在两个任务上训练,由于模型要兼顾A和B,所以摄入的噪音会被平均,将会得到一个泛化性更好的表示。但是,多个任务同时训练可以互相之间提供辅助信息,有助于模型提取每一任务相关的特征。某些特征G通过A任务难以学习,但是B任务缺信手拈来,通过联合学习A和B任务,G可以通过B任务进行学习和提前,进而辅助A任务的训练。

2023-05-06 08:43:44 423

原创 如何让scp在后台运行

scp在前台执行打印大量信息,阻碍正常的操作,放在后台执行会比较方便。本文的方法也适用于Linux系统下的其他传输命令。

2022-10-20 17:14:35 2807

原创 关于生成对抗网络(GAN)

GAN可以说是最近10年来深度学习领域最为突出的创新,GAN是深度学习和博弈论相结合的产物,GAN的诞生,在生成领域引发了一些列的创新和应用。

2022-08-01 16:00:05 1233

原创 解决Pytorch转onnx错误:Only tuples, lists and Variables are supported as JIT inputs/outputs!

沿着第二种解决思路,重新审视了自己的模型的各个模块,最后发现了问题,在forward函数内部,将推理结果从tensor类型转换为了numpy类型或者是python的list,这都会导致在转onnx时报如上错误,所以最终将forward内部的转换逻辑从内部删除,在模型的外部根据需要再进行转换,问题就迎刃而解。上图是我的代码,没有任何问题。如上图,去掉classify_scores2result转换函数后,直觉返回head的推理结果即可转换成功。...

2022-07-19 14:18:32 4141

原创 RepVGG: 为硬件而生

深度学习在经过了这么多年的发展,理论层面已经到达了瓶颈期,应用层面却发展的如火如荼。行业应用铺天盖地而起,大规模落地、低成本部署、压缩成本,似乎成了每个行业里必不可逾越的大山,跨过去海阔天空,跨不过去就会在行业的浪潮里死掉。所以说,性能 + 精度双优的模型对目前的行业应用来说至关重要。 模型剪枝、蒸馏、量化等是目前一些常见的精简模型、提高模型性能的处理方法,如果模型的设计和硬件的契合度也很好,比如主流的nvidia的GPU显卡,又会是锦上添花的一笔,RepVGG正是如此做的。 原文提到 "Sim

2022-07-14 17:33:08 496

原创 通俗解释EMA

EMA,全称是指数移动平均,是一种给予近期数据更高权重的平均方法,详细的介绍可以参考:深度学习: 指数加权平均。 深度学习中常见的Adam、RMSProp和Momentum等优化算法内部都使用了EMA,由于使用了EMA这些算法常被称为自适应优化算法,可以随着训练过程的推移,自适应的调整参数的优化方向和步长,可以参考:深度学习中的Momentum算法原理。 假设有一个模型参数 ,EMA在优化器层面是一种局部时间窗口的加权平均,它只能通过对过去一个小的时间窗口内的梯度做加权并更新模型参数 ,如下图

2022-06-22 16:54:52 12439

原创 细粒度分类:Diversified Visual Attention Networks

一、介绍 本文简单介绍一下一篇细粒度文章的大致思想,题目是Diversified Visual Attention Networks forFine-Grained Object Classification(分散可视注意力细粒度分类网络),缩写为DVAN。文章不是很新,但是思想通篇读过后觉得值得总结。二、引入了什么下图中,不同鸟类的通过视觉可区分的部位主要是眼镜、胸部和翅膀,通过DVAN可以自动的发现这些视觉可区分的部位,从而实现正确分类不同品种鸟类。DVAN引入了一种能力..

2022-04-26 15:35:00 1212

原创 使用对抗样本改善图像分类性能

一、背景

2022-02-21 18:26:17 1945

原创 一个很好的动态规划入门案例

对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲解基本的01背包问题来引导读者如何去思考动态规划。本文力求通俗易懂,无异性,不让读者感到迷惑,引导读者去思考,所以如果你在阅读中发现有不通顺的地方,让你产生错误理解的地方,让你难得读懂的地方,请跟贴指出,谢谢!----第一节----初识动态

2022-02-17 15:19:03 1492 5

原创 mmclassification的使用问题

一、概要 mmclassification是一个分类框架,可以通过配置的方式快速的对一些idea进行验证,本文通过一个案例对mmclassification的使用过程进行一个简单说明。二、编写配置 关于mmclassification的配置文件组成及其基本的编写流程请参考官方文档,里面有比较详实的介绍。这里以本人实际编写的配置为例,对几个特殊的点重点进行下说明,这几点在文档里面笔墨不是很多,希望能帮到路过的朋友。_base_ = [ '../_base_/model...

2022-01-26 09:45:45 2281

原创 解读:Bag of Tricks for Image Classification with Convolutional Neural Networks

一、概述李沐的这篇论文从实验和理论的角度阐述了一系列卷积神经网络在图像分类方面的一些训练技巧,主要聚焦的是效率和精度两个方面,主题涵盖了数据增强、超参数设置、知识蒸馏等。二、大Batch训练 在凸优化问题中,使用较大的Batch训练模型,往往收敛率会随之降低,需要更多的Epoch才能收敛到近似最优解。但是,神经网络是否是凸函数要看其所使用的激活函数,但是神经网络参数空间的局部可以近似看作是凸的。如何处理大Batch训练问题,该文叙述了几个代表方法。线性缩放学习率。是一种策略。...

2022-01-08 12:35:26 1168

原创 Mobile Inverted Residual Bottleneck Block图解

一、背景 Mobile Inverted Residual Bottleneck Block,又称作移动可翻转卷积块,在EfficienetNet模型中有所使用,其将残差结构和注意力进行了结合。二、结构 如上图,输入的张量首先经过1*1卷积,在保持分辨率前提下进行适当升降维,接着是深度可分离卷积,然后进入到SE模型(通道注意力),最后再经过1*1卷积恢复输入张量维度,最后将输入张量(残差)和 引入注意力的张量逐通道相加。...

2021-12-23 19:48:39 2874

原创 解读:Distilling the Knowledge in a Neural Network

一、背景 昆虫的幼虫适应从环境中提取能量和营养,而成虫更适应迁徙和繁殖。这个比喻和机器学习中的大小模型很相似,大模型通常结构复杂,需要从大量的数据中去学习和泛化类别特征,学习能力通常很强(类似成虫需要迁徙、繁殖等较高的成本来生存);而小模型虽然泛化性不如大模型好,但是部署简单、消耗算力更少(类似幼虫仅在所处的环境中汲取营养即可生存)。 既然大模型泛化性优越,那么将大模型的学到的知识提炼到小模型那?本文引入的知识蒸馏成功的解决了该问题。二、何为知识蒸馏 蒸馏是化学中的一个...

2021-12-20 10:22:07 2029

原创 细粒度识别——LIO方法概述

一、概要 和细粒度识别中的DCL方法不同,LIO(Look-into-object)方法的作者认为仅仅通过学习不同种类物体的可区分视觉模式进行分类是不严谨的,更重要的是要对物体的整体结构进行建模,这是从视觉机制得到的启发:人类在看到目标后,首先是锁定目标的范围,然后在目标所在范围内分析目标的内部结构特征,进而做出判断。基于此,提出了OEL(目标范围学习)和SCL(空间上下文学习)两个可插拔的学习模块,来实现细粒度目标分类。 同时,LIO方法无需额外的标注工作量,通过自监督的方式实现了OE...

2021-10-29 12:03:13 2763

原创 CBAM(Convolutional Block Attention Modul)

一、概要 CBAM是一种注意力实现机制,它结合了空间和通道两个维度上的信息进行注意力的实现,可以说是对SE的补充。SE解决了"what"的问题,而CBAM解决了"what + where"的问题。二、整体结构 CBAM的整体结构如下,它串联了空间和通道两个维度的注意力信息,分别将空间通道注意力信息(通道加权)和空间注意力信息(空间位置加权)融合到CBAM的输入特征映射,输出融合了两个通道和空间注意力信息的特征映射。三、通道注意力 SE中的通道注意力使用了全...

2021-10-11 19:38:11 1156

原创 细粒度对象识别——DCL方法概述

一、概要 在细粒度识别问题中,全局信息的作用并不是很突出,不同种类物体的全局信息其实是很相似的,而真正能区分它们的是一些细节特征,而常规的学习方式很容易被全局信息所主导,无法把握细节信息,而DCL提出的图像子区域打乱方法有效的驱动了模型去学习细节性特征(The devail is in the details),进而实现精细化物体分类。二、结构2.1、解构部分 解构是DCL的核心,做法是将一个图像均分为N*N的子区域,每个子区域随机的和它的邻域子区域做交换,邻域大小是一...

2021-10-03 10:36:45 1305

原创 SENet概览

一、背景 在深度学习领域,已经有很多成果通过在空间维度上对网络的性能进行了提升。但是,SENet反其道而行之,通过对通道关系进行建模来提升网络的性能。Squeeze和Excitation是两个非常关键的操作,所以SENet以此来命名。SENet的动机是希望显式地建模特征通道之间的相互依赖关系,具体来说,就是通过学习的方式来自动获取每个通道的重要程度,然后依照这个重要程度去提升有用的特征并抑制对当前任务用处不大的特征。二、结构 给定一个输入 ,其特征通道数为 ,通过一系列...

2021-09-11 18:05:50 33997 7

原创 浅析Feature Pyramid Networks

一、背景 识别和检测多尺度对象是计算机视觉中一个尤为重要的问题。解决改问题的常用方法目前有两种,一种是利用多尺度图像训练,一种构建特征金字塔网络,它们都能提取不同尺度的图像语义信息,完成目标的识别和检测任务。第一种方法虽然可以解决多尺度问题,但是存在的问题:需要构造多个不同尺度的图像进行训练和推理,增加了内存的使用量,且延长了推理时间,在实际应用场景中很难进行推广。如下图所示:图1、多尺度图像 而特征金字塔网络(简称FPN)有着和多尺度图像相似的功效,而仅需要单尺度图像即可...

2021-08-22 21:13:24 285

原创 基于深度学习的图像分割简介:概念与方法

一、概述 图像分割是计算机视觉研究中的一个经典难题,已经成为图像理解领域关注的一个热点,图像分割是图像分析的第一步,是计算机视觉的基础,是图像理解的重要组成部分,同时也是图像处理中最困难的问题之一。所谓图像分割是指根据灰度、色彩、空间纹理、几何形状等特征把图像划分成若干个互不相交的区域,使得这些特征在同一区域内表现出一致性或相似性,而在不同区域间表现出明显的不同。 图像分割有助于确定目标之间的关系,以及目标在图像中的上下文。应用包括人脸识别、车牌识别、医学影像分析、卫星图像分析等。例如,...

2021-08-21 11:55:40 897

原创 VGG-NET论文翻译解读

摘要 该文贡献是提出了非常深且具有非常小()的卷积核的卷积神经网络,并把之前的网络深度推向了19层,并且取得了不错的性能。一、背景 略。二、网络配置2.1、架构 网络输入是的RGB图像,唯一的预处理是将每个像素减轻在整个训练集上计算得到的所有的像素的均值。图像在一系列的卷积层传递,这些卷积层的核都是(这是捕获上下、左右、中心的最小核尺寸)。在其中一个配置当,也使用了卷积核,它可以看做是对通道的一个线性变换(后面也有非线性变换)。卷积步长固定为1,padd...

2021-06-27 10:14:00 245

原创 Asyncio框架理解

一、Asyncio概述 asyncio 是用来编写并发代码的库,使用async/await语法。

2021-06-27 09:58:41 249

原创 基于EasyDL的小麦检测任务

一、EasyDL

2021-06-09 19:38:50 748 2

转载 ONNX简介

一、前言 为什么要说ONNX,ONNX又是个什么东西,经常要部署神经网络应用的童鞋们可能会ONNX会比较熟悉,我们可能会在某一任务中将Pytorch或者TensorFlow模型转化为ONNX模型(ONNX模型一般用于中间部署阶段),然后再拿转化后的ONNX模型进而转化为我们使用不同框架部署需要的类型。 典型的几个线路:Pytorch -> ONNX -> TensorRT Pytorch -> ONNX -> TVM TF – onnx – ncnn ...

2021-05-27 16:32:28 27878

原创 关于Bounding Box回归的深度思考

一、引子 在目标检测模型中,边界框回归用于微调模型设定或者学习到的候选框位置,使这些边界框更加接近实际的标注框,是提高目标检测精度的关键步骤之一。文献中一般仅对IOU大于某个阈值(如0.7)的边界框进行边界框回归,直观上的原因是什么,我思考良久,今天将个人的一些思考做下记录。二、线性回归 设特征集和为, 回归变量集和为,线性回归的任务是找到一组最优参数,使均方损失最小化。 ...

2021-04-30 15:16:42 592

原创 快速方阵幂算法

一、问题描述 给定一个方阵,求方阵的次幂,例如,。二、简单算法实现 解决该问题的一个直接想法是利用for循环不断进行方阵乘法,直到求出,算法时间复杂度是,如此高的时间复杂度在实践中是走不通的。三、快速算法实现 下面是用python实现的方阵的快速实现,关键代码处已经给出了注释。从算法上看,右移一位最多执行 次就会变成 0,故该算法的时间复杂度是,表示方阵的行数或列数,基本思想是重复利用子问题的解,减少重复计算。# !/...

2021-04-26 15:35:10 535 3

原创 YOLO V1论文解读

一、背景 两阶段目标检测流程繁琐,不易掌控,且速度慢,无法满足需要实时性的检测任务。二、特点快速。每秒处理45帧,快速版本可处理150帧。 全局上下文编码。提供了更大的上下文信息,减少了对背景的误判数量。 可捕捉到目标的泛化表示。这使得yolo在不同领域、不同输入下能保持较高的精确度。 在小物体检测检测方面性能优良。三、几个概率 在文章中,涉及到了几个概率,下面对这些概率做一些说明。...

2021-04-06 22:01:27 383 1

原创 Faster-RCNN论文解读

一、背景 继R-CNN和Fast-RCNN提出后,Faster-RCNN的提出进一步提高了目标检测模型的速度和精度,总结一下其提出的背景:基于选择搜索算法产生候选区域的耗时在整个推理阶段的时间占比较高,为了减少候选区域的生成时间,Faster-RCNN提出了使用RPN(候选区域网络)来生成候选区域。二、整体架构 ...

2021-03-15 23:23:54 586 2

原创 Focal Loss 简介

一、背景 目标检测可分为两阶段和一阶段算法两种,两种类别各有优缺点。 两阶段算法包含候选区域生成阶段和分类阶段,区域生成阶段负责生成候选区域,并过滤掉大部分的背景区域,虽然对训练效率大打折扣,但前景区域提取的相对准确,且前景和背景比例基本协调,精度因此一般很高。 一阶段算法省去了候选区域生成阶段,因此效率很高,但是基于滑动窗口的方式生成了大量的候选区域,导致背景区域数量显著多于前景区域,背景区域相对前景区域更容易区分,在大量容易区分的背景区域上进行模型训练无法捕捉到有效的分类信......

2021-02-28 22:40:03 1791 1

原创 深度学习中的He初始化

一、背景 He初始化是何凯明等提出的一种鲁棒的神经网络参数初始化方法,动机同Xaviar初始化基本一致,都是为了保证信息在前向传播和反向传播过程中能够有效流动,使不同层的输入信号方差大致相等。二、一些假设 关于参数的大部分假设同Xaviar初始化一致,但是,He初始化对应的是非线性激活函数(Relu 和 Prelu),而Xaviar初始化对应的是线性激活函数。符号假设参考原论文。三、推导 ...

2021-02-19 11:41:41 5934

原创 深度学习中的Xaviar初始化

一、背景 *************************************二、推导设输入为样本,假定它的各个维度方差一致设第层的输入向量为 ,其中第个激活单元的输入为设第 层的输出向量为 ,其中第 个激活单元的输出为,激活函数为线性函数表示第 层的权重矩阵 根据上述定义和假设,有: ...

2021-02-08 17:29:02 337

原创 深度学习中的Adam优化算法

一、前言 前面的文章Momentum算法和 具有学习率自适应调整的RMSprop算法,今天来讲一下Adam优化算法,它也是一种可以自适应优化算法。很多人认为Adam算法是 AdaGrad 和 RMSprop 的结合,但是从梯度更新公式来看,本人更倾向于认为它是 Momentum 和 RMSprop 的结合体, 吴恩达老师的观点也是如此。二、随机变量的距 Adam算法涉及到了统计学中距的概念,在此给出一些说明。给定随机变量,一些距的定义如下:一阶原点距定义为,等...

2021-02-05 14:15:28 2657

oToV2:一种在线的端到端的剪枝优化方法介绍

微软最近提出的一种剪枝优化方法,它是一种在线的端到端的优化方法,使用简单,入门门槛较低,有扎实的理论基础在里面,而不是无脑的裁剪网络。亲测发现,该方法能够在某些任务上实现30%的模型压缩率,而对指标基于没有负面影响。

2023-09-07

深度学习-轻量级骨干网-QPS

本文档整理了几种常见的轻量级骨干网的基本结构以及性能,分别在英伟达T4卡上压测了它们的QPS,方便在实际业务中综合选择适合的骨干网

2023-05-06

编码的奥秘

详细的介绍了字符的编码和解码规则以及乱码的根源。

2015-03-31

编码与乱码详解

详细描述了编码的过程以及编码的发展历史,最重要的是解释了乱码的机理以及如何从原理上避免乱码的产生,极具收藏价值。

2015-01-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除