深度学习
Jaster_wisdom
程序员
展开
-
深度学习(Deep Learning)
1.1概述1.1.1深度学习概念深度学习利用多层神经网络结构,从大数据中学习现实世界中各类事务能直接被用于计算机计算的表示形式,被认为是智能机器可能的“大脑结构”。简单的说,深度学习,就是使用多层神经网络来进行机器学习。神经网络,它是一个带参数的函数,通过调整参数,可以拟合不同的函数。而机器学习,就是一种让计算机自动调整函数参数以拟合想要的函数的过程。对于深度学习,其使用的原创 2016-05-26 22:01:43 · 2167 阅读 · 0 评论 -
基于PyTorch的LSTM长短时记忆网络实现MNIST手写数字
本篇博客主要介绍在PyTorch框架下,基于LSTM实现手写数字的识别。在介绍LSTM长短时记忆网路之前,我先介绍一下RNN(recurrent neural network)循环神经网络.RNN是一种用来处理序列数据的神经网络,序列数据包括我们说话的语音、一段文字等等。它的出现是为了让网络自己有记忆能力,每个网络模块把信息传给下一个模块,它的网络结构如下:对于输入的一段序列数据(X1,X2,X3...原创 2018-04-12 20:56:42 · 8690 阅读 · 7 评论 -
基于PyTorch的CNN卷积神经网络识别MNIST手写数字
本篇博客主要介绍基于PyTorch深度学习框架来实现MNIST经典的手写数字,运用CNN卷积神经网络。MNIST数据集来自美国国家标准与技术研究所,其中训练数据有60000张,测试数据有10000张,每张图片的大小是28*28像素我们可以基于PyTorch直接下载该数据集。该识别程序先使用一层卷积层(卷积核数量16,卷积核大小5*5,步长为1,允许边缘扩充),紧接着激活层使用ReLU函数,之后紧跟...原创 2018-04-11 10:51:57 · 2978 阅读 · 0 评论 -
加速神经网络训练方法及不同Optimizer优化器性能比较
本篇博客主要介绍几种加速神经网络训练的方法。我们知道,在训练样本非常多的情况下,如果一次性把所有的样本送入神经网络,每迭代一次更新网络参数,这样的效率是很低的。为什么?因为梯度下降法参数更新的公式一般为:如果使用批量梯度下降法(一次性使用全部样本调整参数),那么上式中求和那项的计算会非常耗时,因为样本总量m是一个很大的数字。那么由此就有了第一种加速方法:随机梯度下降法,简称SGD。 它的思想是,将...原创 2018-04-09 21:33:36 · 5392 阅读 · 0 评论 -
BP神经网络(输出层采用Softmax激活函数、交叉熵损失函数)公式推导
本篇博客主要介绍经典的三层BP神经网络的基本结构及反向传播算法的公式推导。我们首先假设有四类样本,每个样本有三类特征,并且我们在输出层与隐藏层加上一个偏置单元。这样的话,我们可以得到以下经典的三层BP网络结构:当我们构建BP神经网络的时候,一般是有两个步骤,第一是正向传播(也叫做前向传播),第二是反向传播(也就是误差的反向传播)。Step1 正向传播 在正向传播之前,可以先给W,b赋初始值,原创 2017-10-28 21:42:29 · 18934 阅读 · 13 评论 -
卷积神经网络(CNN)的规律总结
本篇博客主要讲述卷积神经网络(CNN)的一般规律和一些基本的特性。 卷积神经网络的局部连接、权值共享以及池化操作等特性使之可以有效地降低网络的复杂度,减少训练参数的数目,使模型对平移、扭曲、缩放具有一定程度的不变性,并具有强鲁棒性和容错能力,且易于训练和优化。 目前,常用的深度学习模型有深度置信网络(Deep Belif Network),即DBN,层叠自动去躁编码机SDA,卷原创 2017-09-12 19:19:03 · 2696 阅读 · 0 评论 -
TensorFlow(gpu版本)安装教程 Ubuntu16.04
本篇文章主要讲解在Ubuntu16.04环境下,搭建TensorFlow框架,主要是GPU版本的。CPU版本相对比较简单,网上教程应该也比较详细。记得有个人说过,没有GPU,还搞什么深度学习。 安装TensorFlow有以下几种方法,通过Docker安装,通过pip安装以及从源码安装。 这里我是使用pip安装。pip是一个安装、管理Python软件包的工具,通过pip可以安装已经打包好原创 2017-09-11 15:13:38 · 1360 阅读 · 0 评论 -
训练神经网络的简单例子(TensorFlow平台下Python实现)
本篇文章主要通过一个简单的例子来实现神经网络。训练数据是随机产生的模拟数据集,解决二分类问题。下面我们首先说一下,训练神经网络的一般过程:1.定义神经网络的结构和前向传播的输出结果2.定义损失函数以及反向传播优化的算法3.生成会话(Session)并且在训练数据上反复运行反向传播优化算法要记住的一点是,无论神经网络的结构如何变化,以上三个步骤是不会改变的。 完整代码如原创 2017-09-18 14:19:54 · 22590 阅读 · 4 评论 -
MNIST识别数字(TensorFlow框架)
本篇文章主要实现在TensorFlow平台下识别MNIST数据集上的0-9十个数字,通过随机梯度下降算法优化参数,准确率在30000次迭代后保持在98.4%。 下面是完整的代码: '''MNIST数字识别问题'''import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_da原创 2017-09-25 09:39:37 · 821 阅读 · 0 评论 -
计算机视觉、机器学习、模式识别、图像处理领域国内外期刊、会议汇总
重要国际期刊一、IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI) (IEEE模式分析与机器智能汇刊) 链接:http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=34转载 2017-09-05 10:23:52 · 1551 阅读 · 0 评论 -
机器学习科普文章:“一文读懂机器学习,大数据/自然语言处理/算法全有了”
PS:文章主要转载自CSDN大神"黑夜路人"的文章: http://blog.csdn.net/heiyeshuwu/article/details/43483655 本文主要对机器学习进行科普,包括机器学习的定义、范围、方法,包括机器学习的研究领域:模式识别、计算机视觉、语音识别、自然语言处理、统计学习和数据挖掘.这是一篇非常好的文章,尤其感学原文作者~转载 2016-12-27 10:11:17 · 1051 阅读 · 0 评论 -
评价指标MAP(macro average precision)与mAP(mean average precision)的区别
本篇主要介绍在机器学习中,两个常用的评价指标MAP与mAP的区别,前者MAP是macro average precision, 翻译为宏平均准确率,常用于分类问题中;而后者mAP是mean average precision, 翻译为平均精度均值,常用于目标检测和信息检测领域。两者有一个明显的区别是,mAP需要对结果进行置信度的排序,而MAP只需要给出类别标签即可。 下面...原创 2019-05-07 10:39:46 · 2874 阅读 · 0 评论