deep learning
文章平均质量分 76
fffupeng
只要你努力微笑,命运也会惧怕你的獠牙。
展开
-
caffe 添加Python层
本文在mnist中添加Python层,作为修改,在本文中不仅介绍如何添加层,还会涉及到修改层的一些思路。首先在train_test_lenet.prototxt中添加MyPythonLayer一层,如下图所示:该层的主要作用就是将输入加上10,并输出,同事输入输出的维度不变。接下来就是具体的代码实现。在caffe/python 下面添加mypythonLayer.py原创 2017-06-28 12:29:08 · 6429 阅读 · 4 评论 -
前馈网络训练的困难
(早期)神经网络通常使用随机初始化和标准的梯度下降法来训练,但是效果不好,这是由于非线性激活层饱和(虽然有时能够自己走出饱和区域)。 目前已经通过良好的初始化和一些训练策略取得了较好的训练效果。 尤其是无监督的预训练(目前来看已经是标准的初始化操作),可能的原因是由于无监督的预训练相当于正则化矩阵,将参数设为更加容易收敛的状态。 但是目前我们致力于分析是什么样的原因使得训练多层深度网络变差。原创 2017-05-18 18:37:21 · 680 阅读 · 0 评论 -
alexnet 通过深度卷积对ImageNet图像进行分类
imagenet上使用深度卷积网络 背景介绍 目前的数据集太小,而复杂的图像分类和识别任务需要更多的数据训练。 对于大量的数据又需要容量大的网络,cnn网络可以通过调节宽度和深度来调节网络的容量。cnn相比于标准的前馈网络有较少的链接和参数(归功于卷积操作共享权重),易于训练。 与此同时,高性能gpu以及经过优化的2d卷积可以帮助训练。 本文主要贡献: 1、训练了深度卷积网原创 2017-05-22 23:43:25 · 5316 阅读 · 0 评论 -
network in network论文
本文主要是对传统的卷积网络进行改进,关键点有两个: 第一:mlpconv 第二:全局平均池化 传统的cnn可以看做是广义线性模型GLM,所以cnn觉得潜在的概念都是线性可分的。(但是cnn+非线性激活不是能模拟出非线性吗?)但是一些数据是非线性、多维度的,因此提出将卷积替换为更多小部分的非线性函数,从而提升模型的抽象能力。 作者通过mlpconv模拟多部分非线性函数。具体结构如下图:原创 2017-05-26 09:46:06 · 584 阅读 · 0 评论 -
googlenet 论文
0、 inception结构 利用网络中的计算资源,增加网络的宽度和深度,但保持计算量不变。 1、 本文中,首先创新点在于算法和网络结构; 其次注意了移动端和嵌入式的场景,考虑内存和功耗,所以提出的结构并不是固定的,参数少,计算量少。 因此提出了高效的深度神经网络结构,称为inception,灵感来源于Network in Network。 在该案例中,网络的深原创 2017-05-26 10:23:39 · 476 阅读 · 0 评论 -
参数更新方法
梯度下降法,动量下降, 代码实现 https://github.com/hsmyy/zhihuzhuanlan/blob/master/momentum.ipynb 1、梯度下降法 加大梯度下降的步长 继续加大步长 2、动量更新 Momentum改进自SGD算法,让每一次的参数更新方向不仅仅取决于当前位置的梯度,还受到上一次参数更新方向的影响。 v = mu * v原创 2017-05-26 16:33:44 · 3738 阅读 · 0 评论 -
overfeat论文待续
从文章题目来看,Integrated recognition,localization and detection using convolutional network,就是将分类、定位、检测通过卷积网络整合在一起。 本文作者展示了: 1、在卷积网络中使用多尺度的滑动窗 2、介绍了通过训练深度网络来预测物体的定位框 3、可以使用一个网络同时进行多项任务 首先来理一理这分类,定位,原创 2017-06-02 21:58:46 · 648 阅读 · 0 评论 -
fcn语义分割 论文
全卷积网络: 个人认为本文主要是两个重点: 第一是fcn,全卷积网络(+上采样) 第二是skip net 首先说全卷积网络: 通常cnn在卷积层后会接上若干全连接层,但是全连接层和卷积层的连接数量是固定的,这也就导致了输入必须是固定的尺寸。如下图所示: 但是在fcn中将fc用卷积取代,再加上采样层,这样能够输入任何大小的图片,同时输出图片相应大小的语义分割。如下图所示:原创 2017-06-04 11:33:45 · 1093 阅读 · 0 评论 -
r-fcn论文
这是一篇基于全卷积网络的目标识别,baseline是用resnet。当然不是使用resnet+faster rcnn那么简单。 问题来源: translation invariance 和translation variance 卷积网络最初兴起于分类任务,当然效果是越来越好,而一般的目标识别的网络也是通过分类的网络提取特征(zf,vgg,res等等),再加上一系列的操作(roi,bound原创 2017-06-07 13:00:19 · 472 阅读 · 0 评论 -
在线难例挖掘 论文
这篇论文主要就是在faster rcnn上加上了online hard example mining,论文还是比较容易理解的。 首先回顾一下,faster rcnn的mini batch 的生成过程。 在faster rcnn中mini batch设定为2张图片,每张图片生成128个roi,然后输入进入roi网络。 如下图(这是fast rcnn的图,faster rcnn中rpn和de原创 2017-06-11 15:19:48 · 6358 阅读 · 1 评论 -
tips/tricks in deep neural network
1、数据集的扩增 现在数据集扩增成为训练深度网络的必须步骤 1.1 水平翻转,随机剪裁,颜色抖动(color jittering)(HSV空间中,改变s和v分量) 1.2 fancy pca step1: 计算rgb三个分量的协方差(注意转为一维) im = cv.imread('1_1.png')#读入图片数据 b,g,r = c原创 2017-06-14 18:22:47 · 408 阅读 · 0 评论 -
SSD 安装日志
s1: git clone cd caffe git checkout ssd s2: cp Makefile.config.example Makefile.config make -j8 make py make test -j12 make runtest –j12 出现问题: 缺少-lopenblas sudo apt-get install open原创 2017-06-17 14:27:09 · 614 阅读 · 0 评论 -
lec6 训练神经网络2
参数的更新: 详见 http://blog.csdn.net/fffupeng/article/details/72771325 SGD:(沿着梯度负方向更新参数) 在上图中x方向的长度远大于其他方向,损失函数在水平方向上比较浅,在垂直方向上比较深。如上图,很明显下降的速度比较慢。 Momentum update: 动量更新不仅考虑了当前的动量-learning_rate原创 2017-06-18 21:30:57 · 337 阅读 · 0 评论 -
导数,偏导,方向倒数,梯度
知乎链接 https://www.zhihu.com/question/36301367 导数: 导数不仅仅表示该点切线的斜率,还反应了函数在该点的变化率。 偏导数: 偏导数仅仅是表示某点在x方向的导数和再y轴方向的导数。 这反应了偏导数的局限性,仅仅是多元函数沿着坐标轴的变化率,但是如上图,在M0点处存在很多方向的偏导数(并不仅仅x和y方向)。这就引出了方向导数。原创 2017-06-20 23:34:26 · 13462 阅读 · 1 评论 -
resnet 论文
问题:深度的神经网络很难训练 解决方法:我们通过残差学习网络,训练更深的网络,实验显示深度残差网络很容易收敛并且通过加深网络更容易提升准确率。 问题由来: 网络的深度对于计算机视觉任务非常重要,很多事实证明更深的网络能获得更好的效果。 但是训练很深的网络并不容易,原因如下: 1、梯度消失:这个问题通过normalized initialization和Batch normaliza原创 2017-05-18 00:08:51 · 3413 阅读 · 0 评论