Deep Learning
文章平均质量分 92
FesianXu
腾讯-微信事业群-高级算法工程师, 百度-搜索策略部-前高级算法工程师。 主要从事多模态检索、视频检索、信息检索,大模型落地应用等领域工作。
展开
-
【Debug危机系列】Embedding层的千层套路
Embedding层也没那么简单喔原创 2022-09-17 01:21:29 · 1391 阅读 · 0 评论 -
万字长文详解静态图和动态图中的自动求导机制
万字长文详解静态图和动态图中的自动求导机制原创 2022-09-11 10:09:07 · 732 阅读 · 0 评论 -
【论文极速读】 Efficient Net:一种组合扩大卷积网络规模的方法
【论文极速读】 Efficient Net:一种组合扩大卷积网络规模的方法 FesianXu 20220313 at Baidu Search Team前言最近笔者需要基于Efficient Net作为图片编码器进行实验,之前一直没去看原论文,今天抽空去翻了下原论文,简单记下笔记。如有谬误请联系指出,本文遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明并且联系笔者,谢谢。∇\nabla∇ 联系方式:e-mail: FesianXu@gmail.comgith...原创 2022-03-13 14:49:05 · 2417 阅读 · 1 评论 -
【论文极速读】MoCo v3: MoCo机制下Transformer模型的训练不稳定现象
【论文极速读】MoCo v3: MoCo机制下Transformer模型的训练不稳定现象 FesianXu 20211015 at Baidu search team前言之前笔者在[1]中介绍过MoCo v1模型通过解耦batch size和负样本队列大小,从而实现超大负样本队列的对比学习训练方案;在[2]中我们提到了当前对比学习训练中提高负样本数量的一些方法;在[3]中提到了将MoCo扩展到多模态检索中的方案。在本文,我们介绍下MoCo v3,一种尝试在Transformer模型中引入...原创 2021-11-03 20:47:16 · 1619 阅读 · 0 评论 -
【论文极速看】 MLP-Mixer 一种全连接的视觉网络架构
【论文极速看】 MLP-Mixer 一种全连接的视觉网络架构FesianXu 20210709 at Baidu search team前言∇\nabla∇ 联系方式:e-mail: FesianXu@gmail.comgithub: https://github.com/FesianXu知乎专栏: 计算机视觉/计算机图形理论与应用微信公众号:基于局部感知和权值共享的卷积网络CNN和自注意力机制的Transformer系列架构已经在CV和NLP领域得到了广泛的应用。Transfo.原创 2021-07-09 14:49:47 · 522 阅读 · 0 评论 -
在图卷积网络中的可导池化操作
在图卷积网络中的可导池化操作 FesianXu 20210627 at Baidu search team 前言我们在之前的博文[1,2,3]中初步讨论过图卷积网络的推导和信息传递的本质等,本文继续讨论在图卷积网络中的可导池化操作。如有谬误请联系指出,本文遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明并且联系笔者,谢谢。∇\nabla∇ 联系方式:e-mail: FesianXu@gmail.comgithub: https://github.co...原创 2021-06-27 09:18:57 · 424 阅读 · 1 评论 -
讨论数据增强(data augmentation)的有效性
讨论数据增强(data augmentation)的有效性 FesianXu 20210216 at Baidu intern前言在知乎上遇到了一个问题并且进行了简单的回答,如何证明数据增强(Data Augmentation)有效性? 这个问题其实蛮有意思的,以此为展开简要记录下在图像领域常用的一些数据增强方法。本文参考了论文[1]。 如有谬误请联系指出,本文遵守 CC 4.0 BY-SA 版权协议,转载请联系作者并注明出处,谢谢。∇\nabla∇ 联系方式:e-mail:...原创 2021-02-17 18:03:39 · 2237 阅读 · 0 评论 -
[darknet源码系列-3] 在darknet中,如何根据解析出来的配置进行网络层构建
[darknet源码系列-3] 在darknet中,如何根据解析出来的配置进行网络层构建 FesianXu 20201120 at UESTC前言笔者在[1,2]中已经对darknet如何进行配置解析进行了讲解,现在我们需要将解析出来的配置进行对应的网络层构建。如有谬误请联系指出,本文遵守 CC 4.0 BY-SA 版权协议,转载请联系作者并注明出处,谢谢。∇\nabla∇ 联系方式:e-mail: FesianXu@gmail.comQQ: 973926198githu...原创 2020-11-26 16:50:13 · 566 阅读 · 0 评论 -
[卷积算子加速] im2col优化
[卷积算子加速] im2col优化 FesianXu 20201121 at UESTC前言在深度学习模型中,卷积是非常重要的工具,然而卷积的计算复杂度很高,因此需要对此进行特定的优化,im2col与winograd [5],fourier [4]是非常常见的优化方法,本文介绍基于im2col的优化方法。如有谬误请联系指出,本文遵守 CC 4.0 BY-SA 版权协议,转载请联系作者并注明出处,谢谢。∇\nabla∇ 联系方式:e-mail: FesianXu@gmail....原创 2020-11-21 19:41:54 · 2249 阅读 · 0 评论 -
[darknet源码系列-2] darknet源码中的cfg解析
[darknet源码系列-2] darknet源码中的cfg解析 FesianXu 20201118 at UESTC前言笔者在[1]一文中简单介绍了在darknet中常见的数据结构,本文继续上文的节奏,介绍如何从cfg文本文件中解析出整个网络的结构与参数。如有谬误请联系指出,本文遵守 CC 4.0 BY-SA 版权协议,转载请联系作者并注明出处,谢谢。∇\nabla∇ 联系方式:e-mail: FesianXu@gmail.comQQ: 973926198github:...原创 2020-11-20 20:30:53 · 1019 阅读 · 0 评论 -
《学习geometric deep learning笔记系列》第一篇,Non-Euclidean Structure Data之我见
本文是笔者在学习Geometric deep learning的过程中的一些笔记和想法,较为零散,仅仅当作自娱自乐,如有谬误,勿怪勿嗔,请在评论区联系笔者讨论指出,谢谢。总的来说,数据类型可以分为两大类,分别是:欧几里德结构数据(Euclidean Structure Data) 以及 非欧几里德结构数据(Non-Euclidean Structure Data),接下来谈自己对这两类数据的认...原创 2019-03-10 00:03:34 · 9503 阅读 · 8 评论 -
[darknet源码系列-1] darknet源码中的常见数据结构
[darknet源码系列-1] darknet源码中的常见数据结构 FesianXu 20201117 at UESTC前言最近笔者在好奇如何从最底层开始搭建一个深度学习系统,之前都是采用现成的成熟深度学习框架,比如PyTorch,TensorFlow等进行模型的搭建,对底层原理了解不是特别深刻。因此笔者最近在阅读darknet的源码,希望能从中学习到一些底层的知识,本文主要是对darknet中常见的数据结构进行记录和分析。如有谬误请联系指出,转载请联系作者并注明出处,谢谢。∇...原创 2020-11-18 17:41:53 · 1126 阅读 · 2 评论 -
Shift-GCN中Shift的实现细节笔记,通过torch.index_select实现
Shift-GCN中Shift的实现细节笔记,通过torch.index_select实现 FesianXu 20201112 at UESTC前言近期在看Shift-GCN的论文[1],该网络是基于Shift卷积算子[2]在图结构数据上的延伸。在阅读源代码[3]的时候发现了其对于Non-Local Spatial Shift Graph Convolution有意思的实现方法,在这里简要记录一下。如有谬误请联系指出,转载请联系作者并注明出处,谢谢。∇\nabla∇ 联系方式:e-m.原创 2020-11-12 15:20:37 · 2030 阅读 · 3 评论 -
Shift-GCN网络论文笔记
Shift-GCN网络论文笔记 FesianXu 20201105 at UESTC前言近日笔者在阅读Shift-GCN[2]的文献,Shift-GCN是在传统的GCN的基础上,用Shift卷积算子[1]取代传统卷积算子而诞生出来的,可以用更少的参数量和计算量达到更好的模型性能,笔者感觉蛮有意思的,特在此笔记。如有谬误请联系指出,转载请联系作者并注明出处,谢谢。∇\nabla∇ 联系方式:e-mail: FesianXu@gmail.comQQ: 973926198git...原创 2020-11-08 19:10:47 · 4109 阅读 · 10 评论 -
紧致卷积网络设计——Shift卷积算子
紧致卷积网络设计——Shift卷积算子 FesianXu 2020/10/29 at UESTC前言最近笔者在阅读关于骨骼点数据动作识别的文献Shift-GCN[2]的时候,发现了原来还有Shift卷积算子[1]这种东西,该算子是一种可供作为空间卷积的替代品,其理论上不需要增添额外的计算量和参数量,就可以通过1x1卷积实现空间域和通道域的卷积,是一种做紧致模型设计的好工具。本文作为笔记纪录笔者的论文阅读思考, 如有谬误请联系指出,转载请联系作者并注明出处,谢谢。∇\nabla∇ 联系方.原创 2020-11-03 18:08:36 · 3672 阅读 · 6 评论 -
基于图结构的视频理解——组织视频序列的非线性流
基于图结构的视频理解——组织视频序列的非线性流 FesianXu 2020/08/21 at Alibaba intern前言我们在之前的博文[1]中曾经花了很长的篇幅介绍了视频理解与表征的一些内容,当然,由于篇幅原因,其实还是省略了很多内容的,特别是一些比较新的研究成果都没能进行介绍,在本文,我们继续我们的视频理解之旅,我们将在本文介绍一种基于图结构的视频理解方法,其可以组织视频序列中一些人为编辑或者镜头切换导致的非线性流,是一项非常有意思的研究。 如有谬误,请联系指出,转载请...原创 2020-08-25 02:31:48 · 776 阅读 · 0 评论 -
一文理解Ranking Loss/Contrastive Loss/Margin Loss/Triplet Loss/Hinge Loss
一文理解Ranking Loss/Contrastive Loss/Margin Loss/Triplet Loss/Hinge Loss 翻译自FesianXu, 2020/1/13, 原文链接 https://gombru.github.io/2019/04/03/ranking_loss/前言ranking loss在很多不同的领域,任务和神经网络结构(比如sia...翻译 2020-01-15 20:56:59 · 18817 阅读 · 8 评论 -
《临时笔记》一些深度学习中的英文术语的纪录
jitter抖动(jitter)[1]在机器学习中是一种有效的数据增广(data augmentation)手段,其本质是在训练模型过程中,在训练数据中人工叠加的一些噪声。在训练中添加抖动可以有效地工作,提高性能,其原因在于我们通过神经网络学习得到的假设函数(hypothesis)通常是平滑的,如Fig 1所示,而不是和Fig 2所示的这种不平滑的。神经网络能学习到具有非连续性的函数,不过这个...原创 2020-01-07 12:28:01 · 1417 阅读 · 0 评论 -
Conv卷积层的反向求导细节
《土豆笔记之反向求导细节系列》Conv卷积层的反向求导细节前言这个系列主要是对深度学习中常见的各种层的反向求导细节进行学习和介绍,并且辅以代码予以理解,本章介绍的是卷积层,考虑到不同通道之间的转换并且不同的stride,padding等,卷积层的反向求导研究起来也是颇有意思的。如有谬误请联系指出,谢谢。联系方式:e-mail: FesianXu@gmail.comQQ: 97...原创 2019-12-03 10:52:30 · 2277 阅读 · 2 评论 -
一文搞懂反卷积,转置卷积
一文搞懂反卷积,转置卷积前言本文翻译自《Up-sampling with Transposed Convolution》,这篇文章对转置卷积和反卷积有着很好的解释,这里将其翻译为中文,以飨国人。如有谬误,请联系指正。转载请注明出处。联系方式: e-mail: FesianXu@163.com QQ: 973926198 github: https://github.com...原创 2018-07-18 15:06:59 · 35707 阅读 · 49 评论 -
曲线拟合问题与L2正则
曲线拟合问题与L2正则前言我们在[1]中曾经谈到了在贝叶斯理论下指导的曲线拟合问题以及基于此的L2正则化解释,其实,对于L2正则化还可以从模型复杂度的角度进行解释,现在,我们针对非贝叶斯观点的曲线拟合问题和L2正则进行讨论。如有谬误,请联系指正。转载请注明出处。联系方式:e-mail: FesianXu@163.comQQ: 973926198github: https://gith...原创 2018-09-23 21:15:40 · 1353 阅读 · 0 评论 -
深度学习debug沉思录
前言:接触深度学习也有一两年了,一直没有将一些实战经验整理一下形成文字。本文打算用来纪录一些在深度学习实践中的调试过程,纪录一些经验之谈。因为目前深度学习业界的理论基础尚且薄弱,很多工程实践中的问题没法用理论解释得很好,这里的只是实践中的一些经验之谈,以供参考以及排错。本文将持续更新。如有问题请指出,联系方式:e-mail: FesianXu@163.comQQ: 973926198gi...原创 2018-10-12 08:53:31 · 3434 阅读 · 4 评论 -
在TensorFlow中自定义梯度的两种方法
前言在深度学习中,有时候我们需要对某些节点的梯度进行一些定制,特别是该节点操作不可导(比如阶梯除法如10//3=310 // 3 = 310//3=3),如果实在需要对这个节点进行操作,而且希望其可以反向传播,那么就需要对其进行自定义反向传播时的梯度。在有些场景,如[2]中介绍到的梯度反转(gradient inverse)中,就必须在某层节点对反向传播的梯度进行反转,也就是需要更改正常的梯度传...原创 2018-10-19 09:03:05 · 9906 阅读 · 9 评论 -
Pytorch的BatchNorm层使用中容易出现的问题
前言:本文主要介绍在pytorch中的Batch Normalization的使用以及在其中容易出现的各种小问题,本来此文应该归属于[1]中的,但是考虑到此文的篇幅可能会比较大,因此独立成篇,希望能够帮助到各位读者。如有谬误,请联系指出,如需转载,请注明出处,谢谢。∇\nabla∇ 联系方式:e-mail: FesianXu@163.comQQ: 973926198github: htt...原创 2019-01-14 14:44:00 · 53138 阅读 · 68 评论 -
深度学习常用软件纪录
本文章纪录笔者在深度学习的工作和学习中经常使用的一些软件工具,工欲善其事必先利其器,希望这篇文章能对各位入门的朋友有所帮助。如有谬误,请联系指出,如需转载,请注明出处,谢谢。∇\nabla∇ 联系方式:e-mail: FesianXu@163.comQQ: 973926198github: https://github.com/FesianXu一般工作环境一般来说,笔者的代码是运行在...原创 2019-01-15 17:17:57 · 1912 阅读 · 0 评论 -
深度学习debug沉思录第二集
前言在之前文章[1]中,我们曾经讨论过在深度学习实践过程中可能遇到的一些bug或者问题,总共讨论了20个问题。在本文中,我们将继续讨论与深度学习有关的bug和问题,其中很多是关于一些超参数的实践中的调优问题。本文将持续更新。需要强调的是,本文的很多单纯只是经验,在尽可能列出参考文献的同时却并无严格理论验证,希望大家见谅。欢迎大家集思广益,共同维护这个经验集,为整个社区贡献微弱力量。文章目录前言...原创 2019-02-15 11:48:58 · 984 阅读 · 1 评论 -
【动作识别相关,第一篇】skeleton骨骼点数据类型介绍
前言本文主要是对多视角动作识别问题以及基于骨骼点(Skeleton)模态数据的动作识别问题的一个简单的综述性文章,本文提到的方法,大部分是基于骨骼点数据进行的,为了读者可以有个更好地理解,本文将会从数据的获得开始谈起。如有谬误,请联系指出,如需转载,请注明出处,谢谢。∇\nabla∇联系方式:e-mail: FesianXu@163.comQQ: 973926198github: htt...原创 2019-02-24 12:14:23 · 6693 阅读 · 5 评论 -
在深度学习中,对于特征融合方式的思考——论pointwise addition和concatenate的异同
前言在深度学习中,经常会存在需要特征融合的地方[1],而最基本的融合方法无非是:(1) 按点逐位相加(point-wise addition) 和 (2) 进行向量拼接(concatenate)。这两种方式有着异同,也有着关联,接下来进行简单讨论。∇\nabla∇联系方式:e-mail: FesianXu@163.comQQ: 973926198github: https://githu...原创 2019-03-09 11:24:21 · 13282 阅读 · 18 评论 -
《AutoDiff理解》 之第一篇, 自动求导技术在深度学习中的应用
文章目录前言什么是自动求导自动求导的实现方式关于计算图Reference前言自动求导技术(AutoDiff) [1] 是在诸多领域有着广泛应用的技术,特别是在深度学习中,其参数更新大多数依赖于梯度的传递,对于自动求导的使用就更加的频繁了。本系列文章将会基于代码[2]去介绍如何基于计算图的方式去反向自动求导,并且通过value feed的方式去lazy run整个计算图和反向梯度计算图,希望能给...原创 2019-03-14 23:16:04 · 2231 阅读 · 0 评论 -
《Geometric Deep Learning学习笔记》第二篇, 在Graph上定义卷积操作,图卷积网络
前言我们曾在[1]中探讨了欧几里德结构数据(如图像,音视频,文本等)和非欧几里德结构数据(如Graph和Manifold等)之间的不同点,在本文中,我们探讨如何在非欧几里德数据,特别是Graph数据上定义出卷积操作,以便于实现深度神经学习。如有谬误,请联系指正。转载请注明出处。联系方式:e-mail: FesianXu@163.comQQ: 973926198github: https...原创 2019-05-19 21:55:04 · 4166 阅读 · 0 评论 -
《Geometric Deep Learning学习笔记》第三篇,GCN的空间域理解,Message Passing以及其含义
GCN的空间域理解,Message Passing以及其含义 5/20, '19 FesianXu前言在上一篇文章中[1],我们介绍了Graph Convolution Network的推导以及背后的思路等,但是,其实我们会发现,在傅立叶域上定义出来的GCN操作,其实也可以在空间域上进行理解,其就是所谓的消息传递机制,我们在本篇文章将会接着[1],继续介绍Message Passing机...原创 2019-05-19 23:10:07 · 6335 阅读 · 14 评论 -
卷积网络模型压缩的若干总结
前言本文翻译自[0],本人感觉这篇博文很好地总结了卷积网络模型压缩的若干要点,因此希望将此节选翻译,以飨国人。如有谬误,请联系指出,谢谢。∇\nabla∇联系方式:e-mail: FesianXu@163.comQQ: 973926198github: https://github.com/FesianXu为什么要用模型压缩深度卷积神经网络CNN在一系列应用特别是计算机视觉领域取...原创 2019-07-21 10:24:48 · 1555 阅读 · 0 评论 -
基于代码的Pooling池化层的反向求导细节
《土豆笔记之反向求导细节系列》Pooling池化层的反向求导细节前言这个系列主要是对深度学习中常见的各种层的反向求导细节进行学习和介绍,并且辅以代码予以理解,本章介绍的是池化层,包括有max_pooling和avg_pooling,考虑到其stride的变化,其反向求导的细节也颇具有价值进行深究。如有谬误请联系指出,谢谢。联系方式:e-mail: FesianXu@gmail....原创 2019-08-04 11:26:29 · 2236 阅读 · 1 评论 -
《土豆学Object Detection》 之 RCNN初探
《土豆学Object Detection》 之 RCNN初探前言本土豆最近在做Human-Object Interaction(HOI)任务的研究,其中有用到物体识别的模块,因此也打算趁此机会把Object Detection(OD)的拿来系统学习下,并且在此纪录下笔记。土豆我深知OD已经在网络上有着很多中文博客资料了,但是个人觉得很多都不够详细,不够入门级,因此我尽量在此博客里面...原创 2019-08-01 13:54:12 · 401 阅读 · 0 评论 -
在pytorch中对非叶节点的变量计算梯度
在pytorch中一般只对叶节点进行梯度计算,也就是下图中的d,e节点,而对非叶节点,也即是c,b节点则没有显式地去保留其中间计算过程中的梯度(因为一般来说只有叶节点才需要去更新),这样可以节省很大部分的显存,但是在调试过程中,有时候我们需要对中间变量梯度进行监控,以确保网络的有效性,这个时候我们需要打印出非叶节点的梯度,为了实现这个目的,我们可以通过两种手段进行。注册hook函数Tenso...原创 2019-08-11 10:47:23 · 3389 阅读 · 0 评论 -
DenseNet的理解
《weekly paper》DenseNet的理解前言DenseNet是CVPR2017的best paper,其可以看成是ResNet和HighwayNet一类型的网络,都是通过引进了shortcut以减少梯度消失,增强不同层之间的信息融合。如有谬误,请联系指正。转载请注明出处。联系方式: e-mail: FesianXu@163.com QQ: 973926198 g...原创 2018-05-25 16:50:20 · 1264 阅读 · 0 评论