自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 深度学习小白——DenseNet学习

原论文地址:https://arxiv.org/abs/1608.06993用Keras写的pre-model代码地址:https://github.com/flyyufelix/DenseNet-Keras一、主要原理其借鉴了ResNet的思想,用dense connectivity的方式更加缩短了头尾之间层的连接,使得在前向传播过程中,每一层都与其他所有层相连于是一

2017-11-27 16:17:44 8676

原创 MINI-RNN代码学习

代码来源:https://gist.github.com/karpathy/d4dee566867f8291f086这是一个简易的RNN代码,用于学习RNN的基本原理,前向传播和反向传播的基本式子【文本输入】import numpy as np# data I/Odata = open('input.txt', 'r').read() # should be simple pl

2017-08-02 10:50:19 1510

原创 CS231n——RNN

RNN的应用有很多:one to one:普通的神经网络结构,一个输入对应一个输出one to many: 将一幅图片输出一个句子,用于Image Captioningmany to one: 语句的情感分类,将一个句子分为积极还是消极的many to many:机器翻译以及视频分类(一个视频的类别由之前所有帧的函数得到)一、RNN的定义现在的状态ht由之前的状

2017-08-01 11:21:47 1636

转载 ROC,AUC,PR,AP及python绘制

参考:http://www.cnblogs.com/zf-blog/p/6734686.html一、Precision, recall & accuracyFalse positive: 预测为positive 但ground truth 为negativeFalse negative: 预测为negative 但是ground truth 为positiveprecisi

2017-07-07 14:31:39 4874

原创 深度学习小白——物体定位和检测

此篇是看CS231n的课后笔记,方便以后查阅,因为刚开始接触,如果有错误,欢迎指正~一、 Classification+Localization定位定位一般是指一张图有一个类别,有单个物体需要去定位常用数据库:ImageNet localization数据库对于分类任务:目标:分出类别输入:图像输出:图像类别评价指标:准确度对于定位任务:目标

2017-05-17 17:52:36 14864 1

原创 深度学习小白——CS231n Assignment2(CNN)

二、卷积神经网络【补1】np.pad(array, pad_width, mode, **kwargs)对矩阵进行填充,此处用0将图像矩阵进行填充,所用代码为x_pad[m][n]=np.pad(x[m][n], pad, 'constant', constant_values=0)当pad为单独一个数时,意味着在原数组上下左右角上填充pad*pad大小的数组,其余位置自动补齐

2017-05-13 17:37:29 2834 1

原创 深度学习小白——Alexnet之tensorflow实现

一、Alexnet简介2012年,Imagenet比赛冠军的model——Alexnet [2](以第一作者alex命名)。说实话,这个model的意义比后面那些model都大很多,首先它证明了CNN在复杂模型下的有效性,然后GPU实现使得训练在可接受的时间范围内得到结果,确实让CNN和GPU都大火了一把,顺便推动了有监督DL的发展。模型结构见下图,别看只有寥寥八层(不算inp

2017-05-02 14:00:04 2313 1

原创 深度学习小白——CS231n Assignment2(FC)

一、全连接神经网络【补1】np.prod(a, axis=None, dtype=None, out=None, keepdims=)返回矩阵在某一维上的乘积【补2】np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)以固定间隔在一个范围内返回规定的数目的数,即从start 开始,到st

2017-05-02 13:45:11 2949

原创 CS231n——Assignment1--2-layer-network

仅用Python实现一个两层的全连接网络我认为此任务的难点在于反向传播那块的代码,以前对反向传播认识比较浅显,亲手推算后,才真正理解了反向传播,我已把反向传播这块做了补充,详情见http://blog.csdn.net/margretwg/article/details/64920405(softmax梯度推导)http://blog.csdn.net/margretwg/articl

2017-04-18 21:20:59 1386

原创 深度学习小白——tensorflow(四)CIFAR-10实例

最近看了https://github.com/tensorflow/models/tree/master/tutorials/image/cifar10这个实例,里面有大量的tf库函数,看了好久才大概看个明白,想在此做个学习笔记,把一些函数用途以及整个CNN网络框架记录下来。一、数据读取因为之前写过,见http://blog.csdn.net/margretwg/article

2017-04-16 20:04:45 8806 3

原创 深度学习小白——Tensorflow(三) 读取数据

一个典型的文件读取管线会包含下面这些步骤:文件名列表可配置的 文件名乱序(shuffling)可配置的 最大训练迭代数(epoch limit)文件名队列针对输入文件格式的阅读器纪录解析器可配置的预处理器样本队列

2017-04-16 15:43:16 6957 1

原创 深度学习小白——Tensorflow(二)卷积

本文记录用两层卷积网络实现训练MNIST数据集先介绍一下所用核心函数1.tf.nn.conv2d(input,filter,strides,padding,use_cudnn_on_gpu=None,data_format=None,name=None)input:待卷积的数据,格式要求为一个张量tensor,【batch,in_height,in_width,in_channels】

