
深度学习
文章平均质量分 82
爆米花好美啊
个人网站: renguanghui.com
展开
-
BatchNorm的相关细节
训练和测试的区别原创 2021-05-08 16:25:53 · 637 阅读 · 0 评论 -
Momentum Contrast for Unsupervised Visual Representation Learning
Motivation已有的利用contrastive learning做unsupervised visual representation learning要么受限于GPU不能使用大batch,要么不能保证query和key一致因此本文提出了Momentum Contrast (MoCo),利用队列和moving-averaged encoder构建一个动态字典Review Unsuper...原创 2019-11-18 22:12:31 · 4943 阅读 · 5 评论 -
Tutorial: Knowledge Distillation
概述Knowledge Distillation(KD)一般指利用一个大的teacher网络作为监督,帮助一个小的student网络进行学习,主要用于模型压缩。其方法主要分为两大类Output DistillationFeature DistillationOutput DistillationMotivation主要拉近teacher和student最终输出的距离,参考论文:...原创 2019-11-14 22:08:40 · 822 阅读 · 0 评论 -
Knowledge Distillation via Route Constrained Optimization
Motivation已有的KD方法提升性能都是基于一个假设:teacher模型可以提供一种弱监督,且能被一个小student网络学习,但是实际上一个收敛的大网络表示空间很难被student学习,这会导致congruence loss很高因此本文提出一种策略route constrained optimization,根据参数空间的route去选择teacher的参数,一步一步的指导studen...原创 2019-11-14 22:02:15 · 1343 阅读 · 0 评论 -
FitNets: Hints for Thin Deep Nets
其实应该先早点写这篇文章的这篇文章主要是将hinton的output distillation扩展到了feature distillation该loss用来拉进student和teacher feature的距离该loss就是与hard label、soft label做cross entroy训练过程需要注意:先进行hints training,即选择某一层feature对...原创 2019-11-14 21:59:21 · 1225 阅读 · 0 评论 -
Distilling the Knowledge in a Neural Network
其实应该最先写这篇文章的总结的,之前看了忘了记录Motivationone hot label会将所有不正确的类别概率都设置为0,而一个好的模型预测出来的结果,这些不正确的类别概率是有不同的,他们之间概率的相对大小其实蕴含了更多的信息,代表着模型是如何泛化判别的。比如一辆轿车,一个模型更有可能把它预测成卡车而不是猫,这其实给出了比one hot label更多的信息即轿车和卡车更像,而和...原创 2019-11-14 21:55:59 · 323 阅读 · 0 评论 -
Correlation Congruence for Knowledge Distillation
Motivation目前大多数KD框架的pipeline一张图片送入teacher和student得到各自的feature和output然后定义loss,拉进feature或者output的距离但是他们都是直接在一个整图级别上做的,student很难学习到teacher的那种处理类内和类间的能力如下图:白色空心圈是期望学习到的效果左边是期望类间可以拉开,右边是期望类内可以聚拢M...原创 2019-11-14 21:53:02 · 813 阅读 · 0 评论 -
A Comprehensive Overhaul of Feature Distillation
MotivationClovaAI今年ICCV做了还几篇总结性的工作,该篇也类似,先总结当下做feature distillation的各个方向,总体的pipeline是选取student和teacher网络结构的某个位置然后对特征进行变换,最后拉进他们的距离Teacher transform: 为了让teacher和student的feature map一样大(空间或者通道),会对teac...原创 2019-11-07 20:53:33 · 3111 阅读 · 0 评论 -
Attention Transfer
Paying More Attention to Attention: Improving the Performance of Convolutional Neural Networks via Attention TransferMotivation大量的论文已经证明Attention在CV、NLP中都发挥着巨大的作用,因为本文利用Attention做KD,即让student学习tea...原创 2019-11-07 20:48:05 · 1850 阅读 · 0 评论 -
Be Your Own Teacher: Improve the Performance of Convolutional Neural Networks via Self Distillation
Loss Source 1: Cross entropy loss,各个阶段的分类器都有Loss Source 2: KL loss,深层的分类器作为浅层分类器的teacherLoss Source 3: L2 loss from hints,深层分类器的特征和浅层分类器的特征做L2 loss,bottleneck即feature adaptation,为了使student和teacher一...原创 2019-11-07 20:44:43 · 1507 阅读 · 0 评论 -
Similarity-Preserving Knowledge Distillation
Motivation下图可以发现,语义相似的输入会产生相似的激活。这个非常好理解,这个C维的特征向量可以代表该输入的信息因此本文根据该观察提出了一个新的蒸馏loss,即一对输入送到teacher中产生的特征向量很相似,那么送到student中产生的特征向量也应该很相似,反义不相似的话同样在student也应该不相似。该loss被称为Similarity-preserving,这样studen...原创 2019-11-05 22:04:14 · 3599 阅读 · 0 评论 -
On the Efficacy of Knowledge Distillation
Motivation实验观察到:并不是性能越好的teacher就能蒸馏(教)出更好的student,因此本文想梳理出影响蒸馏性能的因素推测是容量不匹配的原因,导致student模型不能够mimic teacher,反而带偏了主要的loss之前解决该问题的做法是逐步的进行蒸馏,但是效果也不好。左边Teacher为WRN k-1,k是深度,Student是WRN16-1和DN40-12(D...原创 2019-11-01 19:05:54 · 1683 阅读 · 0 评论 -
Revisit Knowledge Distillation: a Teacher-free Framework
Observations通过几组实验观察到反转Knowledge Distillation(KD)即利用student来guide teacher的话,teacher的性能依然可以得到提升用一个比student还差的teacher来guide student的话,student的性能依然可以得到提升因此作者得到以下观点KD只是一种可学习的label smoothing regula...原创 2019-10-30 21:42:08 · 2115 阅读 · 0 评论 -
Distilling Object Detectors with Fine-grained Feature Imitation
Motivation检测起更focus在物体出现的区域 Detectors care more about local near object regions.物体出现的周围特征变化其实包含了更多重要信息,这是student网络需要向teacher网络学习的注解:与分类不同,蒸馏方法在检测中如果进行全特征模仿的话对子网络的提升很有限(这里存疑,文章没有明确指出全特征模仿了哪些特征层)。...原创 2019-10-30 21:30:52 · 1982 阅读 · 0 评论 -
2-D CTC Loss
2D-CTC for Scene Text RecognitionMotivation普通的CTC仅支持1-d,但是文字识别不像语音识别,很多时候文字不是水平的,如果强行“压”到1d,对识别影响很大,如下图所示Review 1-D CTC首先对alphabeta进行扩充,加入blank符号,然后定义一个映射规则: blank之间的相同字符可以去重计算loss时,对每个gt labe...原创 2019-10-18 17:37:47 · 1600 阅读 · 1 评论 -
Deformable ConvNets v2: More Deformable, Better Results
之前介绍过dai老师的DCN v1Deformable Convolutional Networks解读,现在出了V2效果更赞,实验分析也很充分。分析DCNEffective receptive fields视野域中每个点对响应的不同,有效视野域即为输入扰动后对输出的影响程度。比如求conv2上某一位置的有效视野域,那就依次扰动图像观察该位置处的输出变化,导致输出变化剧烈的像素点它的...原创 2018-12-11 13:56:32 · 1421 阅读 · 1 评论 -
Resnet实现细节记录
Resnet# 注意BasicBlock和Bottleneckdef resnet18(pretrained=False, **kwargs): model = ResNet(BasicBlock, [2, 2, 2, 2], **kwargs) return modeldef resnet34(pretrained=False, **kwargs): model =...原创 2018-12-10 16:25:43 · 4668 阅读 · 0 评论 -
Mask RCNN细节记录
精度问题在FPN论文中有个表格显示 C5+2fc要比C4+C5差很多,这里的原因一是C5+2fc的stride为32,feature map太小了,anchor数量也少,RPN的召回率太低了,第二个原因应该是RoIPooling造成的偏差影响更大了,因为stride太大了(这个原因待定,不知道对box分支的影响有多大,但可以肯定的是对mask 分支影响很大,下面会细讲)下面这个表格来自Ma...原创 2018-12-20 16:40:54 · 1025 阅读 · 0 评论 -
Revisiting RCNN: On Awakening the Classification Power of Faster RCNN
之前听过该文作者Yunchao Wei给的一个talk,当时仔细思考这篇论文,只是感觉加了参数肯定会变好呀,但是实际上该文在探索检测任务中分类和定位的关系。实际上,检测任务中有很多值得探讨的东西,比如之前博客讲过的一篇论文在探究训练和测试尺寸一致的问题,这些点看似都很小,但是我之前一直都是猜测得出结论,没有仔细探究过,分割也有这样的问题。还有就是Multi Task的好处与坏处,比如分割中前背景...原创 2018-12-06 11:52:35 · 1965 阅读 · 4 评论 -
End-to-End Learning of Motion Representation for Video Understanding
本文TVNet(Total Variable)是在TV-L1的基础上,改变一些操作变成可以训练且速度提高。原创 2018-11-25 14:33:19 · 547 阅读 · 0 评论 -
Graph RCNN解读
这个十月一堆事,心情也比较烦闷,就一直没有动笔写blog,之前一直在做scene graph的生成,然后最近恰好看到graph-rcnn这篇很不错的文章,就解读做个记录Framework以往做scene graph generation,基本都是在faster rcnn基础上检测出图片的物体后,两两配对识别他们的关系,这样做是很有效但是很低效,毕竟并不是所有物体都有关系的,这样做太耗时间了...原创 2018-10-24 16:29:57 · 2439 阅读 · 0 评论 -
Neural Motifs: Scene Graph Parsing with Global Contex解读
计算机视觉一步步发展,从最初的分类、检测、分割来到了更深层的理解: Scene Graph Generation(场景图生成),即开始预测场景中物体之间的关系Scene Graph简介原有的检测box或者实例分割的mask不能充分地表达出图片的语义,因为两个相同的box/mask,可能是不同的语义,这个时候需要Scene Graph来能深层地理解图片的语义信息,这为caption、...原创 2018-07-05 22:37:18 · 8591 阅读 · 36 评论 -
anchor free系列检测方法
one stage和two stage是目标检测的主流方法,最近由deng老板引领的anchor free方法另辟蹊径,以关键点检测为基础来做检测,也算是one stage的一种吧CornerNetExtremNetCenterNet(Objects as Points)超喜欢的一篇工作...原创 2019-04-29 16:33:10 · 7580 阅读 · 0 评论 -
SNIPER: Efficient Multi-Scale Training解读
它算是An Analysis of Scale Invariance in Object Detection-SNIP的增强版,依然在思考怎么能更好的解决检测中的多尺度问题IntroductionRCNN本身具有很好的尺度不变形,因为它先从图片中提取proposal,然后都resize到224去提取特征但是这样每个proposal不共享特征的计算,很慢,而Fast系列为了解决这...原创 2018-07-04 00:10:29 · 11502 阅读 · 2 评论 -
strided convolution vs pooling
strided convolution vs pooling原创 2019-01-04 11:28:49 · 5132 阅读 · 2 评论 -
DenseNet记录
MotivationResnet的特征有重复,测试时随机去掉一些residual block,对精度的影响很小Resnet的变种InceptionNet、ResNext等是扩宽网络的width来提升性能基于上,densenet利用feature reuse的思想来提升网络性能,每一层的输入都包含之前的输入层,如果这样就会导致channel越来越大,但因为特征得到了复用,因此每一层的cha...原创 2019-01-01 20:10:55 · 834 阅读 · 0 评论 -
Maxout netword and and NIN(Network in Network)
转载自论文笔记 《Maxout Networks》 && 《Network In Network》,有少量补充各用一句话概括常规卷积层: conv→relumaxout: several conv(full)→maxNIN: serveral conv→relu→conv(1x1)→relu具体一点常规卷积层:conv→reluconv: conv_out=∑(...原创 2019-01-13 15:25:46 · 313 阅读 · 0 评论 -
python利用梯度下降求多元线性回归
python利用梯度下降(批梯度,随机梯度,小批量随机梯度)求多元线性回归原创 2017-04-27 20:00:11 · 5522 阅读 · 0 评论 -
CTC Loss和Focal CTC Loss
最近一直在做手写体识别的工作,其中有个很重要的loss那就是ctc loss,之前在文档识别与分析课程中学习过,但是时间久远,早已忘得一干二净,现在重新整理记录下本文大量引用了- CTC Algorithm Explained Part 1:Training the Network(CTC算法详解之训练篇),只是用自己的语言理解了一下,原论文:Connectionist Temporal C...原创 2019-07-24 17:48:27 · 4498 阅读 · 0 评论 -
int8量化和tvm实现
量化主要有两种方案直接训练量化模型如Deepcompression,Binary-Net,Tenary-Net,Dorefa-Net对训练好的float模型(以float32为例)直接进行量化(以int8为例),这边博客主要讲这个int8量化原理将已有的float32型的数据改成A = scale_A * QA + bias_A,B类似,NVIDIA实验证明可以去掉bias,即A ...原创 2019-05-17 16:55:23 · 6515 阅读 · 4 评论 -
TridentNet解读
检测领域一直存在一个scale variation问题,大小物体对视野域的需要是不一样的,deformable cnn的作者daijifeng老师就提到一个说法:最好的视野域就是刚好“覆盖自己”,不要太大也不要太小。前人有3种途径利用RCNN去原图上扣proposal,强制使得所有物体的视野域就是自己 Revisiting RCNN: On Awakening the Classificat...原创 2019-04-25 12:01:56 · 2214 阅读 · 0 评论 -
Mobilenet v1/2和Shufflenet v1/v2
好久没写深度学习方面的文章了,偷闲再写一篇衡量指标FLOPS:floating point operations per second,每秒浮点运算次数,理解为计算速度。是一个衡量硬件性能的指标。FLOPs:floating point operations,浮点运算数,理解为计算量。可以用来衡量算法/模型的复杂度。MACC: Multiply–accumulate operatio...原创 2019-04-10 17:32:00 · 1047 阅读 · 0 评论 -
normalization专题
normalization大体分为3类feature normalization、weight normalization和gradient normalization,本文主要讲feature normalization,其他两个涉及的数学较多,一时无法理清Feature normalizationBatch normalizationLayer normalizationInsta...原创 2019-02-23 16:41:18 · 840 阅读 · 0 评论 -
style transfer/domain adaption简介
Texture Synthesis Using Convolutional Neural NetworksImage Style Transfer Using Convolutional Neural Networks 16年cvpr和A neural algorithm of artistic style. 15年8月一样的吧开篇之作,送入一张噪音图片,然后通过content和style ...原创 2019-02-11 20:45:40 · 1380 阅读 · 0 评论 -
卷积神经网络结构简述(二)Inception系列网络
Inception是电影《盗梦空间》的外文原名,寓意是起点/开端,里面有一句经典的台词是: “we need to go deeper”,Inception Network取名于此卷积神经网络结构简述(二)Inception系列网络WILL深度学习搬砖者关注他50 人赞了该文章作为一名初入茅庐的搬砖者,最近在用深度学习做图像分类任务,粗略的学习了下卷积神经网络近几年结构的升级。根据个人的理...转载 2019-01-13 15:52:39 · 5122 阅读 · 0 评论 -
An Analysis of Scale Invariance in Object Detection – SNIP解读
今天无意中看到这篇好文,在网上搜索时发现Naiyan Wang也在知乎上推荐了,还中了CVPR2018的oral,佩服!Introduction这篇文章首先想探讨一个问题:scale变化对识别和检测的影响,然后就是upsample对于小物体的检测有用嘛?根据这两个问题的分析,本文提出了一种端到端的Image Pyramid Network,然后针对大物体在大尺度的图片上、小物体在小...原创 2018-07-03 17:27:03 · 4064 阅读 · 0 评论 -
Scene Graph Generation by Iterative Message Passing解读
lifeifei老师团队在发布了Visual Genome数据集后,又在Scene Graph Generation做的新的创新关于Scene Graph Generation就不再赘述,在上一篇neural motif介绍过,neural motif比这篇晚一些,效果也好一些Image to Scene Graph现状Lu et al: Visual Rel...原创 2018-07-09 20:57:47 · 6941 阅读 · 5 评论 -
Focal Loss for Dense Object Detection解读
还是Tsung-Yi Lin Piotr Dollar kaiming ross他们在Detection领域做的贡献Focal Loss for Dense Object DetectionMotivationsingle stage的检测方法如YOLO、SSD等简单高效,但是精度往往不如two stage的如Faster/Mask RCNN,本文发现single stage不如t...原创 2018-06-24 17:29:54 · 2848 阅读 · 4 评论 -
YOLO解读
上一篇讲了region-free结构的检测模型SSD,这次region-free的鼻祖You Only Look Once: Unified, Real-Time Object Detection,这是它的第一个版本,它还有v2,以后再讲。原创 2017-11-30 17:03:50 · 5049 阅读 · 0 评论 -
FPN解读
前两篇博客中都说到了FPN这个神器,今天就花了点时间看了下这篇论文,喜欢这个很赞很干净的结构。原创 2017-11-29 00:34:41 · 27438 阅读 · 19 评论