神经网络模型

动手学PyTorch | (31) 循环神经网络

天涯浪子 提交于 2019-11-26 07:31:28
上⼀节介绍的n元语法中,时间步t的词 基于前⾯所有词的条件概率只考虑了最近时间步的n-1个词。如果要考虑⽐t-(n-1)更更早时间步的词对 的可能影响,我们需要增⼤n.但这样模型参数的数量将随之呈指数级增长。 本节介绍循环神经网络。它并非刚性地记忆所有固定长度的序列,⽽是通过隐藏状态来存储之前时间步的信息。⾸先我们回忆一下前面介绍过的多层感知机,然后描述如何添加隐藏状态来将它变成循环神经网络。 目录 1. 不含隐藏状态的神经网络 2. 含隐藏状态的循环神经网络 3. 应用:基于字符级循环神经网络的语言模型 4. 小结 1. 不含隐藏状态的神经网络 让我们考虑一个含单隐藏层的多层感知机。给定样本数为n,输入个数(特征数或特征向量维度)为d的小批量数据样本 .设隐藏层的激活函数为 ,那么隐藏层的输出 计算为: 其中隐藏层权􏰀重参数 ,隐藏层偏差参数 ,h为隐藏单元数。上式相加的两项形状不同,因此将按照⼴播机制相加。把隐藏变量H作为输出层的输入,且设输出个数为q(如分类问题中的类别数),输出层的输出为: 其中输出变量 ,输出层权重参数 ,输出层偏差参数 .如果是分类问 题,我们可以使⽤softmax(O)来计算输出类别的概率分布。 2. 含隐藏状态的循环神经网络 现在我们考虑输入数据存在时间相关性的情况。假设 是序列中时间步t的小批量输入, 是该时间步的隐藏变量。与多层感知机不同的是

[转帖]CNN、RNN、DNN的一般解释

邮差的信 提交于 2019-11-26 07:22:55
CNN、RNN、DNN的一般解释 https://www.jianshu.com/p/bab3bbddb06b?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation 0.0952017.10.16 19:10:36字数 3,145阅读 4,648 CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别? 转自知乎 科言君 的回答 神经网络技术起源于上世纪五、六十年代,当时叫感知机(perceptron),拥有输入层、输出层和一个隐含层。输入的特征向量通过隐含层变换达到输出层,在输出层得到分类结果。早期感知机的推动者是Rosenblatt。 (扯一个不相关的:由于计算技术的落后,当时感知器传输函数是用线拉动变阻器改变电阻的方法机械实现的,脑补一下科学家们扯着密密麻麻的导线的样子…) 但是,Rosenblatt的单层感知机有一个严重得不能再严重的问题,即它对稍复杂一些的函数都无能为力(比如最为典型的“异或”操作)。连异或都不能拟合,你还能指望这货有什么实际用途么o(╯□╰)o 随着数学的发展,这个缺点直到上世纪八十年代才被Rumelhart、Williams、Hinton、LeCun等人(反正就是一票大牛)发明的多层感知机

迁移学习与图神经网络“合力”模型:用DoT-GNN克服组重识别难题

雨燕双飞 提交于 2019-11-26 02:32:36
2019-11-24 17:45:10 作者 | Ziling Huang、Zheng Wang、Wei Hu、Chia-Wen Lin、Shin’ichi Satoh 译者 | 刘畅 编辑 | Jane 出品 | AI科技大本营( ID: rgznai100) 【导读】目前,大多数行人重识别(ReID)方法主要是从收集的单个人图像数据库中检索感兴趣的人。在跨摄像头的监控应用中,除了单人ReID任务外,匹配一组行人(多个人)也起着重要的作用。这种组重识别(GReID)的任务非常具有挑战性,因为它不仅面临着单个人外观的变化,还有组的布局和成员身份变化也会带来更多困难。为了获得组图像的鲁棒表示,本文设计了一种域迁移图神经网络(DoT-GNN)方法。 DoT-GNN方法主要包括三个方面: (1)类型迁移(Transferred Style):由于缺少训练样本,我们将标记的ReID数据集迁移为G-ReID数据集样式,并将迁移的样本提供给深度学习模型。利用深度学习模型的优势,本文得到了可区分的个体特征模型。 (2)图生成(Graph Generation):本文将每个组视为一个图,其中每个节点表示单个行人的特征,每个边沿表示几个个体之间的关系。本文提出了一种图生成策略来生成足够的图样本。 (3)图神经网络:本文利用生成的图样本来一个训练GNN,以获取针对大型图变化具有鲁棒性的图特征。DoT

