深度学习
文章平均质量分 55
kanei_ri
深度学习
展开
-
caffe的python layer
在prototxt中python layer的定义:layer { name: "data" type: "Python" #type必须是python, caffe编译的时候config里面 with python layer参数要打开 top: "data" top: "label" include { phase: TRAIN } python_par原创 2017-07-27 15:57:07 · 1448 阅读 · 0 评论 -
Paper Reading:Regional Multi-person Pose Estimation
这篇文章的主要目标是解决在野生图片下的多人姿态估计问题。原创 2016-12-20 21:45:38 · 3326 阅读 · 1 评论 -
Paper Reading:Spatial Transformer Networks(with code explanation)
原文:Spatial Transformer Networks前言:卷积神经网络(CNN)已经可以构建出一个强大的分类模型,但它仍然缺乏能力来应对输入数据的空间变换,。这篇文章提出了一种叫做空间变换网络(Spatial Transform Networks, STN)的模型,它能自动学习变换参数,对上一层的图像进行处理,在一定程度上自适应实现这些变换,从而实现对空间变换的不变性。原创 2016-12-14 17:25:35 · 3934 阅读 · 7 评论 -
深度学习笔记8:softmax层的实现
如果有什么疑问或者发现什么错误,欢迎在评论区留言,有时间我会一一回复softmax简介Softmax回归模型是logistic回归模型在多分类问题上的推广,在多分类问题中,待分类的类别数量大于2,且类别之间互斥。比如我们的网络要完成的功能是识别0-9这10个手写数字,若最后一层的输出为[0,1,0, 0, 0, 0, 0, 0, 0, 0],则表明我们网络的识别结果为数字1。S原创 2016-08-23 16:14:38 · 65622 阅读 · 14 评论 -
深度学习笔记5:池化层的实现
池化层的推导池化层的输入一般来源于上一个卷积层,主要作用是引入不变性,并且减少了冗余。池化层一般没有参数,所以反向传播的时候,只需对输入参数求导,不需要进行权值更新。池化层的前向计算前向计算过程中,我们对卷积层输出map的每个不重叠(有时也可以使用重叠的区域进行池化)的n*n区域(我这里为2*2,其他大小的pooling过程类似)进行降采样,选取每个区域中的最大值(max-原创 2016-08-19 14:01:14 · 33632 阅读 · 6 评论 -
深度学习笔记6:全连接层的实现
全连接层的推导全连接层的每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来。由于其全相连的特性,一般全连接层的参数也是最多的。全连接层的前向计算下图中连线最密集的2个地方就是全连接层,这很明显的可以看出全连接层的参数的确很多。在前向计算过程,也就是一个线性的加权求和的过程,全连接层的每一个输出都可以看成前一层的每一个结点乘以一个权重系数W,最后加上一个偏置值b得到,即原创 2016-08-21 14:31:06 · 70370 阅读 · 6 评论 -
深度学习笔记7:激活函数层的实现
如果有什么疑问或者发现什么错误,欢迎在评论区留言,有时间我会一一回复激活函数是用来引入非线性因素的。网络中仅有线性模型的话,表达能力不够。比如一个多层的线性网络,其表达能力和单层的线性网络是相同的(可以化简一个3层的线性网络试试)。我们前边提到的卷积层、池化层和全连接层都是线性的,所以,我们要在网络中加入非线性的激活函数层。一般一个网络中只设置一个激活层。激活函数一般具有以下性原创 2016-08-22 18:57:38 · 17083 阅读 · 0 评论 -
深度学习笔记1:神经网络理解
1、神经网络简介 神经网络是一种应用类似于大脑神经突触联接的结构进行信息处理的数学模型。神经元为神经网络中的基本组成单位, 下图为单个神经元的图片,如图所示,每个神经元的输入包含多个变量x1——xn以及一个偏置值b,同时输出h(x) = f(w1*x1+w2*x2+w3*x3+b),f(x)称激活函数。激活函数是用来加入非线性因素的,因为线性模型的表原创 2016-08-16 13:48:08 · 5808 阅读 · 8 评论 -
深度学习笔记9:权值更新的实现
权值更新在前面的反向传播中我们计算出每一层的权值W和偏置b的偏导数之后,最后一步就是对权值和偏置进行更新了。在之前的BP算法的介绍中我们给出了如下公式:其中的α为学习速率,一般学习率并不是一个常数,而是一个以训练次数为自变量的单调递减的函数。使用变化的学习率有以下几点理由:1、开始时学习率较大,可以快速的更新网络中的参数,是参数可以较快的达到目标值。而且由于每次更新的步原创 2016-08-24 20:09:08 · 21371 阅读 · 3 评论 -
深度学习笔记4:卷积层的实现
卷积层的推导卷积层的前向计算如下图,卷积层的输入来源于输入层或者pooling层。每一层的多个卷积核大小相同,在这个网络中,我使用的卷积核均为5*5。如图输入为28*28的图像,经过5*5的卷积之后,得到一个(28-5+1)*(28-5+1) = 24*24、的map。卷积层2的每个map是不同卷积核在前一层每个map上进行卷积,并将每个对应位置上的值相加然后再加上一个偏置原创 2016-08-18 14:02:19 · 49040 阅读 · 10 评论 -
深度学习笔记3:实现一个卷积神经网络
一、卷积神经网络(CNN)卷积神经网络(ConvolutionalNeural Network,CNN)是人工神经网络的一种。当前已经成为图像和语音识别领域有十分广泛的应用,特别是在识别位移、缩放及其他形式扭曲不变性的二维图形方面有十分优异的表现,已经成为一个十分重要的研究方向。关于CNN的详细解释可以看这里:http://blog.csdn.net/zouxy09/article/det原创 2016-08-17 18:21:15 · 8493 阅读 · 6 评论 -
cublas中的矩阵运算
Cublas是一个可以与cuda一同使用的函数库,它提供了多种矩阵运算的API,但是它列主序的存储方式却让人十分疑惑,今天我就以cublas中的矩阵乘法运算简单说一下我的理解。Cublas中的矩阵乘法运算函数有5个,分别是cublasSgemm、cublasDgemm、cublasCgemm、cublasZgemm、cublasHgemm,分别包括了不同数据类型的计算,比如单精度浮点、双精度浮原创 2016-08-17 18:28:54 · 11004 阅读 · 0 评论 -
深度学习笔记2:反向传播算法
1、损失函数 损失函数在统计学中是一种衡量损失和误差程度的函数,它一般包括损失项(loss term)和正则项(regularization term)。 损失项 损失项比较常见的有平方损失,常用在回归问题;以及对数损失函数,常用在分类问题。 正则项 加入正则项目的是减小权重的幅度,防止过度拟合。常用的有L1-r原创 2016-08-16 18:50:25 · 10918 阅读 · 6 评论 -
caffe的python接口使用方法示例
训练import sys#添加caffe下的python文件夹的路径sys.path.append("../caffe-master/python")import caffeimport numpy as npimport os#使用caffemodel进行训练weights = 'googlenet_bn_stepsize_6400_iter_1200000.caffemod原创 2017-07-27 15:50:37 · 2418 阅读 · 0 评论