深度学习
Day-yong
做好每一步,坚持到最后!!!
展开
-
【深度学习】从循环神经网络(RNN)到LSTM和GRU
前言【深度学习】从神经网络到卷积神经网络前面我们介绍了 BP 神经网络和卷积神经网络CNN,那么为什么还需要循环神经网络 RNN 呢?BP 神经网络和卷积神经网络CNN的输入输出都是相互独立的,但是在实际应用中有些场景输出内容和之前的内容是有关联的BP 神经网络和卷积神经网络CNN 有一个特点,就是假设输入是一个独立的没有上下文联系的单位,比如输入是一张图片,网络识别是狗还是猫。但是...原创 2019-05-22 14:03:17 · 1875 阅读 · 5 评论 -
【深度学习】经典卷积神经网络结构说明
前言 20世纪 90年代,LeCun et al.等人发表一篇关于手写数字识别的论文 【论文PDF下载】,论文中使用的网络结果如下:此网络结构认为是卷积神经网络的开山鼻祖,也确立了CNN的现代结构后来他们又对其进行完善,设计了一种多层的人工神经网络,取名叫做 LeNet-5【论文PDF下载】,可以对手写数字做分类CNN能够得出原始图像的有效表征,这使得CNN能够直接从原始像素中,经...原创 2019-05-14 16:43:26 · 2366 阅读 · 0 评论 -
【深度学习】从神经网络到卷积神经网络
前言 本篇主要介绍卷积神经网络,为什么有神经网络了还会出现卷积神经网络,以及卷积神经网络的主要层次。一、神经网络参考链接:【深度学习】神经网络与BP算法 传统的神经网络使用矩阵乘法来建立输入与输出的连接关系。其中,参数矩阵中每一个单独的参数都描述了一个输入单元与一个输出单元的交互。这意味着每一个输出单元与每一个输入单元都参数交互,也就是上图中第一个隐层中的每一个神经元都要与输入层的每一...原创 2019-05-12 14:14:44 · 1615 阅读 · 0 评论 -
【深度学习】神经网络与BP算法
前言 本篇主要介绍神经网络的基本结构、激活函数以及学习算法(BP算法) 神经网络 主要由三个组成部分,第一个是架构(architecture)或称为拓扑结构(topology),描述神经元的层次与连接神经元的结构。第二个组成部分是神经网络使用的激励/激活函数。第三个组成部分是找出最优权重值的学习算法。 为了能够解决感知机人工设定权重的工作,即确定合适的、能符合预期的输入与输出的权重,神...原创 2019-05-10 11:13:28 · 2625 阅读 · 4 评论 -
【深度学习】CNN的实现以及在手写数字识别中的应用
回顾Affine层、Relu层以及SoftmaxWithLoss层实现卷积层和池化层实现上面两篇博客,实现了CNN包含的层,下面我们只需要将他们组合起来,搭建进行手写数字识别的CNNCNN实现我们按上图CNN的网络结构进行实现,这里只包含一层卷积层下面给出各层的实现代码,具体内容可参考之前的博客:# im2col 图像数据的展开def im2col(input_dat...原创 2018-11-08 18:47:23 · 1928 阅读 · 8 评论 -
【深度学习】神经网络的优化方法
前言\quad\quad我们都知道,神经网络的学习目的是找到使损失函数的值尽可能小的参数,这是一个寻找最优参数的问题,解决这个问题的过程可以称为最优化,但由于参数空间非常复杂,无法轻易找到最优解,而且在深度学习中,参数的数量非常大,导致最优化问题更加复杂。\quad\quad在这之前,我们是将参数的梯度(导数)作为线索,使参数沿着梯度方向更新,并重复执行多次,从而逐渐靠近最优参数,这个过程称为...原创 2018-11-08 18:38:40 · 4472 阅读 · 1 评论 -
【深度学习】基于im2col的展开Python实现卷积层和池化层
回顾上一篇 我们介绍了,卷积神经网的卷积计算和池化计算,计算过程中窗口一直在移动,那么我们如何准确的取到窗口内的元素,并进行正确的计算呢?另外,以上我们只考虑的单个输入数据,如果是批量数据呢?首先,我们先来看看批量数据,是如何计算的批处理在神经网络的处理中,我们一般将输入数据进行打包批处理,通过批处理,能够实现处理的高效化和学习时对mini-batch的对应自然,我们也希望在卷积神经网...原创 2018-11-07 19:39:40 · 7999 阅读 · 23 评论 -
【深度学习】卷积神经网络的卷积层和池化层计算
简介\quad\quad卷积神经网络(Convolutional neural network, CNN),属于人工神经网络的一种,被应用于图像识别、语音识别等各种场合。\quad\quad我们知道,神经网络的基本组成包括输入层、隐藏层、输出层。卷积神经网络的特点就在于隐藏层分为卷积层和池化层。卷积层,通过一块卷积核在原始图像上平移来提取特征,每一个特征就是一个特征映射;池化层,通过汇聚...原创 2018-11-07 16:00:59 · 13486 阅读 · 0 评论 -
【深度学习】Python实现2层神经网络的误差反向传播法学习
前言基于计算图的反向传播详解一篇中,我们通过计算图的形式详细介绍了构建神经网络需要的层,我们可以将其视为组件,接下来我们只需要将这些组件组合起来就可以实现误差反向传播法。首先我们回顾下神经网络的学习步骤如下:从训练数据中随机选择一部分数据(mini-batch)计算损失函数关于各个权重参数的梯度将权重参数沿梯度方向进行微小的更新重复以上步骤下图为2层神经网络,图中红色表示每层的名...原创 2018-11-06 14:27:47 · 2299 阅读 · 0 评论 -
【深度学习】基于计算图的反向传播详解
计算图计算图就是将计算过程用图形表示出来,这里所说的图形是数据结构图,通过多个节点和边表示(边是用来连接节点的)。下面我们先来通过一个简单的例子了解计算图的计算过程假设我们有如下需求:一个苹果100块钱,一个橘子150块钱消费税为10%买了2个苹果,3个橘子,一共需要支付多少钱?1、根据需要构建计算图2、在计算图上从左向右进行计算按着图中箭头方向“从左向右进行计算”称为正...原创 2018-11-05 21:00:53 · 8338 阅读 · 8 评论 -
【深度学习】Python实现基于数值微分的神经网络的学习
回顾\quad\quad在之前的神经网络的学习过程一篇中,我们介绍了如何获取批量数据、损失函数、梯度以及梯度下降法,本篇将通过这些来实现神经网络的学习。神经网络的学习步骤1、mini-batch从训练数据中随机选出一部分数据,这部分数据称为mini-batch。学习的目标就是减小mini-batch的损失函数的值2、计算梯度减小mini-batch的损失函数的值,需要求出...原创 2018-11-04 21:04:02 · 1356 阅读 · 0 评论 -
【深度学习】神经网络的学习过程
神经网络的学习\quad\quad在线性可分的与非门、或门的感知机模型中,我们可以根据真值表人工设定参数来实现,而此时的参数只有3个。然而,在实际的神经网络中,参数的数量成千上万,甚至上亿,很显然,人工设定参数是不可能的。从数据中学习就成了解决上面问题的关键。“学习”就是指从训练数据中自动获取最优权重参数的过程为了能够进行学习,需要引入损失函数学习的目的:使损失函数达到最小值的权重参数...原创 2018-11-03 22:14:00 · 2630 阅读 · 0 评论 -
【深度学习】python实现简单神经网络以及手写数字识别案例
前言\quad\quad为了能够解决感知机人工设定权重的工作,即确定合适的、能符合预期的输入与输出的权重,神经网络便出现了,神经网络的一个重要的性质是它可以自动地从数据中学习得到合适的权重参数。神经网络\quad\quad如上图,我们把最左边的一列称为输入层,最右边的称为输出层,中间的称为中间层(也可称为隐藏层),一般情况下,我们通常将输入层、隐藏层、输出层的总数减去1后的数量来表示神经网...原创 2018-10-29 14:24:55 · 11773 阅读 · 2 评论