神经网络模型

PyTorch学习笔记

孤者浪人 提交于 2019-12-17 12:29:37
【PyTorch深度学习60分钟快速入门 】Part1:PyTorch是什么?来源:https://www.cnblogs.com/leejack/p/8370634.html import torch import numpy as np #用于替代NumPy(torch对象叫张量,带前缀和括号,并用逗号分隔,numpy对象叫数组,用空格分隔),#torch可以使用GPU的计算力,一种深度学习研究平台,可以提供最大的灵活性和速度 x = torch.Tensor(5, 3) #创建一个5x3且未初始化的矩阵,如果将首字母大写的Tensor改成小写tensor,会报错 #print(x) x = torch.rand(5, 3)#创建一个随机初始化的矩阵rand表示0~1之间均匀分布的随机数 #print(x) #print(x.size()) y = torch.rand(5, 3) #print(x + y) #print(torch.add(x, y)) result = torch.Tensor(5, 3) #print(result) torch.add(x, y, out=result) #print(result) y.add_(x) #原地替换,任何原地改变张量值的操作后缀都是固定的_,例如:x.copy_(y)、x.t_(),都将原地改变x的值。 #print(y

图卷积神经网络初探

不羁岁月 提交于 2019-12-17 09:35:46
【摘要】 你吃过牛角甜甜圈吗(cronuts)? 这一被时代杂志称为“2013年25个最佳发明之一”的神奇美食,带着甜甜圈的可爱外貌与牛角面包的酥软内里,从美国纽约席卷全球。直到今天,世界各地的甜品店依然热衷于开发各种口味的cronuts,引得饕餮们纷纷自掏腰包。再看一眼圆圆胖胖的cronuts,各位擦擦口水回到正题,接下来,本文将介绍近年来引爆学术界的另一样“牛角甜甜圈”:Graph C… 这一被时代杂志称为“2013年25个最佳发明之一”的神奇美食,带着甜甜圈的可爱外貌与牛角面包的酥软内里,从美国纽约席卷全球。直到今天,世界各地的甜品店依然热衷于开发各种口味的cronuts,引得饕餮们纷纷自掏腰包。 再看一眼圆圆胖胖的cronuts,各位擦擦口水回到正题,接下来,本文将介绍近年来引爆学术界的另一样“牛角甜甜圈”: Graph Convolutional Network—— 图卷积神经网络 ,顾名思义,它是图与卷积神经网络(CNN)的结合体。 CNN在图像识别、NLP等领域拥有广泛的应用场景,技术日臻成熟,常用于分类、识别等任务。通过将数据映射到低维的欧式空间,可以有效地采用CNN进行运算。图像中的像素点具有明确的上下左右位置关系,语句中的文字具有清晰的序列结构,均可转换为低维的欧几里得结构化数据,输入到神经网络中进行特征提取和计算。 图作为一种通用的数据结构

随想录(第一个卷积神经网络)

折月煮酒 提交于 2019-12-17 09:27:45
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 之前学习了keras和mnist,知道了如何用keras编写简单的感知器。感知器的优点是比较简单,但是缺点也很明显。训练出来的识别正确率不是很高,所以自己就想试试卷积网络。网上的卷积网络算法和代码也比较多,正好可以学习一下。 1、keras支持多种卷积核 目前keras中支持多种卷积核,有Conv1D、Conv2D、Conv3D等等。 2、cnn是图像分类的标配 对于特征提取、图像分类的场景来说,cnn基本上是标配。 3、归一化 图像输入给卷积核之前一般先归一化一下,即x_train = x_train / 255 4、池化层 卷积层一般和池化层配合使用。一个卷积神经网络可能只有一组卷积层、池化层,也可能有很多组卷积层、池化层。 5、模型大小 一般而言,卷积神经网络比感知器的模型稍大一点。 6、示例代码 #!/usr/bin/python # -*- coding: utf-8 -*- # # 首次使用卷积神经网络来进行处理 20191215 # # 参考链接:https://blog.csdn.net/weixin_41055137/article/details/81071226 # 理论上卷积神经网络可以训练几千到上万次 # import numpy #from keras

深度学习项目——基于卷积神经网络(CNN)的人脸在线识别系统

