深度学习 笔记
文章平均质量分 76
zxyhhjs2017
这个作者很懒,什么都没留下…
展开
-
深度学习---之bias
reference:https://www.zhihu.com/question/68247574实际上,bias相当于多了一个参数。在增加网络少量拟合能力的情况下,bias和其它普通权值相比无论前向还是后向,计算上都要简单,因为只需要一次加法。同时,bias与其它权值的区别在于,其对于输出的影响与输入无关,能够使网络的输出进行整体地调整,算是另一维自由度吧。放在二维上,权值相当于直...转载 2019-07-04 18:00:40 · 3479 阅读 · 0 评论 -
深度学习之---为什么pre-trained会起作用
DeCAF: A deep convolutional activation feature for generic visual recognition很多视觉识别的挑战性任务都只有相对小的数据集。作者探究能否将一个由ImageNet (一个很大的数据集)训练来的卷积神经网络DeCAF泛化到其他可用数据较少的任务。该模型可以被认为是一个基于有监督预训练(pre-training)阶段的迁...转载 2018-10-17 15:07:27 · 3274 阅读 · 0 评论 -
深度学习之----多任务学习
介绍 在机器学习(ML)中,通常的关注点是对特定度量进行优化,度量有很多种,例如特定基准或商业 KPI 的分数。为了做到这一点,我们通常训练一个模型或模型组合来执行目标任务。然后,我们微调这些模型,直到模型的结果不能继续优化。虽然通常可以通过这种方式使模型达到可接受的性能,但是由于我们的关注点集中在单个任务上,我们忽略了可能帮助优化度量指标的其它信息。具体来说,这些信息来自相关任务的训练信...转载 2018-10-17 13:56:18 · 7979 阅读 · 1 评论 -
yolo官网
yolov3官方运行网站:https://pjreddie.com/darknet/yolo/原创 2018-10-15 20:53:15 · 9001 阅读 · 0 评论 -
深度学习之---yolov1,v2,v3详解
(写在前面:如果你想 run 起来,立马想看看效果,那就直接跳转到最后一张,动手实践,看了结果再来往前看吧,开始吧······)一、YOLOv1 简介这里不再赘述,之前的我的一个 GitChat 详尽的讲述了整个代码段的含义,以及如何一步步的去实现它,可参照这里手把手实践YOLO深度残差神经网络拐点检测二、YOLOv2 简介V1 版本的缺陷和不足,就是 V2 版本出现的源泉与动力,...转载 2018-10-11 15:33:05 · 89467 阅读 · 4 评论 -
深度学习之---yolov1,yolov2,yolov3
转载:http://www.cnblogs.com/makefile/p/YOLOv3.htmlYOLO主页 https://pjreddie.com/darknet/yolo/Kmeans计算anchors的方法:https://github.com/PaulChongPeng/darknet/blob/master/tools/k_means_yolo.py ...转载 2018-10-11 14:58:33 · 772 阅读 · 0 评论 -
深度学习之---yolov1,yolov2
一、YOLO这是继RCNN,fast-RCNN 和 faster-RCNN之后,rbg(Ross Girshick)大神挂名的又一大作,起了一个很娱乐化的名字:YOLO。 虽然目前版本还有一些硬伤,但是解决了目前基于DL检测中一个大痛点,就是速度问题。 其增强版本GPU中能跑45fps,简化版本155fps。论文下载:http://arxiv.org/abs/1506.02640 代...转载 2018-10-11 14:54:48 · 369 阅读 · 0 评论 -
深度学习之---yolo,kmeans计算anchor框源码解读
k-means原理K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。问题K-Means算法主要解决的问题如下图所示。我们可以看到,在图的左边有一些点,我们用肉眼可以看出来有四个点群,K-Means算法被用来找出这几个点群。算法概要...转载 2018-10-11 14:51:55 · 6629 阅读 · 7 评论 -
深度学习---之各种不他的卷积
参考:https://zhuanlan.zhihu.com/p/28749411https://zhuanlan.zhihu.com/p/28186857https://blog.yani.io/filter-group-tutorial/https://www.zhihu.com/question/54149221http://blog.csdn.net/guvcolie/article/det...转载 2018-09-04 21:35:59 · 653 阅读 · 0 评论 -
深度学习---之对pad的一些理解
为什么要进行pad?网上给出的答案就是pad可以让你的输入图像不变小,而可以使用更深层的卷积。如下所示:其实你仔细思考,0填充使得图像大小不变,且能够进行更深层次的卷积,但是必定会有一些影响。具体什么影响呢,其实手动草稿画图后,你可以发现,相比于不用pad,用了pad之后,会对原有图像的像素点有更多的信息保留下来,具体可以画图理解...原创 2018-08-21 16:43:49 · 6208 阅读 · 1 评论 -
深度学习之---使用lmdb制作非图像数据如浮点型数据和整形数据
参考:https://github.com/BVLC/caffe/issues/2116To write data into lmdb:if vector.dtype == np.int:datum.data = vector.tostring()elif vector.dtype == np.float:datum.float_data.extend(vector.flat)To rea...原创 2018-07-20 16:19:49 · 728 阅读 · 0 评论 -
深度学习---之不同loss的变化情况,之有可能的问题
转载:http://doc.okbase.net/jacke121/archive/283490.html转载 2018-07-25 21:06:44 · 8084 阅读 · 1 评论 -
深度学习---之caffe出现的一些问题
最近使用caffe的问题:1.Restart prefetching data from start原因:(1).solver文件中test_iter设置太大,test_iter和测试的batchSize相乘大于整个测试集(2).网速问题,因为集群的存储节点和服务器是通过局域网相连接的(3).GPU读取速度过快2.制作数据集的时候label不能是浮点型,必须是整形3.一...原创 2018-07-18 21:20:39 · 375 阅读 · 0 评论 -
深度学习之---如何更好的finetune
Deep Learning或者说CNN在图像识别这一领域取得了巨大的进步,那么自然我们就想将CNN应用到我们自己的数据集上,但这时通常就会面临一个问题:通常我们的dataset都不会特别大,一般不会超过1万张,甚至更少。这种情况下,直接使用train from scratch的方式在小数据集上容易过拟合,尤其是在数据分布差异化很大的场景下。然后就有了迁移学习了,Transfer Learnin...转载 2018-10-17 15:42:09 · 1809 阅读 · 0 评论 -
深度学习之---语义分割+视频分割 开源代码文献集合
语义分割Light-Weight RefineNet for Real-Time Semantic SegmentationBMVC 2018https://github.com/DrSleep/light-weight-refinenet语义分割ESPNet: Efficient Spatial Pyramid of Dilated Convolutions for Semantic...转载 2018-10-17 15:43:08 · 2272 阅读 · 0 评论 -
深度学习之---deeplab
前言最近看了语义分割的文章DeepLab,写写自己的感受,欢迎指正。介绍图像语义分割,简单而言就是给定一张图片,对图片上的每一个像素点分类。这里写图片描述图像语义分割,从FCN把深度学习引入这个任务到现在,一个通用的框架已经大概确定了。即前端使用FCN全卷积网络输出粗糙的label map,后端使用CRF条件随机场/MRF马尔科夫随机场等优化前端的输出,最后得到一个精细的分割图。...转载 2018-10-23 18:30:39 · 1305 阅读 · 0 评论 -
yolo之---非极大值抑制
最近在学习RCNN时看到了非极大值抑制,一开始有点不明白,在网上学习了之后记录一下。非极大值抑制就是一个寻找局部最大值的过程。在进行目标检测时一般会采取窗口滑动的方式,在图像上生成很多的候选框,然后把这些候选框进行特征提取后送入分类器,一般会得出一个得分(score),比如人脸检测,会在很多框上都有得分,然后把这些得分全部排序。选取得分最高的那个框,接下来计算其他的框与当前框的重合程度(io...转载 2019-06-28 22:10:00 · 3656 阅读 · 0 评论 -
当卷积层后跟batch normalization层时为什么不要偏置b
起因之前使用的是inception-v2模型,在v2中,标准的卷积模块为:* conv_w_b->bn->relu ->pooling*即,在v2中,尽管在卷积之后、激活函数之前大量使用batch normalization,但是卷积层依然使用可学习的偏置参数。这也比较符合我的直观理解,因为偏置在一般的卷积神经网络中本来就是很重要的,可以让超判决面不过原点。但是我在...转载 2019-05-09 15:07:55 · 1104 阅读 · 1 评论 -
深度学习之----各种学习策略
https://blog.csdn.net/tsyccnh/article/details/76270707转载 2019-05-06 17:24:15 · 1393 阅读 · 0 评论 -
变分编码器
首页 信息时代 变分自编码器(一):原来是这么一回事18 Mar变分自编码器(一):原来是这么一回事By 苏剑林 | 2018-03-18 | 69844位读者 |过去虽然没有细看,但印象里一直觉得变分自编码器(Variational Auto-Encoder,VAE)是个好东西。于是趁着最近看概率图模型的三分钟热度,我决定也争取把VAE搞懂。于是乎照样翻了网上很多资料,无一例外发...转载 2019-03-22 15:57:51 · 355 阅读 · 0 评论 -
神经网络中的不变性
个人认为cnn中conv层对应的是“等变性”(Equivariance),由于conv层的卷积核对于特定的特征才会有较大激活值,所以不论 上一层特征图谱(feature map)中的某一特征平移到何处,卷积核都会找到该特征并在此处呈现较大的激活值。这应该就是“等变性”这种“等变性”是由conv层的 1局部连接 2权值共享 两个特性得到的。所谓的“形变不变性”,应该指的是,若是特征有较小的...转载 2019-01-09 20:56:48 · 2477 阅读 · 0 评论 -
深度学习之----双线性插值,转置卷积,反卷积的区别与联系
一.线性插值这里讲解线性插值法的推导为了给双线性插值公式做铺垫。 线性插值法是指使用连接两个已知量的直线来确定在这个两个已知量之间的一个未知量的值的方法。二.双线性插值双线性插值是插值算法中的一种,是线性插值的扩展。利用原图像中目标点四周的四个真实存在的像素值来共同决定目标图中的一个像素值,其核心思想是在两个方向分别进行一次线性插值。三转置卷积:考虑正...转载 2018-12-17 14:45:43 · 8887 阅读 · 1 评论 -
深度学习---之segnet
原文地址:SegNet复现详解:http://mi.eng.cam.ac.uk/projects/segnet/tutorial.html实现代码: github TensorFlow简介: SegNet是Cambridge提出旨在解决自动驾驶或者智能机器人的图像语义分割深度网络,开放源码,基于caffe框架。Seg...转载 2018-12-17 11:18:06 · 466 阅读 · 0 评论 -
caffe---之如何实现多任务学习
一.制作数据集:首先制作lmdb的多任务标签,使用python来做代码如下(做两个lmdb一个用于存储data,一个用于存储label,这是训练集的做法,验证集同理): X = np.arange(4356).reshape(4,33,33) map_size = X.nbytes*100000*2 env_data = lmdb.open('/yourlmdbpa...原创 2018-12-14 13:30:30 · 480 阅读 · 0 评论 -
深度学习之---yolo源代码部分分析
yolo代码是用c写的,我们先从主函数开始:main:int main(int argc, char **argv){ //test_resize("data/bad.jpg"); //test_box(); //test_convolutional_layer(); if(argc < 2){ fprintf(stderr, "u...原创 2018-12-19 21:32:28 · 704 阅读 · 0 评论 -
深度学习之---global pooling
Golbal Average Pooling 第一次出现在论文Network in Network中,后来又很多工作延续使用了GAP,实验证明:Global Average Pooling确实可以提高CNN效果。Traditional Pooling Methods要想真正的理解Global Average Pooling,首先要了解深度网络中常见的pooling方式,以及全连接层。众所...转载 2018-11-19 21:01:31 · 659 阅读 · 0 评论 -
caffe---之多任务学习
https://www.cnblogs.com/linyuanzhou/p/6370677.html转载 2018-11-19 14:53:49 · 218 阅读 · 0 评论 -
深度学习之---复杂性分析(参数量和计算次数)
卷积神经网络的复杂度分析Michael Yuan转行修行中在梳理CNN经典模型的过程中,我理解到其实经典模型演进中的很多创新点都与改善模型计算复杂度紧密相关,因此今天就让我们对卷积神经网络的复杂度分析简单总结一下下。本文主要关注的是针对模型本身的复杂度分析(其实并不是很复杂啦~)。如果想要进一步评估模型在计算平台上的理论计算性能,则需要了解 Roofline Model 的相关...转载 2018-10-30 11:17:18 · 11538 阅读 · 1 评论 -
深度学习之---loss等于87.336
如题,在caffe训练时,遇到这个特殊的数字之后,loss会一直就是这个数字。网上虽然有很多针对这个问题调参的trick,但少有详细的分析,因此,有必要研究一下caffe的源代码。softmax的公式为pk=exp(xk)∑iexp(xi)其中x为softmax前一层的输出softmax的loss计算公式也很简单,就是对softmax之后预测的概率做对数似然函数loss=−∑ky...转载 2018-07-18 20:53:21 · 1452 阅读 · 0 评论 -
深度学习之----Must Know Tips/Tricks in Deep Neural Networks
http://210.28.132.67/weixs/project/CNNTricks/CNNTricks.html转载 2018-07-17 16:19:00 · 946 阅读 · 0 评论 -
深度学习---之batch size的影响
程引To infinity and beyond.谈谈深度学习中的 Batch_SizeBatch_Size(批尺寸)是机器学习中一个重要参数,涉及诸多矛盾,下面逐一展开。首先,为什么需要有 Batch_Size 这个参数?Batch 的选择,首先决定的是下降的方向。如果数据集比较小,完全可以采用全数据集 ( Full Batch Learning )的形式,这样做至少有 2 个好处:其一,由全数...转载 2018-01-23 21:31:03 · 950 阅读 · 0 评论 -
深度学习之---batchsize与lr rate之间的关系以及批处理梯度下降法
雷锋网 AI科技评论按,本文源自谭旭在知乎问题【如何理解深度学习分布式训练中的large batch size与learning rate的关系?】下的回答,雷锋网(公众号:雷锋网) AI科技评论获其授权转载。问题详情:在深度学习进行分布式训练时,常常采用同步数据并行的方式,也就是采用大的batch size进行训练,但large batch一般较于小的baseline的batch s转载 2018-01-23 21:10:05 · 10192 阅读 · 0 评论 -
深度学习---之各种反传算法
Geoffery Hinton教授的Neuron Networks for Machine Learning的第六讲介绍了随机梯度下降法(SGD),并且介绍了加快学习速度的动量方法(the momentum method)、针对网络中每一个连接的自适应学习步长(adaptive learning rates for each connection)和RMSProp算法。这几个算法的难度很大,需转载 2018-01-23 21:07:31 · 850 阅读 · 0 评论 -
深度学习---之梯度消失与梯度爆炸产生的原因
产生消失的梯度问题的原因先看一个极简单的深度神经网络:每一层都只有一个单一的神经元。如下图:代价函数C对偏置b1的偏导数的结果计算如下:先看一下sigmoid 函数导数的图像:该导数在σ′(0) = 1/4时达到最高。现在,如果我们使用标准方法来初始化网络中的权重,那么会使用一个均值为0 标准差为1 的高斯分布。因此所有的权重通常会满足|wj转载 2018-01-23 14:23:56 · 2815 阅读 · 0 评论 -
深度学习---之卷积层与全连接层的区别
一.全连接层: 全连接层需要把输入拉成一个列项向量,如下图所示: 比如你的输入的feature map是2X2,那么就需要把这个feature map 拉成4X1的列向量,如果你的feature map 的channels是3,也就是你的输入是3X2X2,也就是相当于有了12个像素点,你就需要把feature map 拉成12X1的列向量,原创 2017-11-22 17:09:24 · 48654 阅读 · 6 评论 -
[服务器搭建]----ubuntu14.04+cuda8.0+matlab+opencv+cudnn+caffe超级详细教程
首先在阅读这篇文章前要做好心理准备:一.caffe是最难安装的软件,没有之一,所以你要做好出现各种问题的准备。二这篇文章本身不短,所以请耐心仔细读下去,如果出现问题欢迎跟博主讨论.准备工作:1.1首先查看自己的电脑的显卡是否支持nvidia驱动:(看看这个表里有没有你的驱动)点击打开链接1.2如果提示你安装依赖的问题,则有可能是Ubuntu源的问题,需要更换源,原创 2017-12-01 19:30:44 · 382 阅读 · 0 评论 -
深度学习---之显存单位,KiB,MiB与MB区别
转载:http://blog.csdn.net/starshine/article/details/8226320KiB、MiB与KB、MB的区别原创 2012年11月26日 16:16:42标签:单位 信息存储 原来没太注意MB与MiB的区别,甚至没太关注还有MiB这等单位,今天认真了一下,发现两者还是有区别的,具体的差别是MB等单位转载 2018-01-01 19:41:19 · 7697 阅读 · 0 评论 -
深度学习---之全卷积神经网络取代全连接层--用于图像分割
转载:http://www.cnblogs.com/gujianhan/p/6030639.html背景CNN能够对图片进行分类,可是怎么样才能识别图片中特定部分的物体,在2015年之前还是一个世界难题。神经网络大神Jonathan Long发表了《Fully Convolutional Networks for Semantic Segmentation》在图像语义分割挖了一个坑,于是无...转载 2017-11-22 14:27:24 · 35402 阅读 · 0 评论 -
深度学习---之softmax与交叉熵
交叉熵到底是如何来定义损失函数的呢?首先看下面的公式:不用完全对着上图公式看,因为我的解释没有加上log和-号,你只要看懂文字,加log和-号是一回事q()表示神经网络的预测值p()表示样本属于某一类(ground truth)的概率:这个是真实值,什么意思呢?(1)就是我输入一个猫的图片,这个时候如果q(x=狗)预测这个图片为x=狗的概率是0.8,但是p()这个这原创 2017-11-24 15:50:44 · 900 阅读 · 0 评论 -
深度学习---之pooling层的作用与缺陷
作者:谢志宁链接:https://www.zhihu.com/question/36686900/answer/130890492来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。个人觉得主要是两个作用:1. invariance(不变性),这种不变性包括translation(平移),rotation(旋转),scale(尺度)2. 保原创 2017-11-22 19:51:20 · 19646 阅读 · 6 评论