神经网络
文章平均质量分 82
Paul-LangJun
凡事预则立,不预则废。
展开
-
从误差分解看Few-shot的核心问题
在有大量监督信息的情况下,第二项误差几乎可以忽略,但是FSL中这项误差是不可以忽略的,根源还是数据量太小,两种数据规模下误差的逼近情况如下图所示。可以看到,数据量充足情况下,误差逼近的会很好,但是在FSL这种情况下,误差逼近的就差强人意。,当然,这个假设空间下的数据分布我们也是未知的,所以,我们做的只能是在这个假设空间下,使ERM损失。(对应一个具体的模型,比如Vit,不同模型的假设空间不同),在这个假设空间里去寻找一个参数组合。是未知的,因此无法找到一个最优的参数组合。,它的期望损失能够逼近。原创 2024-04-10 17:49:40 · 245 阅读 · 0 评论 -
Counterfactual Attention Learning for Fine-Grained Visual Categorization and Re-identification
本文将因果推理中的反事实理论和注意力学习相结合,因果推理近几年和视觉任务结合的比较紧密,因此这篇文章也算是挺前卫的了,通篇读来,其切入角度、可解释性、简洁性、推理时效等,觉得还是非常可借鉴的,因此整理一番同大家一道学习。原创 2023-09-07 11:11:23 · 397 阅读 · 0 评论 -
See Better Before Looking Closer: Weakly Supervised Data AugmentationNetwork for Fine-Grained Visua
这篇文章介绍了一种介于弱监督方式的数据增强方法,简称WSDAN。通用性较高,方法简单、易于使用,所以做简单的记录,希望同大家一道学习和讨论。原创 2023-09-06 13:17:46 · 228 阅读 · 0 评论 -
Looking for the Devil in the Details: Learning Trilinear Attention Sampling Network for Fine-grained
识别微小但是有辨识力的特征是细粒度图像识别的关键能力。但是目前的方法存在两点诟病,一是可利用的候选区域有限,二是计算代价大。基于这两点,本文提出了一种基于教师-学生模式的训练方法,引入了一种基于三次样条注意力机制的网络,简称TASN。原创 2023-09-05 13:17:37 · 189 阅读 · 0 评论 -
长尾学习(二):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 · 837 阅读 · 1 评论 -
关于生成对抗网络(GAN)
GAN可以说是最近10年来深度学习领域最为突出的创新,GAN是深度学习和博弈论相结合的产物,GAN的诞生,在生成领域引发了一些列的创新和应用。原创 2022-08-01 16:00:05 · 1565 阅读 · 0 评论 -
细粒度分类:Diversified Visual Attention Networks
一、介绍 本文简单介绍一下一篇细粒度文章的大致思想,题目是Diversified Visual Attention Networks forFine-Grained Object Classification(分散可视注意力细粒度分类网络),缩写为DVAN。文章不是很新,但是思想通篇读过后觉得值得总结。二、引入了什么下图中,不同鸟类的通过视觉可区分的部位主要是眼镜、胸部和翅膀,通过DVAN可以自动的发现这些视觉可区分的部位,从而实现正确分类不同品种鸟类。DVAN引入了一种能力..原创 2022-04-26 15:35:00 · 1389 阅读 · 0 评论 -
使用对抗样本改善图像分类性能
一、背景原创 2022-02-21 18:26:17 · 2051 阅读 · 0 评论 -
mmclassification的使用问题
一、概要 mmclassification是一个分类框架,可以通过配置的方式快速的对一些idea进行验证,本文通过一个案例对mmclassification的使用过程进行一个简单说明。二、编写配置 关于mmclassification的配置文件组成及其基本的编写流程请参考官方文档,里面有比较详实的介绍。这里以本人实际编写的配置为例,对几个特殊的点重点进行下说明,这几点在文档里面笔墨不是很多,希望能帮到路过的朋友。_base_ = [ '../_base_/model...原创 2022-01-26 09:45:45 · 2314 阅读 · 0 评论 -
解读:Bag of Tricks for Image Classification with Convolutional Neural Networks
一、概述李沐的这篇论文从实验和理论的角度阐述了一系列卷积神经网络在图像分类方面的一些训练技巧,主要聚焦的是效率和精度两个方面,主题涵盖了数据增强、超参数设置、知识蒸馏等。二、大Batch训练 在凸优化问题中,使用较大的Batch训练模型,往往收敛率会随之降低,需要更多的Epoch才能收敛到近似最优解。但是,神经网络是否是凸函数要看其所使用的激活函数,但是神经网络参数空间的局部可以近似看作是凸的。如何处理大Batch训练问题,该文叙述了几个代表方法。线性缩放学习率。是一种策略。...原创 2022-01-08 12:35:26 · 1201 阅读 · 0 评论 -
Mobile Inverted Residual Bottleneck Block图解
一、背景 Mobile Inverted Residual Bottleneck Block,又称作移动可翻转卷积块,在EfficienetNet模型中有所使用,其将残差结构和注意力进行了结合。二、结构 如上图,输入的张量首先经过1*1卷积,在保持分辨率前提下进行适当升降维,接着是深度可分离卷积,然后进入到SE模型(通道注意力),最后再经过1*1卷积恢复输入张量维度,最后将输入张量(残差)和 引入注意力的张量逐通道相加。...原创 2021-12-23 19:48:39 · 3130 阅读 · 0 评论 -
解读:Distilling the Knowledge in a Neural Network
一、背景 昆虫的幼虫适应从环境中提取能量和营养,而成虫更适应迁徙和繁殖。这个比喻和机器学习中的大小模型很相似,大模型通常结构复杂,需要从大量的数据中去学习和泛化类别特征,学习能力通常很强(类似成虫需要迁徙、繁殖等较高的成本来生存);而小模型虽然泛化性不如大模型好,但是部署简单、消耗算力更少(类似幼虫仅在所处的环境中汲取营养即可生存)。 既然大模型泛化性优越,那么将大模型的学到的知识提炼到小模型那?本文引入的知识蒸馏成功的解决了该问题。二、何为知识蒸馏 蒸馏是化学中的一个...原创 2021-12-20 10:22:07 · 2203 阅读 · 0 评论 -
细粒度识别——LIO方法概述
一、概要 和细粒度识别中的DCL方法不同,LIO(Look-into-object)方法的作者认为仅仅通过学习不同种类物体的可区分视觉模式进行分类是不严谨的,更重要的是要对物体的整体结构进行建模,这是从视觉机制得到的启发:人类在看到目标后,首先是锁定目标的范围,然后在目标所在范围内分析目标的内部结构特征,进而做出判断。基于此,提出了OEL(目标范围学习)和SCL(空间上下文学习)两个可插拔的学习模块,来实现细粒度目标分类。 同时,LIO方法无需额外的标注工作量,通过自监督的方式实现了OE...原创 2021-10-29 12:03:13 · 2939 阅读 · 0 评论 -
CBAM(Convolutional Block Attention Modul)
一、概要 CBAM是一种注意力实现机制,它结合了空间和通道两个维度上的信息进行注意力的实现,可以说是对SE的补充。SE解决了"what"的问题,而CBAM解决了"what + where"的问题。二、整体结构 CBAM的整体结构如下,它串联了空间和通道两个维度的注意力信息,分别将空间通道注意力信息(通道加权)和空间注意力信息(空间位置加权)融合到CBAM的输入特征映射,输出融合了两个通道和空间注意力信息的特征映射。三、通道注意力 SE中的通道注意力使用了全...原创 2021-10-11 19:38:11 · 1203 阅读 · 0 评论 -
细粒度对象识别——DCL方法概述
一、概要 在细粒度识别问题中,全局信息的作用并不是很突出,不同种类物体的全局信息其实是很相似的,而真正能区分它们的是一些细节特征,而常规的学习方式很容易被全局信息所主导,无法把握细节信息,而DCL提出的图像子区域打乱方法有效的驱动了模型去学习细节性特征(The devail is in the details),进而实现精细化物体分类。二、结构2.1、解构部分 解构是DCL的核心,做法是将一个图像均分为N*N的子区域,每个子区域随机的和它的邻域子区域做交换,邻域大小是一...原创 2021-10-03 10:36:45 · 1427 阅读 · 0 评论 -
SENet概览
一、背景 在深度学习领域,已经有很多成果通过在空间维度上对网络的性能进行了提升。但是,SENet反其道而行之,通过对通道关系进行建模来提升网络的性能。Squeeze和Excitation是两个非常关键的操作,所以SENet以此来命名。SENet的动机是希望显式地建模特征通道之间的相互依赖关系,具体来说,就是通过学习的方式来自动获取每个通道的重要程度,然后依照这个重要程度去提升有用的特征并抑制对当前任务用处不大的特征。二、结构 给定一个输入 ,其特征通道数为 ,通过一系列...原创 2021-09-11 18:05:50 · 34706 阅读 · 7 评论 -
浅析Feature Pyramid Networks
一、背景 识别和检测多尺度对象是计算机视觉中一个尤为重要的问题。解决改问题的常用方法目前有两种,一种是利用多尺度图像训练,一种构建特征金字塔网络,它们都能提取不同尺度的图像语义信息,完成目标的识别和检测任务。第一种方法虽然可以解决多尺度问题,但是存在的问题:需要构造多个不同尺度的图像进行训练和推理,增加了内存的使用量,且延长了推理时间,在实际应用场景中很难进行推广。如下图所示:图1、多尺度图像 而特征金字塔网络(简称FPN)有着和多尺度图像相似的功效,而仅需要单尺度图像即可...原创 2021-08-22 21:13:24 · 346 阅读 · 0 评论 -
基于深度学习的图像分割简介:概念与方法
一、概述 图像分割是计算机视觉研究中的一个经典难题,已经成为图像理解领域关注的一个热点,图像分割是图像分析的第一步,是计算机视觉的基础,是图像理解的重要组成部分,同时也是图像处理中最困难的问题之一。所谓图像分割是指根据灰度、色彩、空间纹理、几何形状等特征把图像划分成若干个互不相交的区域,使得这些特征在同一区域内表现出一致性或相似性,而在不同区域间表现出明显的不同。 图像分割有助于确定目标之间的关系,以及目标在图像中的上下文。应用包括人脸识别、车牌识别、医学影像分析、卫星图像分析等。例如,...原创 2021-08-21 11:55:40 · 987 阅读 · 0 评论 -
关于Bounding Box回归的深度思考
一、引子 在目标检测模型中,边界框回归用于微调模型设定或者学习到的候选框位置,使这些边界框更加接近实际的标注框,是提高目标检测精度的关键步骤之一。文献中一般仅对IOU大于某个阈值(如0.7)的边界框进行边界框回归,直观上的原因是什么,我思考良久,今天将个人的一些思考做下记录。二、线性回归 设特征集和为, 回归变量集和为,线性回归的任务是找到一组最优参数,使均方损失最小化。 ...原创 2021-04-30 15:16:42 · 647 阅读 · 0 评论 -
YOLO V1论文解读
一、背景 两阶段目标检测流程繁琐,不易掌控,且速度慢,无法满足需要实时性的检测任务。二、特点快速。每秒处理45帧,快速版本可处理150帧。 全局上下文编码。提供了更大的上下文信息,减少了对背景的误判数量。 可捕捉到目标的泛化表示。这使得yolo在不同领域、不同输入下能保持较高的精确度。 在小物体检测检测方面性能优良。三、几个概率 在文章中,涉及到了几个概率,下面对这些概率做一些说明。...原创 2021-04-06 22:01:27 · 431 阅读 · 1 评论 -
Focal Loss 简介
一、背景 目标检测可分为两阶段和一阶段算法两种,两种类别各有优缺点。 两阶段算法包含候选区域生成阶段和分类阶段,区域生成阶段负责生成候选区域,并过滤掉大部分的背景区域,虽然对训练效率大打折扣,但前景区域提取的相对准确,且前景和背景比例基本协调,精度因此一般很高。 一阶段算法省去了候选区域生成阶段,因此效率很高,但是基于滑动窗口的方式生成了大量的候选区域,导致背景区域数量显著多于前景区域,背景区域相对前景区域更容易区分,在大量容易区分的背景区域上进行模型训练无法捕捉到有效的分类信......原创 2021-02-28 22:40:03 · 1919 阅读 · 1 评论 -
深度学习中的He初始化
一、背景 He初始化是何凯明等提出的一种鲁棒的神经网络参数初始化方法,动机同Xaviar初始化基本一致,都是为了保证信息在前向传播和反向传播过程中能够有效流动,使不同层的输入信号方差大致相等。二、一些假设 关于参数的大部分假设同Xaviar初始化一致,但是,He初始化对应的是非线性激活函数(Relu 和 Prelu),而Xaviar初始化对应的是线性激活函数。符号假设参考原论文。三、推导 ...原创 2021-02-19 11:41:41 · 6908 阅读 · 2 评论 -
深度学习中的Adam优化算法
一、前言 前面的文章Momentum算法和 具有学习率自适应调整的RMSprop算法,今天来讲一下Adam优化算法,它也是一种可以自适应优化算法。很多人认为Adam算法是 AdaGrad 和 RMSprop 的结合,但是从梯度更新公式来看,本人更倾向于认为它是 Momentum 和 RMSprop 的结合体, 吴恩达老师的观点也是如此。二、随机变量的距 Adam算法涉及到了统计学中距的概念,在此给出一些说明。给定随机变量,一些距的定义如下:一阶原点距定义为,等...原创 2021-02-05 14:15:28 · 2864 阅读 · 0 评论 -
Fast-R-CNN学习笔记
一、背景 Fast-R-CNN的提出,是为了解决R-CNN和SPP-net存在的三点诟病,分别是:1、R-CNN对每个候选区域均进行卷积特征计算;其次,训练时分为微调、训练SVM、边界框回归三个独立过程;这两点限制了R-CNN的训练速度。2、为得到固定大小的输入,R-CNN对候选区域进行了变形,这可能有损精度。2、SPP-net改进了在特征映射计算方面的效率,所有候选区域共享计算,仅在整个图像上计算一次特征映射,然后将候选区域对和特征映射对齐,但训练依然是分三个阶段,并且没有对卷积层..原创 2021-02-01 14:41:31 · 136 阅读 · 0 评论 -
理解Batch Normalization(批标准化)
一、前言 Batch Normalization的原始论文读了有几遍,每次读起来都感觉内容很晦涩,很长时间都没有理解透彻其中的基本概念和一些细节。最近因为工作原因,深入的进行了一次研读,终于把主要脉络和细节搞清楚了,所以,本文试着将自己对BN的理解进行整理,希望能帮到也在研究BN的同学,也欢迎对BN有深入理解的同学批评指正。二、背景 在讲一个复杂的概念的时候,搞清楚其出现的背景很重要,因果关系搞清楚了,后面在实践过程中才能理解的更加透彻。BN的提出源于一个概念: covariv...原创 2021-01-26 16:04:28 · 639 阅读 · 0 评论 -
ResNet论文翻译解读
一、背景 该部分引出的第一个观点是,神经网络的性能并不是一味的随着深度的增加逐渐提升,在深度到达一定程度后,性能便开始下降。 那如何解决这个问题那?考虑一个浅层网络和一个通过向浅层网络增加更多层实现的深层网络,有一种构造深层网络的方案:添加的层是恒等映射(恒等映射亦称恒等函数,是一种重要的映射,对任何元素,象与原象相同的映射。对于映射,若它的定义域 和 值域 相等,并对任意 ,都有 ,则称为恒等映射),其它层从浅层拷贝而来。这个构造存在表明更深层次的模型不应该会比...原创 2021-01-11 14:16:17 · 369 阅读 · 1 评论 -
关于Hindon的ILSVRC 2012经典论文
本文对Hindon等在2012年取得ImageNet计算机视觉分类比赛中取得冠军的论文做一个简单的总结。一、摘要 略。二、背景 略。三、数据集 由于ImageNet中的图片大小不一,但是模型需要输入固定大小的图片,因此对图片进行了下采样,得到尺寸为的图片。具体做法是:首先缩放图片,使得较短的边的长度是256,然后从缩放的图片中裁剪出中间部分的的图像块。之后,对的图片中的每个像素,减去所有训练图片中的像素均值。四、架构3.1、ReLU非线性激活函数 ...原创 2021-01-07 19:28:12 · 382 阅读 · 1 评论 -
R-CNN论文翻译解读
一、摘要目标监测在基准测试数据上的性能已经多年没有过很大的突破。具有最佳性能的方法常常是集成图像底层特征与图像高层上下文的复杂方法。原创 2021-01-02 00:37:36 · 1439 阅读 · 0 评论 -
深入理解CNN中的卷积和池化
对于卷积和池化是如何实现的,这个我想大部分人都明白,但是我觉得仅仅停留在这个层面还是对知识理解的不够透彻,我们还应该明白使用它们的原因是什么,它们有什么优点。因此,本着这个目的,重新审视了CNN中的卷积和池化两个关键概念。下面是后面说明将要用到的一张关于猫图像,这幅图像的尺寸是970*660。图1. 猫咪一、卷积的三大特性1.1、局部感受野 如果采用全连接层来提取图片的特征,并设隐层大小为 ,则输入层和隐层之间的权值矩阵规模将是,在存储和计算效率方面都是不能忍受的。把...原创 2020-12-18 13:07:27 · 1174 阅读 · 0 评论 -
基于word2vec和TextCNN的新闻标题分类器
一、背景 本人是做新闻爬虫相关工作。由于工作需要,经常需要将一个列表页中的a标签链接进行提前并进行抓取,但问题是,如何确定一个列表页大概率是新闻页面那?起初,通过一些规则的方法,比如新闻高频词来确定是否是新闻列表页,但是随着热词更新的滞后,规则匹配的效果变得很差,因此逐渐放弃了该方案。 后期,通过不断总结新闻标题的模式发现,新闻和非新闻的标题内容在用词以及语义上存在明显的区别,如果规则解决不了的问题,也许可以借助NLP方面的知识来解这个问题。经过先期调研,发现有很多通过NLP来实现对...原创 2020-12-02 18:00:33 · 1508 阅读 · 0 评论 -
tensorflow中的word2vec代码注解
本文对谷歌开源的词向量生成工具 word2vec_basic.py 进行了注释,以备自己和需要了解其运行原理的同学理解其背后的机理,有注解不当之处还请及时提出,本人会不断修正,争取每一行代码都有正确和清晰的注解。 可以分为如下几个步骤。下载数据,将数据读取为列表格式 from __future__ import absolute_importfrom __future__ import print_functionimport collectionsimport mat...原创 2020-08-19 18:29:11 · 292 阅读 · 0 评论 -
从R-CNN到Faster-R-CNN——两阶段目标检测的演进过程
关于原创 2020-08-01 20:58:02 · 1371 阅读 · 0 评论 -
对SPP-net的理解
一、背景 SPP-net的提出,一方面是由于传统CNN需要一个固定尺寸的图片输入,如256*256;为此,往往需要对原始图片进行crop(裁剪)或distort(变形)操作,原始图片完整性和真实性受到影响,这势必会有损最终的识别准确率,为此提出了特征金字塔池化(Spatical Pyramid Pooling),该池化方法不依赖输入的尺寸,可以得到固定大小的输出,并作为后续全连接层的输入。Kaiming He等在论文中指出,需要固定尺寸输入的并不是卷积层,而是全连接层。 另一方面,由于...原创 2020-07-20 14:20:12 · 473 阅读 · 0 评论 -
基于深度学习的Hub页识别
一、引言 在web爬取领域,hub自动识别是一个比较重要的研究内容,通过自动识别的hub,可以增加爬虫的种子源列表,进而提高数据的抓取量和覆盖度。业界已有一些基于传统机器学习方法的hub识别算法,但传统识别算法需要有丰富的特征工程经验才能建立一个比较稳定而可靠的模型。此外,web页面的结构千变万化,提取稳定而可靠的特征是相当困难的。 相反,基于深度学习的方法可以摆脱对特征工程的束缚,能够自动提取样本中的特征,外加其强大的学习和表示能力,在Hub识别方面一定会比传统方法要有效的多。...原创 2020-06-08 19:01:24 · 766 阅读 · 0 评论 -
深度学习中的RMSprop算法原理
在https://blog.csdn.net/gaoxueyi551/article/details/105238182一文中,说明了基于Momentum的算法原理,本文介绍的RMSprop算法的引入背景是和Momentum算法相同的,底层理论依然是指数加权平均。 但是,两者优化思路存在些微差别。为了和Momentum算法中的符号相区别,引入和 ...原创 2020-04-08 11:15:30 · 3572 阅读 · 0 评论 -
深度学习中的Momentum算法原理
一、介绍 在深度学习中,Momentum(动量)算法是对梯度下降法的一种优化, 它将物理学中物体的运动理论和梯度下降相结合,其特点是直观易懂,已成为目前非常流行的深度学习优化算法之一。 在介绍动量优化算法前,需要对指数加权平均法有所了解,它是动量优化算法的理论基础,可参见本人另外一篇博文:深度学习: 指数加权平均;其次,需要对物理运动理论稍有了解,以便在直观层面更好的理解该...原创 2020-04-01 10:46:24 · 18483 阅读 · 6 评论 -
一种有效的神经网络权重初始化方法
本文介绍一种权重初始化方法,它可以很大程度上避免神经元过早饱和而导致的学习率下降问题。一、介绍 一种简单而有效的方法是将每个权重看作一个服从均值为0且方差为1的高斯分布,然后独立的对每个权重从分布中采样进行初始化。如下图所示。假设输入层有1000个神经元,我们聚焦第二层的第一个隐单元来研究这个问题。同时,假设这1000个输入神经元中有500个值为0, 另外500个值为1。...原创 2020-03-11 14:22:59 · 198 阅读 · 0 评论 -
激活函数与损失函数的配对问题
输出层的激活函数应该选择何种损失函数做搭配影响着神经网络的训练速度,并间接影响在测试数据上的分类准确性。本文抛砖引玉,整理并分析几种组合情况。一、Sigmod与均方损失 这是一个糟糕的搭配。为什么那? 因为一个小小的符号,它是sigmod的导数,sigmod图像如下 在两端尾部的导数接近于0,结合下式输出层的学习误差可知,当输出层的学习率下降后,会间接的通...原创 2020-02-23 19:35:01 · 596 阅读 · 0 评论 -
对误差反向传播的理解和学习
关于反向传播,我非常推荐下面的一个在线书籍,其给出了非常详实、生动且易于理解的反向传播算法以及相关公式的推导,链接为:Neural Networks and Deep Learning。本文将对其讲解给以归纳和总结,其中不乏添加一些个人见解。 本文将使用如下图所示神经网络进行推导。一、符号假设损失函数为第 层的第 个神经元的偏置为,输入层没有偏置第...原创 2020-02-22 14:14:54 · 1771 阅读 · 0 评论 -
对随机梯度下降+mini-batch的理解
随机梯度下降的每轮训练包含了多次迭代,每次迭代将训练数据随机分成M份,每次迭代选取一份进行训练,该份数据被称为mini-batch,mini-batch大小可在1 ~ N之间,若为1,则退化为在线学习,训练过程如下。 那mini-bath为何会加速训练?这里我给出一个具有启发式的见解,不见的有理论支撑,但可能有助于理解。如下图 假设我们的训练集只有4个...原创 2020-02-16 11:41:00 · 561 阅读 · 0 评论