DeepLearning
Peter-Young
这个作者很懒,什么都没留下…
展开
-
Deep Learning概述
1.深度学习发展简史 2.三步实现深度学习 2.1Neural Network 神经网络由模仿脑部神经系统发展而来,一个节点称为一个“Neuron”,包括连接在节点上面的weights和biases。 在全连接的神经网络中,一个神经元节点接受上一层节点的输入,分别乘以连接边上的权重,放进激活函数中,获得对应输出,并将该层的输出作为下一层的输入原创 2017-07-24 14:56:12 · 422 阅读 · 0 评论 -
Batch Normalization 学习笔记
Batch Normalization 学习笔记 一、背景意义 本篇博文主要讲解2015年深度学习领域,非常值得学习的一篇文献:《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》,这个算法目前已经被大量的应用,最新的文献算法很多都会引用这个转载 2017-08-31 11:14:32 · 243 阅读 · 0 评论 -
Keras实现LSTM
LSTM是优秀的循环神经网络(RNN)结构,而LSTM在结构上也比较复杂,对RNN和LSTM还稍有疑问的朋友可以参考:Recurrent Neural Networks vs LSTM 这里我们将要使用Keras搭建LSTM.Keras封装了一些优秀的深度学习框架的底层实现,使用起来相当简洁,甚至不需要深度学习的理论知识,你都可以轻松快速的搭建你的深度学习网络,强烈推荐给刚入门深度学习的同学原创 2017-09-16 15:31:32 · 14228 阅读 · 0 评论 -
Pytorch实现卷积神经网络CNN
Pytorch是torch的Python版本,对TensorFlow造成很大的冲击,TensorFlow无疑是最流行的,但是Pytorch号称在诸多性能上要优于TensorFlow,比如在RNN的训练上,所以Pytorch也吸引了很多人的关注。之前有一篇关于TensorFlow实现的CNN可以用来做对比。 下面我们就开始用Pytorch实现CNN。 step 0 导入需要的包 1原创 2017-09-16 15:30:02 · 2284 阅读 · 0 评论 -
Keras实现autoencoder
Keras使我们搭建神经网络变得异常简单,之前我们使用了Sequential来搭建LSTM:keras实现LSTM。 我们要使用Keras的functional API搭建更加灵活的网络结构,比如说本文的autoencoder,关于autoencoder的介绍可以在这里找到:deep autoencoder。 现在我们就开始。 step 0 导入需要的包 1原创 2017-09-16 15:29:03 · 3143 阅读 · 0 评论 -
TensorFlow实现卷积神经网络CNN
TensorFlow是目前深度学习最流行的框架,很有学习的必要,下面我们就来实际动手,使用TensorFlow搭建一个简单的CNN,来对经典的mnist数据集进行数字识别。 如果对CNN还不是很熟悉的朋友,可以参考:Convolutional Neural Network。 下面就开始。 step 0 导入TensorFlow 1 import原创 2017-09-16 15:27:23 · 457 阅读 · 0 评论 -
梯度弥散与梯度爆炸
问题描述 先来看看问题描述。 当我们使用sigmoid funciton 作为激活函数时,随着神经网络hidden layer层数的增加,训练误差反而加大了,如上图所示。 下面以2层隐藏层神经网络为例,进行说明。 结点中的柱状图表示每个神经元参数的更新速率(梯度)大小,有图中可以看出,layer2整体速度都要大于layer1. 我们又取每层laye原创 2017-09-05 11:35:01 · 1473 阅读 · 0 评论 -
Deep Auto-encoder
autoencoder可以用于数据压缩、降维,预训练神经网络,生成数据等等。 autoencoder的架构 autoencoder的架构是这样的: 需要分别训练一个Encoder和一个Decoder。 比如,一张数字图片784维,放入Encoder进行压缩,编程code,通常要小于原来的784维; 然后可以将压缩后的code,放入Decoder进行recons原创 2017-08-25 14:53:28 · 1188 阅读 · 0 评论 -
Convolutional Neural Network
Why CNN for Image 图片是由像素点组成的,可以这样来解释深度神经网络对图片的处理。 第一层的layer是最基本的分类器,区分一些基本的特征,比如颜色、是否有斜线。 第二层的layer会检测更加复杂的东西,比如一些简单的组合线条; 后面的layer也会越来越复杂…… 我们可以通过思考图像的特征来简化网络。 1.图片中一些特征通常比整个图片要原创 2017-07-26 14:37:18 · 721 阅读 · 0 评论 -
后向传播算法“backpropragation”详解
为什么要使用backpropagation? 梯度下降不用多说,如果不清楚的可以参考http://www.cnblogs.com/yangmang/p/6279054.html。 神经网络的参数集合theta,包括超级多组weight和bais。 要使用梯度下降,就需要计算每一个参数的梯度,但是神经网络常常有数以万计,甚至百万的参数,所以需要使用backpropagati原创 2017-07-24 14:57:53 · 839 阅读 · 0 评论 -
Recurrent Neural Networks VS LSTM
Recurrent Neural Network RNN擅长处理序列问题。下面我们就来看看RNN的原理。 可以这样描述:如上图所述,网络的每一个output都会对应一个memory单元用于存储这一时刻网络的输出值, 然后这个memory会作为下一时刻输入的一部分传入RNN,如此循环下去。 下面来看一个例子。 假设所有神经元的weight都为1,没有bi原创 2017-09-12 10:23:21 · 477 阅读 · 0 评论