
Machine Learning
文章平均质量分 95
FesianXu
腾讯-微信事业群-高级算法工程师, 百度-搜索策略部-前高级算法工程师。 主要从事多模态检索、视频检索、信息检索,大模型落地应用等领域工作。
展开
-
【论文极速看】 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 · 631 阅读 · 0 评论 -
搜索系统中的一些指标
搜索系统中的一些指标 FesianXu 20210131 at Baidu intern前言本文作为笔者在学习搜索系统中时候遇到的一些指标以及其含义,计算方式的笔记。如有谬误请联系指出,本文遵守 CC 4.0 BY-SA 版权协议,转载请联系作者并注明出处,谢谢。∇\nabla∇ 联系方式:e-mail: FesianXu@gmail.comQQ: 973926198github: https://github.com/FesianXu知乎专栏: 计算机视觉/计算机图形...原创 2021-02-06 00:16:50 · 1664 阅读 · 0 评论 -
紧致卷积网络设计——Shift卷积算子
紧致卷积网络设计——Shift卷积算子 FesianXu 2020/10/29 at UESTC前言最近笔者在阅读关于骨骼点数据动作识别的文献Shift-GCN[2]的时候,发现了原来还有Shift卷积算子[1]这种东西,该算子是一种可供作为空间卷积的替代品,其理论上不需要增添额外的计算量和参数量,就可以通过1x1卷积实现空间域和通道域的卷积,是一种做紧致模型设计的好工具。本文作为笔记纪录笔者的论文阅读思考, 如有谬误请联系指出,转载请联系作者并注明出处,谢谢。∇\nabla∇ 联系方.原创 2020-11-03 18:08:36 · 4070 阅读 · 6 评论 -
Object Detection中的mAP
前言指标很重要,合适的指标更是重中之重。mean Average Precision, mAP是常见的评估机器学习模型性能的指标,其在物体检测任务中也有着广泛地应用,是诸多Object Detection任务的主要评估指标,本文总结一些关于mAP的理解。如有谬误,请联系指出,本文参考[1,2]。注: mAP或者AP在物体检测和信息检索中,其定义有所不同,本文特定在物体检测场景中的定义。精确率和召回率我们在[3]一文中介绍过一些常见的评估指标,其中就包括了精确率(precision)和召回率(rec原创 2020-05-30 18:02:17 · 516 阅读 · 0 评论 -
数据,模型,算法共同决定深度学习模型效果
数据,模型,算法共同决定深度学习模型效果 2020/4/20 FesianXu在文献[1]中对few-shot learning进行了很好地总结,其中提到了一个比较有意思的观点,这里和大家分享下。先抛开few-shot learning的概念,我们先从几个基本的机器学习的概念进行分析。期望风险最小化(expected risk minimization): 假设数据分布...原创 2020-04-20 21:25:01 · 1080 阅读 · 0 评论 -
参数和非参数模型——当我谈到参数我在说些什么
参数和非参数模型——当我谈到参数我在说些什么FesianXu 2020/1/12前言参数模型和非参数模型是我们在机器学习中经常听到的术语,但是其中的“参数”却和我们通常理解的参数有所不同,本文尝试对此进行解释。如有谬误,请联系指出,谢谢。∇\nabla∇ 联系方式:e-mail: FesianXu@gmail.comQQ: 973926198github: https://...原创 2020-01-12 23:58:58 · 1345 阅读 · 1 评论 -
《临时笔记》一些深度学习中的英文术语的纪录
jitter抖动(jitter)[1]在机器学习中是一种有效的数据增广(data augmentation)手段,其本质是在训练模型过程中,在训练数据中人工叠加的一些噪声。在训练中添加抖动可以有效地工作,提高性能,其原因在于我们通过神经网络学习得到的假设函数(hypothesis)通常是平滑的,如Fig 1所示,而不是和Fig 2所示的这种不平滑的。神经网络能学习到具有非连续性的函数,不过这个...原创 2020-01-07 12:28:01 · 1546 阅读 · 0 评论 -
Conv卷积层的反向求导细节
《土豆笔记之反向求导细节系列》Conv卷积层的反向求导细节前言这个系列主要是对深度学习中常见的各种层的反向求导细节进行学习和介绍,并且辅以代码予以理解,本章介绍的是卷积层,考虑到不同通道之间的转换并且不同的stride,padding等,卷积层的反向求导研究起来也是颇有意思的。如有谬误请联系指出,谢谢。联系方式:e-mail: FesianXu@gmail.comQQ: 97...原创 2019-12-03 10:52:30 · 2433 阅读 · 2 评论 -
贝叶斯曲线拟合
贝叶斯曲线拟合以及对L2正则化的贝叶斯解释前言在以前文章中,我们讨论过《概率学派和贝叶斯学派的区别》和《 <机器学习系列> 线性回归模型》,这里我们讨论下曲线拟合问题中的数据点的噪声问题,以及根据贝叶斯理论的L2正则化解释。如有谬误,请联系指正。转载请注明出处。联系方式:e-mail: FesianXu@163.comQQ: 973926198github: https:...原创 2018-09-23 15:54:34 · 6587 阅读 · 2 评论 -
曲线拟合问题与L2正则
曲线拟合问题与L2正则前言我们在[1]中曾经谈到了在贝叶斯理论下指导的曲线拟合问题以及基于此的L2正则化解释,其实,对于L2正则化还可以从模型复杂度的角度进行解释,现在,我们针对非贝叶斯观点的曲线拟合问题和L2正则进行讨论。如有谬误,请联系指正。转载请注明出处。联系方式:e-mail: FesianXu@163.comQQ: 973926198github: https://gith...原创 2018-09-23 21:15:40 · 1426 阅读 · 0 评论 -
贝叶斯之旅||第一讲,贝叶斯决策
贝叶斯之旅||第一讲,贝叶斯决策前言在机器学习中,有两大门派,分别是频率学派和贝叶斯学派,在现在深度学习大行其道的时代下,数据量空前庞大,频率学派占据了比较大的优势,而贝叶斯学派似乎有点没落,然而,贝叶斯理论在机器学习中是有着很重要的地位的,它从理论上揭示了模型为什么可以工作,为什么会fail,在数据量必须小的一些任务中,通常也可以表现得比频率学派的好,让我们开始我们的贝叶斯之旅吧。这一讲,主...原创 2018-09-20 00:47:52 · 986 阅读 · 0 评论 -
生成模型和判别模型的区别
前言** 机器学习中有两种大类的模型,分别是生成模型和判别模型,其分别代表了不同的预测思想,我们这里讨论一下两者的异同。**如有谬误,请联系指正。转载请注明出处。联系方式:e-mail: FesianXu@163.comQQ: 973926198github: https://github.com/FesianXu机器学习的目标首先,我们先要讨论整个机器学习的目标,在应用中最常见...原创 2018-09-20 14:05:28 · 1767 阅读 · 0 评论 -
贝叶斯之旅||第二讲,分类问题的两大过程,推理和决策
贝叶斯之旅||第二讲,分类问题的两大过程,推理和决策前言前面[1]我们介绍了贝叶斯决策的一些知识,介绍了基于最小化分类错误率和最小化分类损失的两种决策准则,接下来,我们简单讨论下分类问题中的二个步骤,推理和决策。如有谬误,请联系指正。转载请注明出处。联系方式:e-mail: FesianXu@163.comQQ: 973926198github: https://github.com...原创 2018-09-20 16:25:59 · 1165 阅读 · 3 评论 -
深度学习debug沉思录
前言:接触深度学习也有一两年了,一直没有将一些实战经验整理一下形成文字。本文打算用来纪录一些在深度学习实践中的调试过程,纪录一些经验之谈。因为目前深度学习业界的理论基础尚且薄弱,很多工程实践中的问题没法用理论解释得很好,这里的只是实践中的一些经验之谈,以供参考以及排错。本文将持续更新。如有问题请指出,联系方式:e-mail: FesianXu@163.comQQ: 973926198gi...原创 2018-10-12 08:53:31 · 3526 阅读 · 4 评论 -
在TensorFlow中自定义梯度的两种方法
前言在深度学习中,有时候我们需要对某些节点的梯度进行一些定制,特别是该节点操作不可导(比如阶梯除法如10//3=310 // 3 = 310//3=3),如果实在需要对这个节点进行操作,而且希望其可以反向传播,那么就需要对其进行自定义反向传播时的梯度。在有些场景,如[2]中介绍到的梯度反转(gradient inverse)中,就必须在某层节点对反向传播的梯度进行反转,也就是需要更改正常的梯度传...原创 2018-10-19 09:03:05 · 10066 阅读 · 9 评论 -
《SVM笔记系列之六》支持向量机中的核技巧那些事儿
《SVM笔记系列之六》支持向量机中的核技巧那些事儿前言我们在前文[1-5]中介绍了线性支持向量机的原理和推导,涉及到了软和硬的线性支持向量机,还有相关的广义拉格朗日乘数法和KKT条件等。然而,光靠着前面介绍的这些内容,只能够对近似于线性可分的数据进行分割,而不能对非线性的数据进行处理,这里我们简单介绍下支持向量机中使用的核技巧,使用了核技巧的支持向量机就具备了分割非线性数据的能力。本篇可能是我...原创 2018-10-16 20:38:16 · 931 阅读 · 0 评论 -
损失函数的可视化——浅论模型的参数空间与正则
前言:在深度学习中我们总是不可避免会碰到各种各样的损失函数,通常来说,损失函数都是高维的函数,难以可视化为人类可以分辨的二维或者三维形式,因此这里介绍一种通过在高维空间中切片的损失函数可视化手段,并且讨论下模型的参数空间。如有谬误请联系指出,转载请注明出处。联系方式:e-mail: FesianXu@163.comQQ: 973926198github: https://github.c...原创 2018-10-28 15:03:01 · 3131 阅读 · 1 评论 -
深度学习debug沉思录第二集
前言在之前文章[1]中,我们曾经讨论过在深度学习实践过程中可能遇到的一些bug或者问题,总共讨论了20个问题。在本文中,我们将继续讨论与深度学习有关的bug和问题,其中很多是关于一些超参数的实践中的调优问题。本文将持续更新。需要强调的是,本文的很多单纯只是经验,在尽可能列出参考文献的同时却并无严格理论验证,希望大家见谅。欢迎大家集思广益,共同维护这个经验集,为整个社区贡献微弱力量。文章目录前言...原创 2019-02-15 11:48:58 · 1030 阅读 · 1 评论 -
在深度学习中,对于特征融合方式的思考——论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 · 13554 阅读 · 18 评论 -
《Geometric Deep Learning学习笔记》第二篇, 在Graph上定义卷积操作,图卷积网络
前言我们曾在[1]中探讨了欧几里德结构数据(如图像,音视频,文本等)和非欧几里德结构数据(如Graph和Manifold等)之间的不同点,在本文中,我们探讨如何在非欧几里德数据,特别是Graph数据上定义出卷积操作,以便于实现深度神经学习。如有谬误,请联系指正。转载请注明出处。联系方式:e-mail: FesianXu@163.comQQ: 973926198github: https...原创 2019-05-19 21:55:04 · 4302 阅读 · 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 · 6437 阅读 · 14 评论 -
<深度学习系列>基于numpy和python的反向传播算法的实现与分析
前言本文基于反向传播算法的原理,实现了一个基于numpy和python的三层全连接神经网络,用于分类任务。其中在实现过程中,将会用代码的形式呈现梯度消失的现象,本文中的符号请参考我的前文《反向传播算法的公式推导》,代码将由github托管,有帮助的朋友欢迎star。 如有谬误,请联系指正。转载请注明出处。 联系方式: e-mail: FesianXu@163.com QQ: 97392619原创 2017-10-15 10:45:53 · 8473 阅读 · 4 评论 -
概率学派和贝叶斯学派的区别
概率学派和贝叶斯学派的区别前言对于一个数学模型来说,最主要的莫过于根据观察到的数据进行模型的参数估计了,而概率学派和贝叶斯学派对于这个参数估计有着不同的做法,接下来我们讨论下。如有谬误,请联系指正。转载请注明出处。联系方式: e-mail: FesianXu@163.com QQ: 973926198 github: https://github.com/FesianXu...原创 2018-05-29 17:16:26 · 3595 阅读 · 0 评论 -
理解多维高斯分布
理解多维高斯分布前言在数理统计和机器学习中,经常用到高斯分布,这里根据网上的资源和理解,对多维高斯分布做一个小总结。如有谬误,请联系指正。转载请注明出处。联系方式: e-mail: FesianXu@163.com QQ: 973926198 github: https://github.com/FesianXu一维高斯分布标准的一维高斯分布是0均值和单位...原创 2018-05-16 16:40:27 · 8320 阅读 · 0 评论 -
《SVM笔记系列之三》拉格朗日乘数法和KKT条件的直观解释
《SVM笔记系列之三》拉格朗日乘数法和KKT条件的直观解释 前言在SVM的推导中,出现了核心的一个最优化问题,这里我们简单介绍下最优化问题,特别是带有约束的最优化问题,并且引入拉格朗日乘数法和广义拉格朗日乘数法,介绍并且直观解释了KKT条件,用于解决带约束的最优化问题。本人无专业的数学学习背景,只能在直观的角度上解释这个问题,如果有数学专业的朋友,还望不吝赐教。 如有误,请联系指正。转载请注明出原创 2017-11-24 15:08:13 · 6202 阅读 · 4 评论 -
机器学习系列之 感知器模型
前言感知器模型是线性分类模型的一个基本模型,是当今主流的神经元基本结构,掌握好感知器模型有利于我们的机器学习进一步学习,这里简单介绍下感知器模型并且用Python代码演示。 如有谬误,请联系指正。转载请注明出处。 联系方式: e-mail: FesianXu@163.com QQ: 973926198 github: https://github.com/FesianXu **代码开源:原创 2017-11-02 23:25:10 · 3720 阅读 · 0 评论 -
<机器学习系列> 线性回归模型
前言线性回归模型是机器学习中一个基本回归模型,是许多模型的基础,学习好线性回归模型有助于我们的机器学习,这里简单介绍下线性回归模型并且提供Python代码演示。 如有谬误,请联系指正。转载请注明出处。 联系方式: e-mail: FesianXu@163.com QQ: 973926198 github: https://github.com/FesianXu 代码开源:click线性回原创 2017-10-16 00:17:11 · 1375 阅读 · 0 评论 -
随机梯度下降法,批量梯度下降法和小批量梯度下降法以及代码实现
前言梯度下降法是深度学习领域用于最优化的常见方法,根据使用的batch大小,可分为随机梯度下降法(SGD)和批量梯度下降法(BGD)和小批量梯度下降法(MBGD),这里简单介绍下并且提供Python代码演示。 如有谬误,请联系指正。转载请注明出处。 联系方式: e-mail: FesianXu@163.com QQ: 973926198 github: https://github.com原创 2017-10-15 19:35:42 · 5590 阅读 · 2 评论 -
<深度学习系列>深度学习中激活函数的选择
前言在神经网络中,有线性部分,也存在激活函数作为线性部分的非线性激活,这里的激活函数往往是非常重要的,合适的选用有助于提高整个神经网络的性能,这里根据网络的一些所见所学和自己的理解,结合上一篇关于反向传播算法的内容,浅谈下激活函数的选择。 如有谬误,请联系指正。转载请注明出处。 联系方式: e-mail: FesianXu@163.com QQ: 973926198 github: htt原创 2017-09-27 09:11:35 · 1796 阅读 · 0 评论 -
设置可见GPU,进行多显卡深度学习训练
在深度学习中,如果一台电脑具有多个NVIDIA的GPUs,用户想要在不同的GPU上训练不同的网络,那么在程序中指定占用的GPU的id,在python中如:import osos.environ["CUDA_DEVICE_ORDER"]="PCI_BUS_ID" # see issue #152os.environ["CUDA_VISIBLE_DEVICES"]="0"即可指定GPU id为0原创 2017-10-01 10:00:54 · 5746 阅读 · 0 评论 -
机器学习性能评估指标
前言衡量一个机器学习算法的优劣有许多指标可以参考,对于不同任务的不同算法需要采用不同的指标进行衡量而不能一概而论,正如没有免费午餐定律所揭示的,没有任何一个算法可以在所有数据集上表现良好,因此需要用合适的性能评判指标去选择合适的机器学习模型。这里浅谈一些评判指标,部分素材来自《机器学习》 周志华。 如有谬误,请联系指正。转载请注明出处。 联系方式: e-mail: FesianXu@163.c原创 2017-09-27 09:04:19 · 1322 阅读 · 0 评论 -
机器学习模型的容量,过拟合与欠拟合
前言过拟合与欠拟合是机器学习中永恒的话题,而过拟合这个问题也是机器学习中经常导致模型失败的罪魁祸首,这里结合《Deep Learning》一书中的关于容量,过拟合与欠拟合的讨论,总结,摘抄一些观点。 如有谬误,请联系指正。转载请注明出处。 联系方式: e-mail: FesianXu@163.com QQ: 973926198 github: https://github.com/Fesi原创 2017-09-27 09:00:28 · 6817 阅读 · 0 评论 -
训练集,测试集,检验集的区别与交叉检验
前言在机器学习中,不可避免要接触到训练集,测试集以及检验集,这些数据集各有各的作用,为机器学习算法的泛化保驾护航,这里结合《Deep Learning》中的关于训练集,测试集和检验集的讨论,浅谈所见所学。 如有谬误,请联系指正。转载请注明出处。 联系方式: e-mail: FesianXu@163.com QQ: 973926198 github: https://github.com/F原创 2017-09-27 08:56:48 · 7408 阅读 · 0 评论 -
《深度学习系列》反向传播算法的公式推导
反向传播算法及其梯度扩散前言最近开始认真学习了下反向传播算法和梯度传递的问题,其本质是导数的链式法则的应用,由此可以分析出为什么sigmoid激活函数不适合用于做多层网络的激活函数,可以考虑联系我的另一篇关于激活函数的文章。如有谬误,请联系指正。转载请注明出处。 联系方式: e-mail: FesianXu@163.com QQ: 973926198 github: https://gith原创 2017-09-26 10:37:51 · 4104 阅读 · 6 评论 -
《SVM笔记系列之二》SVM的拉格朗日函数表示以及其对偶问题
《SVM笔记系列之二》SVM的拉格朗日函数表示以及其对偶问题 前言支持向量机的对偶问题比原问题容易解决,在符合KKT条件的情况下,其对偶问题和原问题的解相同,这里我们结合李航博士的《统计学习方法》一书和林轩田老师的《机器学习技法》中的内容,介绍下SVM的对偶问题。本人无专业的数学学习背景,只能直观上理解一些问题,请数学专业的朋友不吝赐教。 如有谬误,请联系指正。转载请注明出处。 联系方式:原创 2017-11-26 11:27:16 · 3213 阅读 · 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 · 1338 阅读 · 0 评论 -
PLSTM的TensorFlow实现与解释
PLSTM的TensorFlow实现与解释前言* 我们在上篇文章《TensorFlow中的LSTM源码理解与二次开发》中已经提到了lstm cell在tensorflow中的实现。这篇博文主要介绍了如何在TensorFlow中通过修改lstm cell来定制自己的lstm网络,并且以 《NTU RGB+D: A Large Scale Dataset for 3D Human Acti...原创 2018-04-09 10:12:45 · 2301 阅读 · 10 评论 -
TensorFlow中的LSTM源码理解与二次开发
TensorFlow中的LSTM源码理解与二次开发 前言学习TensorFlow其官方实现是一个很好的参考资料,而LSTM是在深度学习中经常使用的,我们开始探讨下其在TensorFlow中的实现方式,从而学习定制自己的RNN单元。 如有谬误,请联系指正。转载请注明出处。联系方式: e-mail: FesianXu@163.com QQ: 973926198 github...原创 2018-03-21 17:06:24 · 5859 阅读 · 8 评论 -
在机器学习中epoch, iteration, batch_size的区别
在机器学习中epoch, iteration, batch_size的区别在机器学习的模型训练中,经常会接触到epoch,iteration,batch_size这几个术语,这里做个小辨析。batch_size(批大小),指的是在SGD(随机梯度下降法)中选择的一个批次的大小,关于SGD参见博文《随机梯度下降法,批量梯度下降法和小批量梯度下降法以及代码实现》iteration(迭代),...原创 2018-02-22 18:30:49 · 5178 阅读 · 3 评论 -
Logistic regression(逻辑斯蒂回归)
前言线性回归是一种回归(Regression)方法,常用于预测连续输出,而对于离散的分类输出就难以解决。因此在基于线性回归的前提下,引入了激活函数的概念,形成了Logistic回归。在这里简述自己对Logistic回归的所见所学。如有谬误,请联系指正。转载请注明出处。联系方式: e-mail: FesianXu@163.com QQ: 973926198 github: https://git原创 2018-03-01 13:37:45 · 647 阅读 · 0 评论