VGG卷积神经网络模型解析

僤鯓⒐⒋嵵緔 提交于 2019-11-26 00:20:38
VGG卷积神经网络模型解析 一:VGG介绍与模型结构 VGG全称是Visual Geometry Group属于牛津大学科学工程系,其发布了一些列以VGG开头的卷积网络模型,可以应用在人脸识别、图像分类等方面,分别从VGG16~VGG19。VGG研究卷积网络深度的初衷是想搞清楚卷积网络深度是如何影响大规模图像分类与识别的精度和准确率的,最初是VGG-16号称非常深的卷积网络全称为(GG-Very-Deep-16 CNN),VGG在加深网络层数同时为了避免参数过多,在所有层都采用3x3的小卷积核,卷积层步长被设置为1。VGG的输入被设置为224x244大小的RGB图像,在训练集图像上对所有图像计算RGB均值,然后把图像作为输入传入VGG卷积网络,使用3x3或者1x1的filter,卷积步长被固定1。VGG全连接层有3层,根据卷积层+全连接层总数目的不同可以从VGG11 ~ VGG19,最少的VGG11有8个卷积层与3个全连接层,最多的VGG19有16个卷积层+3个全连接层,此外VGG网络并不是在每个卷积层后面跟上一个池化层,还是总数5个池化层,分布在不同的卷积层之下,下图是VGG11 ~GVV19的结构图: 考虑到整个网络的精简结构显示,ReLU激活函数并没有被显示在上述结构中。上述结构中一些说明: conv表示卷积层 FC表示全连接层 conv3表示卷积层使用3x3 filters

Keras神经网络的学习与使用(4)-数据增强

十年热恋 提交于 2019-11-25 19:24:30
数据增强 数据增强的作用 数据增强的概述 Keras实现数据增强 自己实现数据增强 数据增强的作用 深度学习有3个核心要素,分别是: 优秀的算法设计 高性能的计算能力 大数据 因此在我们拥有优秀的算法设计和高性能的计算能力的同时,我们也需要大量的高质量数据。 但是,对于个人,学校团队甚至普通的工程师团队来说,数据的搜集能力都是十分有限的。缺乏大量高质量的训练样本,便难以训练处一个具有很好泛化能力的模型。因此,我们就需要一些数据集扩充的方法,即我们常说的 数据增强 。 数据增强的概述 对于图像处理的场景,数据增强自然是对图片而言。数据增强就是指对图片数据进行变换、修改,使其变成新的图片数据,从而扩充我们的图片数据集。 图片数据增强的方法主要包括以下几个: 随机裁剪 颜色改变 水平或竖直翻转 随机改变大小 加入噪声 对图片进行仿射变换 通过使用数据增强的方法来实现数据集的扩充,可以使训练后的模型具有更好的 鲁棒性 ,尤其是对噪声的抵抗能力得到强化,进而提高训练后模型的 泛化能力 。 鲁棒性: 1.模型具有较高的精度或有效性,这也是对于机器学习中所有学习模型的基本要求; 2.对于模型假设出现的较小偏差,只能对算法性能产生较小的影响; 主要是:噪声(noise) 3.对于模型假设出现的较大偏差,不可对算法性能产生“灾难性”的影响;主要是:离群点(outlier) 泛化能力 在机器学习方法中