谁都会走 提交于 2019-12-16 20:30:45
基于卷积神经网络(CNN)的人脸在线识别系统   本设计研究人脸识别技术,基于卷积神经网络构建了一套人脸在线检测识别系统,系统将由以下几个部分构成: 制作人脸数据集、 CNN 神经网络模型训练、 人脸检测、人脸识别 。经过实验,确定该系统可对本人的人脸进行快速并准确的检测与识别。 关键词 : 神经网络; 图像处理; 人脸检测;人脸识别; TensorFlow ;模型训练 一、设计目标 1.掌握人脸识别原理; 2.掌握卷积神经网络算法原理 3.掌握卷积神经网络模型训练过程; 4.掌握常用图像处理技术; 设计内容与要求 1.完成基于卷积神经网络的人脸在线识别系统算法设计; 2.完成基于卷积神经网络的人脸在线识别系统模型训练; 3.检测并且识别出人脸; 二、制作人脸数据集 2.1、制作我的人脸数据集   人脸检测出人脸位置,返回坐标、尺寸把脸用数组切片的方法截取下来,把截取的小图片保存下来作为数据集。 本系统获取本人的人脸数据集 10000 张,使用的是 dlib 来识别人脸,虽然速度比 OpenCV 识别慢,但是识别效果更好。 其中,人脸大小: 64*64 。 2.2、主要步骤 ( 1 ) 加载 dlib 机器学习的开源库 ( 2 ) 图像预处理 cvtColor (灰度化)。 ( 3 ) 使用 dlib 自带的 frontal_face_detector 进行特征提取 。 ( 4 )

ng-深度学习-课程笔记-0: 概述

回眸只為那壹抹淺笑 提交于 2019-12-16 17:15:47
课程概述 这是一个专项课程(Specialization),包含5个独立的课程,学习这门课程后做了相关的笔记记录。 (1) 神经网络和深度学习 (2) 改善深层神经网络:超参数调试,正则化,优化 (3) 结构化机器学习项目 (4) 卷积神经网络 (5) 自然语言处理:搭建序列模型 下面根据各部分的课程笔记列了个链接清单。 (1) 神经网络和深度学习 了解NN的基础,如何建立NN,如何训练它,课程的最后建立一个DNN识别猫。 第一周-介绍深度学习: http://www.cnblogs.com/liaohuiqiang/p/7639551.html 什么是神经网络,如何用神经网络做监督学习,为什么深度学习会兴起。 第二周-神经网络中的逻辑回归: http://www.cnblogs.com/liaohuiqiang/p/7659719.html 二分类,逻辑回归,代价函数,梯度下降,计算图的导数计算,逻辑回归中的梯度下降,logistic代价函数的解释。 第二周-Python和向量化: http://www.cnblogs.com/liaohuiqiang/p/7663616.html 向量化,向量化,向量化逻辑回归,python中的广播,python / numpy中的向量说明。 第三周-浅层神经网络: http://www.cnblogs.com/liaohuiqiang/p

如何选择神经网络的超参数

爷,独闯天下 提交于 2019-12-16 15:45:59
原 十、如何选择神经网络的超参数 2017年08月18日 10:33:06 独孤呆博 阅读数 21041 版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/dugudaibo/article/details/77366245 本博客主要内容为图书 《神经网络与深度学习》 和National Taiwan University (NTU)林轩田老师的 《Machine Learning》 的学习笔记,因此在全文中对它们多次引用。初出茅庐,学艺不精,有不足之处还望大家不吝赐教。   在之前的部分,采用梯度下降或者随机梯度下降等方法优化神经网络时,其中许多的超参数都已经给定了某一个值,在这一节中将讨论如何选择神经网络的超参数。 1. 神经网络的超参数分类   神经网路中的超参数主要包括1. 学习率 η ,2. 正则化参数 λ ,3. 神经网络的层数 L ,4. 每一个隐层中神经元的个数 j ,5. 学习的回合数 E p o c h ,6. 小批量数据 m i n i b a t c h 的大小,7. 输出神经元的编码方式,8. 代价函数的选择,9. 权重初始化的方法,10. 神经元激活函数的种类,11.参加训练模型数据的规模 这十一类超参数。  

卷积神经网络的卷积核大小、个数,卷积层数如何确定

匆匆过客 提交于 2019-12-15 23:53:56
卷积神经网络的卷积核大小、卷积层数、每层map个数都是如何确定下来的呢?看到有些答案是刚开始随机初始化卷积核大小,卷积层数和map个数是根据经验来设定的,但这个里面应该是有深层次原因吧,比如下面的手写字卷积神经网络结构图1,最后输出为什么是12个map,即输出12个特征?然后图2又是输出10个特征了? 在达到相同感受野的情况下,卷积核越小,所需要的参数和计算量越小。 具体来说。卷积核大小必须大于1才有提升感受野的作用,1排除了。而大小为偶数的卷积核即使对称地加padding也不能保证输入feature map尺寸和输出feature map尺寸不变(画个图算一下就可以发现),2排除了。所以一般都用3作为卷积核大小。 每一层卷积有多少channel数,以及一共有多少层卷积,这些暂时没有理论支撑,一般都是靠感觉去设置几组候选值,然后通过实验挑选出其中的最佳值。这也是现在深度卷积神经网络虽然效果拔群,但是一直为人诟病的原因之一。 多说几句,每一层卷积的channel数和网络的总卷积层数,构成了一个巨大的超参集合,这个超参集合里的最优组合,很可能比目前业界各种fancy的结构还要高效。只是我们一来没有理论去求解这个超参集合里的最优,二来没有足够的计算资源去穷举这个超参集合里的每一个组合,因此我们不知道这个超参集合里的最优组合是啥。 现在业界里提出的各种fancy结构中不少都是不断trial

