机器学习
文章平均质量分 87
Paul-LangJun
凡事预则立,不预则废。
展开
-
细粒度分类:Diversified Visual Attention Networks
一、介绍 本文简单介绍一下一篇细粒度文章的大致思想,题目是Diversified Visual Attention Networks forFine-Grained Object Classification(分散可视注意力细粒度分类网络),缩写为DVAN。文章不是很新,但是思想通篇读过后觉得值得总结。二、引入了什么下图中,不同鸟类的通过视觉可区分的部位主要是眼镜、胸部和翅膀,通过DVAN可以自动的发现这些视觉可区分的部位,从而实现正确分类不同品种鸟类。DVAN引入了一种能力..原创 2022-04-26 15:35:00 · 1389 阅读 · 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 评论 -
细粒度对象识别——DCL方法概述
一、概要 在细粒度识别问题中,全局信息的作用并不是很突出,不同种类物体的全局信息其实是很相似的,而真正能区分它们的是一些细节特征,而常规的学习方式很容易被全局信息所主导,无法把握细节信息,而DCL提出的图像子区域打乱方法有效的驱动了模型去学习细节性特征(The devail is in the details),进而实现精细化物体分类。二、结构2.1、解构部分 解构是DCL的核心,做法是将一个图像均分为N*N的子区域,每个子区域随机的和它的邻域子区域做交换,邻域大小是一...原创 2021-10-03 10:36:45 · 1427 阅读 · 0 评论 -
浅析Feature Pyramid Networks
一、背景 识别和检测多尺度对象是计算机视觉中一个尤为重要的问题。解决改问题的常用方法目前有两种,一种是利用多尺度图像训练,一种构建特征金字塔网络,它们都能提取不同尺度的图像语义信息,完成目标的识别和检测任务。第一种方法虽然可以解决多尺度问题,但是存在的问题:需要构造多个不同尺度的图像进行训练和推理,增加了内存的使用量,且延长了推理时间,在实际应用场景中很难进行推广。如下图所示:图1、多尺度图像 而特征金字塔网络(简称FPN)有着和多尺度图像相似的功效,而仅需要单尺度图像即可...原创 2021-08-22 21:13:24 · 346 阅读 · 0 评论 -
关于Bounding Box回归的深度思考
一、引子 在目标检测模型中,边界框回归用于微调模型设定或者学习到的候选框位置,使这些边界框更加接近实际的标注框,是提高目标检测精度的关键步骤之一。文献中一般仅对IOU大于某个阈值(如0.7)的边界框进行边界框回归,直观上的原因是什么,我思考良久,今天将个人的一些思考做下记录。二、线性回归 设特征集和为, 回归变量集和为,线性回归的任务是找到一组最优参数,使均方损失最小化。 ...原创 2021-04-30 15:16:42 · 647 阅读 · 0 评论 -
Focal Loss 简介
一、背景 目标检测可分为两阶段和一阶段算法两种,两种类别各有优缺点。 两阶段算法包含候选区域生成阶段和分类阶段,区域生成阶段负责生成候选区域,并过滤掉大部分的背景区域,虽然对训练效率大打折扣,但前景区域提取的相对准确,且前景和背景比例基本协调,精度因此一般很高。 一阶段算法省去了候选区域生成阶段,因此效率很高,但是基于滑动窗口的方式生成了大量的候选区域,导致背景区域数量显著多于前景区域,背景区域相对前景区域更容易区分,在大量容易区分的背景区域上进行模型训练无法捕捉到有效的分类信......原创 2021-02-28 22:40:03 · 1919 阅读 · 1 评论 -
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 评论 -
关于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 评论 -
基于word2vec和TextCNN的新闻标题分类器
一、背景 本人是做新闻爬虫相关工作。由于工作需要,经常需要将一个列表页中的a标签链接进行提前并进行抓取,但问题是,如何确定一个列表页大概率是新闻页面那?起初,通过一些规则的方法,比如新闻高频词来确定是否是新闻列表页,但是随着热词更新的滞后,规则匹配的效果变得很差,因此逐渐放弃了该方案。 后期,通过不断总结新闻标题的模式发现,新闻和非新闻的标题内容在用词以及语义上存在明显的区别,如果规则解决不了的问题,也许可以借助NLP方面的知识来解这个问题。经过先期调研,发现有很多通过NLP来实现对...原创 2020-12-02 18:00:33 · 1508 阅读 · 0 评论 -
对PCA的理解
一、概要 高维数据不同维度之间往往存在相关性,比如人的收入和职位,西瓜的色泽和光照强度等。 因此,为了便于分析数据,理解数据中的基本结构,需要将数据映射到一个维度互不相关的新坐标空间中,同时还要最大程度的保留原有数据的信息。 而主成分分析,就是满足这种需求的一种技术。二、准备工作 对数据进行主成分分析之前,需要将数据规范化,这主要是为了解决不同维度间标度不一致问题。主要做法是将数据每一维度的均值变为0,方差变为1。 为什么要这样做那? ...原创 2020-11-09 22:52:17 · 763 阅读 · 0 评论 -
深入理解SVD
本篇文章不会对SVD、PCA的相关理论过于深入的讲解,因为相关的优秀文章太多了。本文仅仅是对SVD以及PCA进行提纲挈领的一些介绍,忽略一些细节上的讲解。一、SVD概要 首先,SVD要干什么?它的作用是把任何一个实矩阵分解为三个子矩阵的乘积: ...原创 2020-11-07 15:20:40 · 1263 阅读 · 0 评论 -
GloVe详解
转载在: http://www.fanyeong.com/2018/02/19/glove-in-detail/转载 2020-09-23 10:50:32 · 470 阅读 · 0 评论 -
SVM的“三重境界”
SVM——支持向量机,作为机器学习领域最为重量级的学习算法之一,个人总结认为其有“三重境界”:硬,软,柔。硬,即最基本的硬间隔最大化;软,即软间隔最大化;柔,利用核函数实现对非线性样本空间进行分类。 本篇文章将对这三种境界做一些简单的说明。但是,我首先要对SVM的一些基本概念,特别是一些易混的概念进行梳理,理解这些概念才是理解后面三重境界的基础。图 1. SVM示例图 本文以上图为例对SVM进行讲解。蓝色点表示正例,橙色点表示负例;五星表示支持向量;灰色粗线...原创 2020-09-01 12:49:59 · 1547 阅读 · 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 评论 -
通俗理解EM算法
如果使用基于最大似然估计的模型,模型中存在隐变量,就要用EM算法做参数估计。个人认为,理解EM算法背后的idea,远比看懂它的数学推导重要。idea会让你有一个直观的感受,从而明白算法的合理性,数学推导只是将这种合理性用更加严谨的语言表达出来而已。打个比方,一个梨很甜,用数学的语言可以表述为糖分含量90%,但只有亲自咬一口,你才能真正感觉到这个梨有多甜,也才能真正理解数学上的90%的糖分究竟是怎么样的。如果EM是个梨,本文的目的就是带领大家咬一口。001、一个非常简单的例子假设现在有两枚硬..转载 2020-05-15 14:00:58 · 246 阅读 · 0 评论 -
一种有效的神经网络权重初始化方法
本文介绍一种权重初始化方法,它可以很大程度上避免神经元过早饱和而导致的学习率下降问题。一、介绍 一种简单而有效的方法是将每个权重看作一个服从均值为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 评论 -
理解逻辑回归中的后验概率和损失函数
一、理解后验概率 在LR中, 后验概率。很多人不禁会问,为什么要这么计算? 这里通过对后验概率的推导,并结合sigmod,来谈谈自己的看法。 首先,由贝叶斯公式得 (1) 由...原创 2019-12-28 22:49:36 · 1750 阅读 · 0 评论 -
理解KKT条件
一、引言 对于无约束最优化问题,其搜索空间是无界的,只要确定了搜索方向和步长因子,便可以在一轮或几轮迭代之后找到最优解或近似最有解。这里举个不太恰当的例子,无约束最优化如同在浩瀚的宇宙中寻找体积最大的星球,你按照一定的策略去找,不用担心越界。 而约束的优化问题就不同了,在寻找最优解的过程中始终要在某一个约束范围空间内进行。还是以上述例子说明,约束最优化如同在浩瀚的宇宙中寻找体...原创 2019-12-02 18:24:24 · 4804 阅读 · 1 评论 -
概率统计中的常用公式及其推断
原创 2017-08-23 08:26:51 · 1207 阅读 · 0 评论 -
Python实现SMO算法
import numpy as npimport randomdata = np.loadtxt("heart-c.txt")# 缓存样本点积dp = np.dot(data[:,0:data.shape[1]-2], np.transpose(data[:,0:data.shape[1]-2]))Lab = data[:,data.shape[1] - 1]# 初始化α向量al原创 2017-10-27 14:17:25 · 1124 阅读 · 0 评论 -
机器学习:训练集,验证集与测试集
来源:http://mooc.study.163.com/learn/2001281003?tid=2001391036#/learn/content?type=detail&id=2001702114&cid=2001693028作用训练集:用于训练模型的数据验证集:用于模型选择的数据测试集:用于评估最终选择出的模型的数据划分比例小数据量: 6 : 2 : 2大数据量: 98 :...原创 2018-07-09 12:39:14 · 607 阅读 · 0 评论 -
机器学习:偏差、方差与正则化
1. 偏差和方差1.1 偏差 通俗的讲,偏差反映的模型学习的好坏程度或者捕捉训练集主要特征的能力大小。偏差大意味着学习不够充分,主要特征没有捕捉到;偏差小意味着学习充分,捕捉到了训练集中的主要特征,当然这也存在过拟合的风险。 偏差较大的原因:训练不充分、数据规模大但模型过于简单(常见于神经网络)等1.2 方差 通俗的讲,方差反映的是模型举一反三的学习能力,即在测试集上的学习表现。...原创 2018-07-11 08:30:48 · 2289 阅读 · 0 评论 -
深度学习: 指数加权平均
1. 指数加权平均 指数加权平均是深度学习众多优化算法的理论基础,包括Momentum、RMSprop、Adam等,在介绍这些优化算法前,有必要对指数加权平均(exponentially weighted averages)做一个简单的介绍,以期对后续的优化算法的原理有所知晓。 何为指数加权平均那? 现在想求一段时间内的平均温度,给定一段时间的温度序...原创 2018-07-28 21:33:11 · 5313 阅读 · 2 评论 -
深度学习: Dropout
Dropout: A simple Way to Prevent Neural Networks from Overfitting摘要 过拟合是机器学习领域较为突出的问题之一,很多方法已提出用于缓解过拟合。该文提出的方法是Dropout(剔除、删除等翻译即可)。只需记住一句话即可:在神经网络训练过程中随机删除一些激活单元以及与这些激活单元相连的边,这避免了激活单元之间过...原创 2018-07-21 17:09:50 · 1269 阅读 · 0 评论 -
机器学习:Fisher线性判别法
对于分类算法,我们可以考虑将原始数据投影到1维空间,然后再进行分类。本文主要讨论两种维度降低分类算法,一种是无修正降维分类算法,另外一种便是本文主要介绍的Fisher(修正降维分类算法)判别法,至于两个算法的名称由来是我根据自己的理解给出的,后面会给出相关的解释。一、无修正降维分类 首先,我们简单的考虑二分类问题,分类过程如下: 1. 给定一个样本 和...原创 2019-03-15 17:13:01 · 5439 阅读 · 0 评论 -
机器学习 —— 感知机分类算法
# -*- coding: utf-8 -*-import randomimport queuefrom time import sleepfrom threading import Threadimport numpy as np''' A binary linear classifier '''class Perceptron(object): def _...原创 2019-04-08 11:13:57 · 594 阅读 · 0 评论 -
从曲线拟合谈平方和误差函数与最大似然的关系
一、曲线拟合问题 给定 N 个输入样本及其标记,对新的样本,给出其标记的预测。二、曲线拟合的平方和损失函数 平方和误差函数是一种广泛使用的误差函数,在曲线拟合问题中,其定义如下: ...原创 2019-05-13 13:58:04 · 3669 阅读 · 0 评论 -
岭回归的统计学解释
一、背景 在 从曲线拟合谈平方和误差函数与最大似然的关系 一文中,说明了极大似然与平方和误差函数之间的关系。但是,平方和损失函数易导致过拟合,原因有两点。 1、当样本规模有限而特征数量较为庞大时,训练过程容易受到到数据中的边缘特征的干扰。 2、从统计上看,当训练数据不充分时,高斯似然函数关于方差的估计的期望会小于实际方差。 说...原创 2019-06-04 17:57:33 · 4802 阅读 · 0 评论 -
核函数的深入浅出讲解
前段时间热映的《星际穿越》想必大家都看过,在这部烧脑大片中,主角库珀进入到了高维度空间,在那里,时间这个维度变成实体存在,人们可以像散步一样沿着时间这个维度来回穿梭。那么高维空间到底是什么样的?有人说高位空间里其实只有数学意义,在实际中无意义,是这样的吗?又有人说高维空间里其实有更高级的生物,他们看我们,就像我们看在一个平面进行爬行的虫子一样。还有人说,若有转载 2017-06-25 14:04:33 · 14894 阅读 · 7 评论