3 bestrivern

尚未进行身份认证

我要认证

热爱计算机视觉,机器学习,算法,编程,正在不断学习中

等级
TA的排名 4w+

优先级队列(Priority Queue)(三)

批量建堆的算法主要有两种,自上而下的上滤和自下而上的下滤。一.自上而下的上滤template <typename T> void PQ_ComplHeap<T>::heapify(Rank n){ for(int i=1;i<n;i++) { percolateUp(i); }}二.效率分析时间复杂度:O(...

2020-02-09 11:49:14

优先级队列(Priority Queue)(二)

在完全二叉树周插入元素的方法是插入到底层,上滤在完全二叉树周删除元素的方法是将底层元素置于顶端,下滤一.上滤为插入词条e,只需要将e作为末尾元素接入向量否则,e与其父节点换位否则,e再与父节点换位不断重复,直到e与其父亲满足堆序性,或者e达到堆顶(没有父亲)二.代码实现template <typename T> void PQ_ComplHeap&lt...

2020-02-08 18:09:29

优先级队列(Priority Queue)(一)

一.概述优先级队列和通常的栈和队列一样,只不过里面的每一个元素都有一个”优先级”,在处理的时候,首先处理优先级最高的。如果两个元素具有相同的优先级,则按照他们插入到队列中的先后顺序处理。优先级队列可以通过链表,数组,堆或者其他数据结构实现。如果用数组来实现的话,如果插入操作是简单的在最后插入的话,其Insert的复杂度是O(1),但是相对应的其查找最高优先级元素的复杂度就是O(n),...

2020-02-08 11:25:48

跨卡同步 Batch Normalization

一.为什么要跨卡同步 Batch Normalization现有的标准 Batch Normalization 因为使用数据并行(Data Parallel),是单卡的实现模式,只对单个卡上对样本进行归一化,相当于减小了批量大小(batch-size)。 对于比较消耗显存的训练任务时,往往单卡上的相对批量过小,影响模型的收敛效果。 之前在在图像语义分割的实验中,就发现使用大模型的效果反而变差,...

2019-12-29 18:02:41

Filter Response Normalization Layer(FRN)

一.概述目前主流的深度学习模型都会采用BN层(Batch Normalization)来加速模型训练以及提升模型效果,对于CNN模型,BN层已经上成为了标配。但是BN层在训练过程中需要在batch上计算中间统计量,这使得BN层严重依赖batch,造成训练和测试的不一致性,当训练batch size较小,往往会恶化性能。GN(Group Normalization)通过将特征在channel维度...

2019-12-29 16:10:59

ACNet: Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric Convolution Blocks

一.概述提出了一个Asymmetric Convolution Block (ACB),可以在普通的网络中加入一些ACB来代替普通的卷积,这个仅在训练的时候起作用,然后测试的时候可以使得网络恢复之前的结构,所以这种方法是提升了网络的性能但是完全不会破坏网络,所以原作者说是白给的性能。但是这个性能的提升也是以训练时间增加40%换来的。所以具体能不能应用到实际业务中就是仁者见仁智者见智了。二....

2019-12-27 21:24:56

马尔可夫链蒙特卡罗算法(MCMC)-(三)

在马尔可夫链蒙特卡罗算法(MCMC)-(二)中我们讲到给定一个概率平稳分布π, 很难直接找到对应的马尔科夫链状态转移矩阵P。而只要解决这个问题,我们就可以找到一种通用的概率分布采样方法,进而用于蒙特卡罗模拟。本篇我们就讨论解决这个问题的办法:MCMC采样和它的易用版M-H采样。一.马尔科夫链的细致平稳条件在解决从平稳分布π, 找到对应的马尔科夫链状态转移矩阵P之前,我们还需要先看看马尔科夫...

2019-12-22 11:26:54

马尔可夫链蒙特卡罗算法(MCMC)-(二)

在马尔可夫链蒙特卡罗算法(MCMC)-(一)中,我们讲到了如何用蒙特卡罗方法来随机模拟求解一些复杂的连续积分或者离散求和的方法,但是这个方法需要得到对应的概率分布的样本集,而想得到这样的样本集很困难。因此我们需要本篇讲到的马尔科夫链来帮忙。一.马尔可夫链概述马尔科夫链定义本身比较简单,它假设某一时刻状态转移的概率只依赖于它的前一个状态。举个形象的比喻,假如每天的天气是一个状态的话,那...

2019-12-21 20:21:18

马尔可夫链蒙特卡罗算法(MCMC)-(一)

作为一种随机采样方法,马尔科夫链蒙特卡罗(Markov Chain Monte Carlo,以下简称MCMC)在机器学习,深度学习以及自然语言处理等领域都有广泛的应用,是很多复杂算法求解的基础。比如分解机(Factorization Machines)推荐算法,还有受限玻尔兹曼机(RBM),都用到了MCMC来做一些复杂运算的近似求解。下面我们就对MCMC的原理做一个总结。MCMC方法是用来在...

2019-12-21 17:39:45

FCOS详解S:FullyConvolutionalOne-StageObjectDetection

这玩意和基于anchor的有异曲同工之处,anchor-based是一个点对应n个anchor,而这玩意是每一个点对应一个box。训练时:基于anchor的方法是在featuremap的每一个点上产生anchor,然后将anchor映射回原图求gt与anchor的iou,大于一定阈值就认为是正样本,进行gt与anchor的坐标偏移回归,并且进行分类的训练。而这玩意是对于featurema...

2019-12-20 10:37:54

python装饰器_2

由于函数也是一个对象,而且函数对象可以被赋值给变量,所以,通过变量也能调用该函数。>>> def now():... print('2015-3-25')...>>> f = now>>> f()2015-3-25函数对象有一个__name__属性,可以拿到函数的名字:>>> now.__na...

2019-12-12 22:24:07

python装饰器_1

装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。先来看一个简单例子:...

2019-12-12 22:18:06

Global Average Pooling

一.简介大牛在NIN(Network in Network)论文中提到了使用全局平局池化层代替全连接层的思路,以下是摘录的一部分资料:global average poolilng。既然全连接网络可以使feature map的维度减少,进而输入到softmax,但是又会造成过拟合,是不是可以用pooling来代替全连接。答案是肯定的,Network in Network工作使用GAP来取...

2019-12-11 22:31:58

PSPNet

一.概述Pyramid Scene Parsing Network(PSPNet)是CVPR2017上关于场景解析的文章,拿到了2016年ImageNet比赛中scene parsing任务的冠军,当然也常用来做语义分割。这篇文章出发点是在语义分割算法中引入更多的上下文信息(context information), 这样能够避免许多误分割,PSPNet在FCN算法的基础上引入更多上下文信息是...

2019-12-11 21:58:25

ThunderNet

一.Abstracttwo-stage lightweighted backbone for object detection efficient rpn and detection head design To generate more discriminative feature representation, we design two efficient architectu...

2019-12-07 14:06:04

感受野

感受野是卷积神经网络里面最重要的概念之一,为了更好地理解卷积神经网络结构,甚至自己设计卷积神经网络,对于感受野的理解必不可少。一.定义感受野是卷积神经网络里面最重要的概念之一,为了更好地理解卷积神经网络结构,甚至自己设计卷积神经网络,对于感受野的理解必不可少。在机器视觉领域的深度神经网络中有一个概念叫做感受野,用来表示网络内部的不同位置的神经元对原图像的感受范围的大小。在学习计...

2019-11-17 10:54:57

分类问题的评价指标

一.概述 二.理论其中精度是检索出相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率;召回率是指检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率。一般来说,Precision就是检索出来的条目(比如:文档、网页等)有多少是准确的,Recall就是所有准确的条目有多少被检索...

2019-11-16 16:55:45

Inception系列

一.Inception V1Inception v1的原始Inception module如下所示: 首先解释一下这种Inception module的好处,从Alexnet到VGG,网络层次不断增加,深度不断增加,但是却忽视了广度上的增加,而Inception就是在广度上增加,同时使用不同的卷积核大小,3*3,5*5,1*1,这些不同卷积...

2019-11-11 23:13:44

east文本检测

一.简介近年来,提取和理解在自然场景中的文本信息变得越来越重要和普遍,ICDAR系列竞赛的参与者的数量以及NIST发起的TRAIT 2016评估都证明了这一点。文本检测作为文本识别、机器翻译等后续过程的前提条件,其核心是区分文本和背景。传统方法使用手动设计特征以获得文本属性,而现在基于深度学习直接从训练数据中学习有效特征,可获得更加鲁棒的高级特征。现有的无论是传统的还是基...

2019-10-07 21:30:19

MobileNet_v2

一.概述MobileNetV1网络是一条路的单通道结构,没有feature map的复用。ResNet和DenseNet等网络的提出,也验证了feature map复用对提升网络性能的有效性,MobileNetV2便应运而生。MobileNetV2提出使用 inverted residual with linear bottleneck,有很大residual block的影子在里面。接下来便...

2019-11-07 16:34:44

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。