2017-04-13 20:40:21 7757

原创 深度学习小白——TensorFlow(一)简介

我选择tensorFlow作为我学习的第一个神经网络框架,恰巧最近Tensorflow支持了windows,所以让我的学习变得更加便捷。我的主要参考文章有http://blog.csdn.net/u014595019/article/details/52677412https://mp.weixin.qq.com/s/6H2FkNQSZ-qp3u5_FN5UoAhttp:/

2017-04-13 19:42:05 6335 2

原创 CS231n——Assignment1 SVM

1.读入数据同softmax2.预处理图像减去均值图像,加上偏差3.SVM 分类器的实现np.max(a,axis=None,out=None,keepdims=False)求序列的最值最少接受一个参数axis默认为列向,即axis=0np.maximum(X,Y,out=None)X与Y逐位比较取其大者最少接受两个参数,XY必须可broadcast

2017-04-11 00:07:10 1607

原创 深度学习小白——卷积神经网络可视化(三)

此篇主要总结一下《Understanding Neural Networks Through Deep Visualization》这篇论文如果我们想要观察神经网络中任意一个神经元到底对何种图片响应最大(激活值最大),通常做法是:一、不用正则项首先随机为每一个像素赋值,得到一个随机图片,前向传播算出对于网络中某个神经元i的激活值ai(x),然后,反向传播计算该激活值对于

2017-04-10 19:25:28 4769

原创 深度学习小白——卷积神经网络可视化(二)

一、由卷积后的code得到原始图像可以看出随着卷积网络的进行,越来越多的信息被扔掉了,能还原除的信息也就越少。二、Deep Dreamgoogle发明的起初是用来看神经网络各层在“看”什么,后来因为得到的图像很具有艺术感,所以成为了一个艺术图片生成器。这是一段Deep dream的核心代码,其中make_step就是对输入图像进行不断的优化(前面提到过的过程),

2017-04-09 12:12:14 2389

原创 深度学习小白——卷积神经网络可视化(一)

一、可视化最大激活神经元的一些pathces例如在这个AlexNet的pool5层任选一个神经元,然后喂给它大量的图片,看哪种图片最能激活该神经元比如上面两行代表使神经元激活值最大的一些图片,白框是感受野,数值即为激活值,第一个神经元似乎对人很敏感,下面那个对dots或狗狗比较敏感2. 对weights的观察我们还可以对卷积第一层的raw filters 进

2017-04-07 18:00:58 8931 4

原创 CS231n——Assignmen1之Softmax

Softmax 分类器的实现1.类的实现import numpy as npfrom random import shuffledef softmax_loss_naive(W, X, y, reg):#带循环 """ Softmax loss function, naive implementation (with loops) Inputs

2017-04-05 13:57:58 1015

原创 CS231n——Assignment1-KNN