神经网络加速器设计

谁说我不能喝 提交于 2019-12-14 09:03:41
基于FPGA的深度学习加速器优化(一) 神经网络加速 神经网络 基于FPGA的神经网络加速器设计 高速度 高能效 神经网络加速 神经网络算法相较于传统的深度学习算法在很多方面都有较大的优势,不同的网络模型在图像、视频以及语音等领域发挥出越来越重要的作用,例如卷积神经网络CNN、递归神经网络RNN等等。但对于神经网络模型来说,其 计算量 和 存储需求 是非常大的,如下表所示: 因此,针对基于神经网络的应用选择合适的计算平台是非常重要的。典型的CPU平台计算能力约为10-100G FLOP/s,能效通常低于1GOP/J。因此CPU平台既不能满足云端应用高性能的需求也不能满足移动端低能耗的要求。而GPU平台的峰值算力可以达到10TOP/s,同时像Caffe、TensorFlow等框架也提供了针对GPU加速的接口,非常适合于高性能要求的应用,然而其能效比较低。而FPGA平台相较于CPU、GPU具有很高的能效比,同时FPGA灵活性比较高,相较于AISC的实现方式,成本较低,周期短。 但同时基于FPGA的神将网络加速也面临着一些挑战: (1)FPGA平台相较于GPU其存储空间、I/O带宽、计算资源等通常都是有限的; (2)目前大多数FPGA平台的工作频率通常在100-300MHz之间,远远低于CPU或者GPU平台工作频率; (3)神经网络算法在FPGA上的部署难度要大大高于CPU或者GPU平台

深度学习基础问题

独自空忆成欢 提交于 2019-12-14 04:44:36
文章目录 基础 1. 常见的梯度下降方法及优缺点——优化器 梯度下降的推导 Momentum——优化器 指数加权移动平均 Nesterov动量 Adagrad——优化器 Adadelta——优化器 RMSprop——优化器 Adam——优化器 2. dropout原理以及为什么能用于防止过拟合? 3. 为什么需要Normalization 4.[Batch Normalization的理解](https://zh.gluon.ai/chapter_convolutional-neural-networks/batch-norm.html) 5. BN的前向传播和反向传播公式 6. BN的使用场景 7. BN和Dropout共同使用时会出现的问题 8. LN的作用 9. [梯度消失与梯度膨胀,以及6种解决措施](https://blog.csdn.net/qq_25737169/article/details/78847691) 10. 为什么神经网络参数不能全部初始化为全0 一、神经网络基础和前馈神经网络 1、激活函数的比较 2、神经网络结构哪几种?各自都有什么特点? 3、前馈神经网络叫做多层感知机是否合适? 4、前馈神经网络怎么划分层? 5、如何理解通用近似定理? 6、怎么理解前馈神经网络中的反向传播?具体计算流程是怎样的? 7、在深度学习中,网络层数增多会伴随哪些问题,怎么解决

Visualizing and Understanding Convolutional Networks 论文学习

坚强是说给别人听的谎言 提交于 2019-12-11 18:50:42
这几天看了这篇论文,学习记录一下。有问题的地方请指正~ 论文作者:Matthew D. Zeiler, Rob Fergus (美国纽约大学) 论文会议:ECCV2014 论文链接: https://arxiv.org/pdf/1311.2901v3.pdf 摘要: 论文的背景是在2012年AlexNet (Krizhevsky) 在ImageNet竞赛上展现了突出的图像分类能力后,对于该网络为什么能够表现得如此突出、以及如何对网络做进一步提升的认识却很少。论文提出了一种全新的可视化技术,能够看到卷积神经网络中间层的特征。可以利用该可视化技术,寻找更优的网络模型。同时论文还研究了模型在其他数据集上的泛化性。 1.引入 从2012年AlexNet出世到现在,有很多科学家研发了许多在图像处理问题上表现杰出的网络模型,但是对模型的内部操作和表现的探究却很少,例如,为什么网络模型能表现得这么好?从科学的角度说,这是令人不满意的,科学的研究需要能对技术的内部工作原理做出解释。 因此,文章提出了一种可视化技术——多层反卷积神经网络(deconvnet),该反卷积技术能够展示模型每一层中的由输入激发的特征图,同时能够观测在训练过程中特征的变迁(evolution,这个词用的很有灵魂),并诊断模型的潜在问题。此外,文章还通过遮盖部分输入图像,然后对分类器的输出进行敏感性分析