1*1卷积过滤器 和正常的过滤器一样,唯一不同的是它的大小是1*1,没有考虑在前一层局部信息之间的关系.最早出现在 Network In Network的论文中 ,使用1*1卷积是想加深加宽网络结构 ,在Inception网络( Going Deeper with Convolutions )中用来降维. 由于3*3卷积或者5*5卷积在几百个filter的卷积层上做卷积操作时相当耗时,所以1*1卷积在3*3卷积或者5*5卷积计算之前先降低维度. 那么,1*1卷积的主要作用有以下几点: 1.降维(…
深度学习之循环神经网络RNN概述,双向LSTM实现字符识别 2. RNN概述 Recurrent Neural Network - 循环神经网络,最早出现在20世纪80年代,主要是用于时序数据的预测和分类.它的基本思想是:前向将上一个时刻的输出和本时刻的输入同时作为网络输入,得到本时刻的输出,然后不断地重复这个过程.后向通过BPTT(Back Propagation Through Time)算法来训练得到网络的权重.RNN比CNN更加彻底的是,CNN通过卷积运算共享权重从而减少计算量,而RNN…
上篇文章我们给出了用paddlepaddle来做手写数字识别的示例,并对网络结构进行到了调整,提高了识别的精度.有的同学表示不是很理解原理,为什么传统的机器学习算法,简单的神经网络(如多层感知机)都可以识别手写数字,我们要采用卷积神经网络CNN来进行别呢?CNN到底是怎么识别的?用CNN有哪些优势呢?我们下面就来简单分析一下.在讲CNN之前,为避免完全零基础的人看不懂后面的讲解,我们先简单回顾一下传统的神经网络的基本知识. 神经网络的预备知识      为什么要用神经网络? 特征提取的高效性.…
作者:szx_spark 1. Padding 在卷积操作中,过滤器(又称核)的大小通常为奇数,如3x3,5x5.这样的好处有两点: 在特征图(二维卷积)中就会存在一个中心像素点.有一个中心像素点会十分方便,便于指出过滤器的位置. 在没有padding的情况下,经过卷积操作,输出的数据维度会减少.以二维卷积为例,输入大小 \(n\times n\),过滤器大小\(f\times f\),卷积后输出的大小为\((n-f+1)\times(n-f+1)\). 为了避免这种情况发生,可以采取paddi…
Padding 在卷积操作中,过滤器(又称核)的大小通常为奇数,如3x3,5x5.这样的好处有两点: 在特征图(二维卷积)中就会存在一个中心像素点.有一个中心像素点会十分方便,便于指出过滤器的位置. 在没有padding的情况下,经过卷积操作,输出的数据维度会减少.以二维卷积为例,输入大小 \(n\times n\),过滤器大小\(f\times f\),卷积后输出的大小为\((n-f+1)\times(n-f+1)\). 为了避免这种情况发生,可以采取padding操作,padding的长度为…
基础概念: 卷积神经网络(CNN):属于人工神经网络的一种,它的权值共享的网络结构显著降低了模型的复杂度,减少了权值的数量.卷积神经网络不像传统的识别算法一样,需要对数据进行特征提取和数据重建,可以直接将图片作为网络的输入,自动提取特征,并且对图形的变形等具有高度不变形.在语音分析和图像识别领域有重要用途. 卷积:卷积是泛函分析中的一种积分变换的数学方法,通过两个函数 f 和 g 生成第三个函数的一种数学算子,表征函数 f 与 g 经过翻转和平移的重叠部分的面积.设函数  是定义在  上的可测函…
一.前述 本文讲述池化层和经典神经网络中的架构模型. 二.池化Pooling 1.目标 降采样subsample,shrink(浓缩),减少计算负荷,减少内存使用,参数数量减少(也可防止过拟合)减少输入图片大小(降低了图片的质量)也使得神经网络可以经受一点图片平移,不受位置的影响(池化后相当于把图片上的点平移了)正如卷积神经网络一样,在池化层中的每个神经元被连接到上面一层输出的神经元,只对应一小块感受野的区域.我们必须定义大小,步长,padding类型池化神经元没有权重值,它只是聚合输入根据取最…
刚开始接触深度学习.卷积神经网络的时候非常懵逼,不知道从何入手,我觉得应该有一个进阶的过程,也就是说,理应有一些基本概念作为奠基石,让你有底气去完全理解一个庞大的卷积神经网络: 本文思路: 一.我认为学习卷积神经网络必须知道的几个概念: 1.卷积过程: 我们经常说卷积神经网络卷积神经网络,到底什么才是卷积?网络层卷积过程到底怎么实现?我们在这里借鉴了另一位博客大牛的动态图来给大家演示一下, 图作者文章在此: http://blog.csdn.net/silence1214/article/det…
1.cv2.resize(image, (image_size, image_size), 0, 0, cv2.INTER_LINEAR) 参数说明:image表示输入图片,image_size表示变化后的图片大小,0, 0表示dx和dy, cv2.INTER_LINEAR表示插值的方式为线性插值 2.image.get_shape[1:4].num_elements() 获得最后三个维度的大小之和 参数说明:image表示输入的图片 3. saver.save(sess, path, glob…
以下叙述只是简单的叙述,CNN+RNN(LSTM,GRU)的应用相关文章还很多,而且研究的方向不仅仅是下文提到的1. CNN 特征提取,用于RNN语句生成图片标注.2. RNN特征提取用于CNN内容分类视频分类.3. CNN特征提取用于对话问答图片问答.还有很多领域,比如根据面目表情判断情感,用于遥感地图的标注,用于生物医学的图像解析,用于安全领域的防火实时监控等.而且现阶段关于CNN+RNN的研究应用相关文章更加多样,效果越来越好,我们可以通过谷歌学术参阅这些文章,而且大部分可免费下载阅读,至…
目录 二维Full卷积 二维Same卷积 二维Valid卷积 三种卷积类型的关系 具备深度的二维卷积 具备深度的张量与多个卷积核的卷积 参考资料 二维卷积的原理和一维卷积类似,也有full卷积.same卷积和valid卷积. 举例:3*3的二维张量x和2*2的二维张量K进行卷积 二维Full卷积 Full卷积的计算过程是:K沿着x从左到右,从上到下移动,每移动到一个固定位置,对应位置的值相乘再求和,计算过程如下: Full卷积的过程记为Cfull=x★K: 返回目录 二维Same卷积 假设卷积核…
1. 计算深度神经网络的时候,尽量向量化数据,不要用for循环.唯一用for循环的地方是依次在每一层做计算. 2. 最常用的检查代码是否有错的方法是检查算法中矩阵的维度. 正向传播: 对于单个样本,第i层网络 z[i] = W[i]a[i-1] + b[i], a[i] = f[i](z[i]). 其中,z[i]是n[i]*1,W[i]是n[i]*n[i-1],a[i-1]是n[i-1]*1,b[i]是n[i]*1. 对于向量化后的所有样本,第i层网络 Z[i] = W[i]A[i-1] + b…
循环神经网络(Recurrent Neural Network,RNN)是一类具有短期记忆能力的神经网络,适合用于处理视频.语音.文本等与时序相关的问题.在循环神经网络中,神经元不但可以接收其他神经元的信息,还可以接收自身的信息,形成具有环路的网络结构. 循环神经网络的参数学习可以通过随时间反向传播算法来学习,即按照时间的逆序把误差一步步往前传递.而当输入序列比较长时,会产生梯度爆炸或梯度消失问题,这也叫做长期依赖问题.为了解决这个问题,门控机制被引入来改进循环神经网络,也就是长短期记忆网络(L…
一.前述 调优对于模型训练速度,准确率方面至关重要,所以本文对神经网络中的调优做一个总结. 二.神经网络超参数调优 1.适当调整隐藏层数对于许多问题,你可以开始只用一个隐藏层,就可以获得不错的结果,比如对于复杂的问题我们可以在隐藏层上使用足够多的神经元就行了, 很长一段时间人们满足了就没有去探索深度神经网络, 但是深度神经网络有更高的参数效率,神经元个数可以指数倍减少,并且训练起来也更快!(因为每个隐藏层上面神经元个数减少了可以完成相同的功能,则连接的参数就少了) 就好像直接画一个森林会很慢,但…
1. 计算深度神经网络的时候,尽量向量化数据,不要用for循环.唯一用for循环的地方是依次在每一层做计算. 2. 最常用的检查代码是否有错的方法是检查算法中矩阵的维度. 正向传播: 对于单个样本,第i层网络 z[i] = W[i]a[i-1] + b[i], a[i] = f[i](z[i]). 其中,z[i]是n[i]*1,W[i]是n[i]*n[i-1],a[i-1]是n[i-1]*1,b[i]是n[i]*1. 对于向量化后的所有样本,第i层网络 Z[i] = W[i]A[i-1] + b…
作者:韩信子@ShowMeAI 深度学习实战系列:https://www.showmeai.tech/tutorials/42 TensorFlow 实战系列:https://www.showmeai.tech/tutorials/43 本文地址:https://www.showmeai.tech/article-detail/327 声明:版权所有,转载请联系平台与作者并注明出处 收藏ShowMeAI查看更多精彩内容 股票价格数据是一个时间序列形态的数据,诚然,股市的涨落和各种利好利空消息更相…
作者:zhxfl 邮箱:zhxfl##mail.ustc.edu.cn 主页:http://www.cnblogs.com/zhxfl/p/4155236.html 第1个版本blog在这里:http://www.cnblogs.com/zhxfl/p/4134834.html 第2个版本github:https://github.com/zhxfl/CUDA-CNN 欢迎fork,在第一个版本的时候,我们只是针对手写数字,也就是黑白图片.在第二个版本中,我加入了很多东西. 第二个版本的特性 1…
经典网络 LeNet-5 AlexNet VGG Ng介绍了上述三个在计算机视觉中的经典网络.网络深度逐渐增加,训练的参数数量也骤增.AlexNet大约6000万参数,VGG大约上亿参数. 从中我们可以学习到随着网络深度增加,模型的效果能够提升.另外,VGG网络虽然很深,但是其结构比较规整.每经过一次池化层(过滤器大小为2,步长为2),图像的长度和宽度折半:每经过一次卷积层,输出数据的channel数量加倍,即卷积层中过滤器(filter)的数量. 残差网络(ResNet) 由于存在梯度消失与梯…
目录 1. Mini-batch gradient descent 1.1 算法原理 1.2 进一步理解Mini-batch gradient descent 1.3 TensorFlow中的梯度下降 2. Exponentially weighted averages 2.1 伦敦天气温度 2.2 进一步理解Exponentially weighted averages 2.3 偏差修正(bias correction) 3. Gradient descent with momentum(Mo…
整理自: https://blog.csdn.net/woaidapaopao/article/details/77806273?locationnum=9&fps=1 思想 filter尺寸的选择 输出尺寸计算公式 pooling池化的作用 常用的几个模型,这个最好能记住模型大致的尺寸参数 1.思想 改变全连接为局部连接,这是由于图片的特殊性造成的(图像的一部分的统计特性与其他部分是一样的),通过局部连接和参数共享大范围的减少参数值.可以通过使用多个filter来提取图片的不同特征(多卷积核)…
前言: 前段时间我在树莓派上通过KNN,SVM等机器学习的算法实现了门派识别的项目,所用到的数据集是经典的MNIST.可能是因为手写数字与印刷体存在一些区别,识别率并是很不高.基于这样的情况,我打算在PC端用CNN试一试MNIST上的识别率. 正文: 一张图展示CNN 导入基础包 import tensorflow as tf from sklearn.datasets import load_digits import numpy as np 导入数据集 digits = load_digit…
转载请注明作者:梦里风林 Github工程地址:https://github.com/ahangchen/GDLnotes 欢迎star,有问题可以到Issue区讨论 官方教程地址 视频/字幕下载 加载数据 使用text8作为训练的文本数据集 text8中只包含27种字符:小写的从a到z,以及空格符.如果把它打出来,读起来就像是去掉了所有标点的wikipedia. 直接调用lesson1中maybe_download下载text8.zip 用zipfile读取zip内容为字符串,并拆分成单词li…
一.深层神经网络 深层神经网络的符号与浅层的不同,记录如下: 用\(L\)表示层数,该神经网络\(L=4\) \(n^{[l]}\)表示第\(l\)层的神经元的数量,例如\(n^{[1]}=n^{[2]}=5,n^{[3]}=3,n^{[4]}=1\) \(a^{[l]}\)表示第\(l\)层中的激活函数,\(a^{[l]}=g^{[l]}(z^{[l]})\) 二.前向和反向传播 1. 第\(l\)层的前向传播 输入为 \(a^{[l-1]}\) 输出为 \(a^{[l]}\), cache(…
循环神经网络(recurrent neural network,RNN)-------------------------重要结构(长短时记忆网络( long short-term memory,LSTM)) 主要介绍循环神经网络在自然语言处理(natural language processing,NLP) 传统的机器学习算法非常依赖人工提取的特征,使得基于传统机器学习的图像识别,语音识别以及自然语言处理等问题存在特征提取的瓶颈.而基于全连接神经网络的方法也存在参数太多,无法利用数据中时间序列…
tf.summary模块的简介 在TensorFlow中,最常用的可视化方法有三种途径,分别为TensorFlow与OpenCv的混合编程.利用Matpltlib进行可视化.利用TensorFlow自带的可视化工具TensorBoard进行可视化.这三种方法,在前面博客中都有过比较详细的介绍.但是,TensorFlow中最重要的可视化方法是通过tensorBoard.tf.summary和tf.summary.FileWriter这三个模块相互合作来完成的. tf.summary模块的定义位于s…
1.      Boost库:它是一个可移植.跨平台,提供源代码的C++库,作为标准库的后备. 在Caffe中用到的Boost头文件包括: (1).shared_ptr.hpp:智能指针,使用它可以不需要考虑内存释放的问题: (2).date_time/posix_time/posix_time.hpp:时间操作函数: (3).python.hpp:C++/Python互操作: (4).make_shared.hpp:make_shared工厂函数代替new操作符: (5).python/raw…
参考了: https://www.cnblogs.com/52machinelearning/p/5821591.html https://blog.csdn.net/qq_24695385/article/details/80368618 LeNet 参考:https://www.jianshu.com/p/ce609f9b5910 AlexNet 参考:https://baike.baidu.com/item/AlexNet/22689612?fr=aladdin GoogLeNet 201…
Bengio, LeCun, Jordan, Hinton, Schmidhuber, Ng, de Freitas and OpenAI have done reddit AMA's.  These are nice places to start to get a Zeitgeist of the field.   Hinton and Ng lectures at Coursera, UFLDL, CS224d and CS231n at Stanford, the deep learni…
1. https://github.com/174high/simple_cnn  自己fork的 2. https://github.com/can1357/simple_cnn   最初始的 3. 开始移植为 Python 或者 Java 版本的.…