- 博客(15)
- 收藏
- 关注
原创 focal loss
focal loss希望在解决样本loss不均衡的同时解决难易样本loss不均衡的问题。对于样本不均衡,可以通过人为调整不同类别样本的loss系数;而对于难易样本不均衡,则通过引入系数gamma解决。注意区分样本不均衡(包括类别间分布不均衡和正负样本不均衡)和难易样本不均衡。...
2018-03-31 15:27:59
223
原创 神经网络权值初始化的原则
A proper initialization method should avoid reducing or magnifying the magnitudes of input signals exponentially. 合适的初始化方法应当避免指数地减小或增大输入信号的大小。因此,为了控制输出信号的大小,初始化权值的方差应当相应的减小,这就是Xavier和MSRA参数初始化方式的由来。那么...
2018-03-22 16:41:48
1022
原创 为啥残差网络效果好
1、看成一种特征融合2、看成是一种确保深层网络性能不弱于浅层网络的方法3、学习H(x)-x比直接学习F(x)更容易。F(x)=H(x)-x唯独没有残差的影响...
2018-03-21 16:24:53
1876
原创 个人对MobileNet V2的理解
我不准备具体描述MobileNet V2的结构。我只想在论文中寻找一些更加本质的东西,关于普通卷积分解、feature map线性组合以及激活函数的,更加本质的东西。首先,引入一个概念,layer activation。指的其实就是是卷积层的输出。我们知道layer activation是有冗余信息的,也就意味着其中所包含的有用信息具有潜在的稀疏性。如果把layer activation看成一个N...
2018-03-16 22:22:16
2431
1
原创 深度学习中的MTL效果为什么会好
对MTL的分析可以从两个角度进行,第一个是feature representation共享,第二个是regularization。1、特征共享。人们发现神经网络有很强的特征表达能力,其提取出的特征虽然维度不高但是能包含丰富的信息,这来自于神经网络强大的特征提取和表达能力吗,其提取的特征远强于人hand-crafted的特征,包含了更加高效线性可分的特征。这就给MTL在神经网络中的应用提供了潜力,多...
2018-03-15 16:27:33
1700
原创 将非递归改为递归的一般思路
基本思路就是...使用一个堆栈来手动实现递归233333我们首先要分析递归的特点:函数内调用函数,函数执行完成后再返回外部函数。怎么用堆栈实现这个过程呢?不再是调用函数处理新生成的参数,而是将要处理的参数放到堆栈里,放在下一次循环中处理。总而言之,使用堆栈记录下一步需要进行的处理,使用的时候要注意顺序,递归中先A后B,在迭代中要先把B放到堆栈里再把A放到堆栈里。一个典型的应用就是非递归版的深度优先...
2018-03-12 20:00:25
525
原创 堆和堆排序
先从堆说起,堆是一种树状结构,特点是父节点大于子节点,子节点之间不存在强制的大小关系(这一点上不同于二叉搜索树)。堆的特点允许我们在数组中按照层的顺序存储堆的所有节点。设任意一个节点的index为N,则它的两个子节点的index分别为2N和2N+1,除非此节点没有子节点。也就是说,堆是一个优先队列。啥是优先队列呢?就是队列中的最大值或最小值永远在队列的队首,分别叫最大优先队列和最小优先队列。优先队...
2018-03-12 19:07:17
214
原创 Conv2d的正向传播与反向传播
从Conv2D的正向传播说起为了快速计算conv2d,需要将conv2d整理成两个矩阵相乘的形式,例如WX,或者其转置形式。这里以XW为例,X的每一列表示一张feature map的所有方格,也就是将一个feature map的某一个3X3或者5X5区域先展平(flatten)成行向量,再将所有的小区域的行向量纵向拼接起来组成一个大的矩阵,矩阵的维度是((map_s-filter_size+pad...
2018-03-10 13:42:36
1029
原创 一种非递归遍历二叉树的方法
非递归遍历二叉树的基本思想是使用堆栈组织输出顺序,使用pair记录节点的左和右子树是否被遍历过。如何使用堆栈组织输出顺序?以后序遍历为例,后序遍历中最后输出父节点,也就是先将根节点入栈,再将右节点入栈,最后将左节点压入栈。这样在下一轮中,从堆栈中pop出的节点就是左节点,左节点的左节点和右节点还未被遍历,因此会进入下一轮同样的入栈....直到节点的左和右都是NULL,如果都是NULL,栈顶被pop...
2018-03-07 21:33:57
119
原创 C++类所占内存
From 牛客网:啥意思呢,意思就是不再MyClass内存结构中的都不算做类的内存,也就是类只包含长度为4的指向虚函数表的指针、成员变量。如果类不包含任何成员变量和虚函数,那么占用空间为1,这个1用来标记对象所在位置,但凡是有其它会占用实际空间的成员变量或者虚函数出现,就不再需要这歌1来标记对象所在位置了。...
2018-03-06 15:47:37
124
原创 C++中的const修饰词总结
1、const修饰一般变量时:使用const修饰的变量为常量,常量只有在声明时能被定义,且在此之后无法被修改。对于被修饰被const的类成员变量,只能在构造函数中以附加初始化列表的形式,也就是class():xxx()yyy(){}来进行初始化。2、const修饰指针时:const int *a等价于int const *a,表示a是一个指向常量的指针,作用就是*a无法作为作值,至于指向的int到...
2018-03-06 15:24:34
296
原创 使用分类标签训练弱检测器的方法(Heatmap)
总体思路非常简单,就是用一个小输入尺寸的分类器网络在输入图像上滑动。可以看作一种非常naive的检测算法,分类网络依旧对应Detection中的分类网络,没有修正bounding box位置的回归网络,没有RPL网络,没有针对多尺度的多尺度bounding box,不对输入图像做任何的预特征提取,直接在原图上进行了一个exausted search,然后针对每个类做非极大值抑制,找出每一个类的最大...
2018-03-06 11:20:57
671
原创 ShuffleNet之于MobileNet的改进点
总结一下ShuffleNet相比MobileNet在网络结构上的改进。先讲讲MobileNet。MobileNet是一种轻量级网络,其运行方式决定其在CPU和GPU上运行速度的差距比普通卷积神经网络要小,因为其读取非连续内存的次数相比普通神经网络要小。为什么呢?因为MobileNet中的3X3卷积的输入是一张来自上一层的feature map,而非来自上一层的全部feature map。举个例子,...
2018-03-06 10:50:54
1429
原创 关于BN防止过拟合的分析
BN论文对BN抑制过拟合的解释:When training with Batch Normalization, a training example is seen in conjunction with other examples in the mini-batch, and the training network no longer producing deterministic valu...
2018-03-05 23:50:28
8260
3
原创 感受野的计算
今天的面试中面试官提到了感受野的计算方式以及设计网络时如何考虑感受野。感受野定义了feature map上的一个点来自于原图的范围。规则1: stride的计算,某一层的stride等于之前所有层的stride的连乘积。规则2: 某一层感受野的计算,某一层的感受野指的是这一层的输出feature map上的一个点来自于原图的范围。某一层的感受野等于(前一层的感受野+(kernel_size-1)*...
2018-03-05 23:43:14
1372
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人