一、KNN1.读取数据import numpy as npimport randomfrom cs231n.data_utils import load_CIFAR10import matplotlib.pyplot as pltimport osplt.rcParams['figure.figsize']=(10.0,8.0)plt.rcParams['ima

2017-04-04 11:51:59 1475

转载 深度学习小白——卷积神经网络

一、结构概述卷积神经网络机构基于一个假设——输入数据是图像。所以这种特有属性,使得前向传播函数实现起来更高效,并且大幅度降低了网络中参数的数量。在神经网络中:输入是一个向量,然后每个隐层由若干的神经元组成,每个神经元都与前一层中的所有神经元连接。常规的神经网络对于大尺寸图像效果不尽人意,因为在全连接下, 权重和偏差参数会变得很多,导致网络过拟合等问题。与常规神经网络不同,卷积神经网络的

2017-04-03 10:13:05 6957

转载 深度学习小白——神经网络5(参数更新)

一、参数更新1.随机梯度下降及各种更新方法【普通更新】:沿着负梯度方向改变参数x+= -learning_rate * dx其中学习率是一个超参数,它是一个固定的常量。【动量更新】(Momentum)这个方法在深度网络上几乎总能得到更好的收敛速度。是从物理角度上对最优化问题得到的启发。它将损失值理解为是山的高度(因此高度势能是U=mgh,所以U正比于h)用随机数字初

2017-03-30 15:59:49 9248

转载 深度学习小白——神经网络4(梯度检查)

上一篇讨论了神经网络的静态部分:如何创建网络的连接、数据和损失函数,这篇将致力于讲解神经网络的动态过程,即学习参数和搜索最优超平面的过程一、梯度检查df(x)/dx = (f(x+h)-f(x-h))/2h,其中h是一个很小的数字,且用该公式梯度检查时,要计算两次损失函数,但是梯度的近似值会准确很多在对比数值梯度和解析梯度时,采用相对误差比较好 |f'n-f'a|/max{f'

2017-03-29 17:30:28 5373

转载 深度学习小白——神经网络3(数据预处理,dropout,正则化)

一、数据预处理数据矩阵X,维度是【N*D】N是数据样本数,D是数据维度1.均值减法它对数据中每个独立特征减去平均值,从几何上可以理解为在每个维度上都将数据云的中心都迁移到原点X-=np.mean(X,axis=0)2.归一化先对数据做零中心化,然后每个维度都除以其标准差,实现代码为X/=np.std(X,axis=0)(对每一列)3.PCA和白化(Whitening)

2017-03-28 14:48:45 6466 1

转载 深度学习小白——神经网络2(网络结构)

神经网络结构一、全连接层(fully-connected layer)上述网络有4+2=6个神经元(输入层不算),【3*4】+【4*2】=20个权重,还有4+2=6个偏置,共26个可学习的参数前向传播计算举例         对于右边的神经网络,输入是[3x1]的向量。一个层所有连接的强度可以存在一个单独的矩阵中。比如第一个隐层的权重W1是[4x3],所有单

2017-03-28 14:13:35 1426

转载 深度学习小白——神经网络1(激活函数)

一、激活函数1. Sigmoid                    它可以将输入实数值压缩到0到1的范围内,更具体地说,很大的负数变为0,很大的正数变为1。 但sigmoid 函数有几个缺点sigmoid函数饱和使梯度消失,当神经元的激活在接近0或者1时会饱和,在这些区域,梯度几乎为0,这样,在反向传播过程中,局部梯度就会接近0,这会有效地“杀死”梯度Sigmoid函数的输

2017-03-28 13:45:39 4729 1

原创 深度学习小白——反向传播

一、理解函数关于每个变量的导数指明了整个表达式对于该变量的敏感程度梯度▽f是偏导数的向量,所以有,直观理解链式法则,f=q*z, q=x+y ,先进行前向传播,从输入计算到输出(绿色),然后反向传播从末端开始,根据链式法则递归地向前计算梯度,一直到输入端。在整个反向传播过程中,每个门单元应将回传的梯度乘以它对其输入的局部梯度,从而得到整个网络的输出对该门单元的每个输入值的梯

2017-03-27 18:48:01 1301

原创 深度学习小白——最优化问题

基于参数的评分函数将原始图像像素映射为分类评分值(如一个线性函数)损失函数可以衡量某个具体参数集的质量好坏,有softmax 和 SVM 等不同实现方式一、最优化我们的目的就是找到能够使损失函数值最小的W值方法一:随机搜索,随机指定W的值  准确度:7%bestloss = float("inf") # Python assigns the highest poss

2017-03-24 12:18:04 1010

原创 深度学习小白——线性分类(Softmax)

一、Softmax分类器(区别于SVM)在Softmax分类器中,评分函数保持不变,但是这些评分被视为每个分类的未归一化的对数概率,损失函数变为cross-entropy loss:     被称作softmax函数,输入为一个评分值的向量f,输出为0~1的压缩值,含义是给定图像数据xi,以W为参数,分配给正确分类标签yi的归一化概率,所有元素和为1(个人理解)由信息论的熵的定义知

2017-03-22 15:48:37 1939

原创 深度学习小白——线性分类(SVM)

一、评分函数----f为评分函数,即Rd-->Rk的映射,d是特征维数,k是类别数W是权重,b是偏差向量,W是k*d维的,每一行代表一个分类器若b=0,则所有的分类器都不得不过原点,这样是不好的,所以要加上这个偏差b一般实际操作中,将w和b放到一个矩阵中,所以就要向x中增加一个维度,设为常量1,这就是默认的偏差维度二、损失函数 L

2017-03-22 13:49:25 1584

原创 深度学习小白——Nearest Neighbor 分类器

最近邻分类器是通过比较训练集和测试集像素之间的距离来判断是否属于同一类的。可解决图像分类的问题针对像素距离,常用的有:1.L1距离 2.L2距离K-Nearest Neighbor分类器找出与测试集某张图片最相近的K个图片标签,然后针对测试图片进行投票,票数最高的标签作为对测试图片的预测。这样可以使得分类器对于异常值更有抵抗力超参数 hype

2017-03-20 20:16:39 2868

原创 深度学习小白学习之——前言

大三了,想着要学点什么了,最近开始关注了人工智能,并上完了Andrew Ng的Meachine learning 的课程,觉得很有意思,就想要深入学习,因为之前没有Python基础,所以最近又在疯狂看python,连带着开始看deep learning,恰巧看到知乎上有人翻译了stanford 的CS231n卷积神经网络的课,于是就想跟着一起学, 开篇博客激励一下自己!恩!

2017-03-20 20:12:03 833

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除