神经网络模型

循环神经网络经典模型

落花浮王杯 提交于 2020-02-19 23:12:40
详细地介绍了经典的RNN、RNN几个重要变体,以及Seq2Seq模型、Attention机制。 #一、从单层网络谈起 在学习RNN之前,首先要了解一下最基本的单层网络,它的结构如图: #二、经典的RNN结构(N vs N) 如: 自然语言处理问题。x1可以看做是第一个单词,x2可以看做是第二个单词,依次类推。 语音处理。此时,x1、x2、x3……是每帧的声音信号。 时间序列问题。例如每天的股票价格等等 序列形的数据就不太好用原始的神经网络处理了。为了建模序列问题,RNN引入了隐状态h(hidden state)的概念,h可以对序列形的数据提取特征,接着再转换为输出。先从h1的计算开始看: 图示中记号的含义是:圆圈或方块表示的是向量。 一个箭头就表示对该向量做一次变换。如上图中h0和x1分别有一个箭头连接,就表示对h0和x1各做了一次变换。 在很多论文中也会出现类似的记号,初学的时候很容易搞乱,但只要把握住以上两点,就可以比较轻松地理解图示背后的含义。 h2的计算和h1类似。要注意的是,在计算时,每一步使用的参数U、W、b都是一样的,也就是说每个步骤的参数都是共享的,这是RNN的重要特点,一定要牢记。 依次计算剩下来的(使用相同的参数U、W、b): 一个箭头就表示对对应的向量做一次类似于f(Wx+b)的变换,这里的这个箭头就表示对h1进行一次变换,得到输出y1。剩下的输出类似进行

经典深度卷积神经网络模型原理与实现

旧街凉风 提交于 2020-02-19 17:36:08
卷积神经网络(Convolutional Neural Network,CNN)最初是为解决图像识别等问题设计的,在早期的图像识别研究中,最大的挑战是如何组织特征,因为图像数据不像其他类型的数据那样可以通过人工理解来提取特征。卷积神经网络相比传统的机器学习算法,无须手工提取特征,也不需要使用诸如SIFT之类的特征提取算法,可以在训练中自动完成特征的提取和抽象,并同时进行模式分类,大大降低了应用图像识别的难度;相比一般的神经网络,CNN在结构上和图片的空间结构更为贴近,都是2D的有联系的结构,并且CNN的卷积连接方式和人的视觉神经处理光信号的方式类似。 卷积和池化的随机组合赋予了CNN很大的灵活性,因此也诞生了很多耳熟能详的经典网络:LeNet,AlexNet,VGGNet,NiN,Google Inception Net,ResNet,DenseNet这几种网络在深度和复杂度方面依次递增。下面将分别介绍这几种网络原理,架构以及实现(Pytorch实现)。 LeNet LeNet诞生于1994年,是 最早的深层卷积神经网络之一 ,并且推动了深度学习的发展。从1988年开始,在多次成功的迭代后,这项由Yann LeCun完成的开拓性成果被命名为LeNet5。它是第一个成功大规模应用在手写数字识别问题的卷积神经网络,在MNIST数据集中的正确率可以高达99.2%。

(KWS-DNN)Small-footprint keyword spotting using deep neural networks

半世苍凉 提交于 2020-02-19 11:47:31
会议:ICASSP 2014 论文: Small-footprint keyword spotting using deep neural networks 作者:Guoguo Chen ; Carolina Parada ; Georg Heigold Abstract 我们的应用程序需要具有内存占用量小,计算成本低和精度高的关键字查找系统。为了满足这些要求,我们提出了一种基于深度神经网络的简单方法。训练深度神经网络以直接预测关键词或关键词的子词单元,然后采用后处理方法产生最终的置信度得分。相对于基于竞争性的基于隐马尔可夫模型的系统,关键字识别结果实现了45%的相对改进,而在有杂音的情况下,性能则显示了39%的相对改进。 INTRODUCTION 由于智能手机和平板电脑的快速发展,使用语音与技术进行交互变得司空见惯。例如,Google提供了在Android设备上通过语音搜索[1]的功能,而Apple的iOS设备配备了名为Siri的会话助手。这些产品允许用户点击设备,然后说出查询或命令。 我们有兴趣通过开发一个系统来连续不断地收听特定的关键字来启动语音输入,从而使用户拥有完全的免提体验。这在开车等情况下尤其有用。所提出的系统必须高度准确,低延迟,占用空间小,并且必须在计算受限的环境(例如现代移动设备)中运行。在设备上运行系统避免了连接到服务器进行识别的延迟和功耗问题。 关键字搜寻

循环神经网络 简易使用

…衆ロ難τιáo~ 提交于 2020-02-16 01:22:56
循环神经网络 本节介绍循环神经网络,下图展示了如何基于循环神经网络实现语言模型。我们的目的是基于当前的输入与过去的输入序列,预测序列的下一个字符。循环神经网络引入一个隐藏变量H,用Ht表示H在时间步t的值。Ht的计算基于Xt和Ht−1,可以认为Ht记录了到当前字符为止的序列信息,利用Ht对序列的下一个字符进行预测。 循环神经网络的构造 我们先看循环神经网络的具体构造。假设Xt∈Rn×d是时间步t的小批量输入,Ht∈Rn×h是该时间步的隐藏变量,则: Ht=ϕ(XtWxh+Ht−1Whh+bh). 其中,Wxh∈Rd×h,Whh∈Rh×h,bh∈R1×h,ϕ函数是非线性激活函数。由于引入了Ht−1Whh,Ht能够捕捉截至当前时间步的序列的历史信息,就像是神经网络当前时间步的状态或记忆一样。由于Ht的计算基于Ht−1,上式的计算是循环的,使用循环计算的网络即循环神经网络(recurrent neural network)。 在时间步t,输出层的输出为: Ot=HtWhq+bq. 其中Whq∈Rh×q,bq∈R1×q。 从零开始实现循环神经网络 我们先尝试从零开始实现一个基于字符级循环神经网络的语言模型,这里我们使用周杰伦的歌词作为语料,首先我们读入数据: In [1]: import torch import torch.nn as nn import time import math

DataWhale组队学习打卡(一)

ぃ、小莉子 提交于 2020-02-15 10:16:51
前言 记《动手学深度学习》组队学习第一次打卡。 打卡内容 线性回归 线性回归 线性回归输出是一个 连续值 ,因此适用于 回归问题 。回归问题在实际中很常见,如预测房屋价格、气温、销售额等连续值的问题。与回归问题不同, 分类问题 中模型的最终输出是一个 离散值 。我们所说的图像分类、垃圾邮件识别、疾病检测等输出为离散值的问题都属于分类问题的范畴。Softmax回归则适用于分类问题。 1. 线性回归的 基本要素 我们以一个简单的房屋价格预测作为例子来解释线性回归的基本要素。这个应用的目标是预测一栋房子的售出价格(元)。我们知道这个价格取决于很多因素,如房屋状况、地段、市场行情等。为了简单起见,这里我们假设价格只取决于房屋状况的两个因素,即面积(平方米)和房龄(年)。接下来我们希望探索价格与这两个因素的具体关系。 ① 模型 设房屋的面积为 x 1 x_1 x 1 ​ ,房龄为 x 2 x_2 x 2 ​ ,售出价格为 y y y 。我们需要建立基于输入 x 1 x_1 x 1 ​ 和 x 2 x_2 x 2 ​ 来计算输出 y y y 的表达式,也就是模型(model)。顾名思义,线性回归假设输出与各个输入之间是线性关系: y ^ = x 1 w 1 + x 2 w 2 + b \hat y=x_1w_1+x_2w_2+b y ^ ​ = x 1 ​ w 1 ​ + x 2 ​ w 2

卷积神经网络(一)——基础知识

為{幸葍}努か 提交于 2020-02-15 06:04:38
(一)卷积神经网络基础知识 (1) 卷积神经网络基本结构 卷积神经网络(Convolutional Neural Networks,CNN)是一类特殊的人工神经网络,其最主要的特点就是卷积运算。卷积其实就是一种效果的叠加。CNN 目前在图像相关任务上有很好的效果。如图像分类、语音分割、图像检索、目标检测等计算机视觉问题。 卷积神经网络是一种层次模型,其输入是原始数据,如RGB图像、音频等数据,通过卷积操作、池化操作、非线性激活函数等一系列操作的层层堆叠。目的是将高层语义信息逐层抽象出来,这一过程就是前向传播的过程。 卷积神经网络的组成部分 CNN层次结构 作用 输入层 网络原始输入,可以是原始或预处理后的像素矩阵 卷积层 参数共享、局部连接,利用平移不变性从全局特征图提取局部特征 激活层 将卷积层的输出结果进行非线性映射 池化层 进一步对特征进行筛选,可有效的减少网络所需的参数量 全连接层 将多维特征展平为2维特征,通常低维度特征对应任务的学习目标 1、输入层 输入的图片一般包含RGB三个通道,是一个由长宽分别为H和W组成的3维像素值矩阵H W 3(图片默认的是通道是H W C,在处理的时候一般要将通道转换为C H W ),卷积网络会将输入层的数据传递到一系列卷积、池化等曹操做进行特征提取和转化,最终由全连接层对特征进行汇总和结果输出。若指定输入层接收到的图像个数为N

《动手学深度学习》笔记 Task01:线性回归;Softmax与分类模型、多层感知机

最后都变了- 提交于 2020-02-15 04:34:15
一、线性回归 主要内容: 1.线性回归的解释 2.线性回归模型的基本要素 3.线性回归模型的两种实现方式 1.线性回归的解释 线性回归,就是能够用一个直线较为精确地描述数据之间的关系。这样当出现新的数据的时候,就能够预测出一个简单的值。线性回归中最常见的就是房价的问题。一直存在很多房屋面积和房价的数据,如下图所示: 在这种情况下,就可以利用线性回归构造出一条直线来近似地描述放假与房屋面积之间的关系,从而就可以根据房屋面积推测出房价。 线性回归输出是一个连续值,因此适用于回归问题 。回归问题在实际中很常见,如预测房屋价格、气温、销售额等连续值的问题。与回归问题不同,分类问题中模型的最终输出是一个离散值。我们所说的图像分类、垃圾邮件识别、疾病检测等输出为离散值的问题都属于分类问题的范畴。softmax回归则适用于分类问题。 由于 线性回归和softmax回归都是单层神经网络 ,它们涉及的概念和技术同样适用于大多数的深度学习模型。 2.线性回归模型的基本要素 2.1 模型 为了简单起见,这里我们假设价格只取决于房屋状况的两个因素,即面积(平方米)和房龄(年)。接下来我们希望探索价格与这两个因素的具体关系。线性回归假设输出与各个输入之间是线性关系: 2.2 模型训练 接下来我们需要通过数据来寻找特定的模型参数值,使模型在数据上的误差尽可能小。这个过程叫作模型训练(model

语言模型与循环神经网络

时光怂恿深爱的人放手 提交于 2020-02-15 03:23:03
文本预处理 基本概念 文本是一类序列数据,一篇文章可以看作是字符或单词的序列,在将其输入到模型中之前需要对其进行预处理,处理成为模型可以接收的格式,一般来说,模型预处理包括以下几个步骤: 1.读入文本 2.分词 3.建立字典,将每个词映射到一个唯一的索引(index) 4.将文本从词的序列转换为索引的序列,方便输入模型 具体实现 文本预处理当中较为关键的是建立字典以及转换索引的过程,为了方便模型处理,我们需要将字符串转换为数字。因此我们需要先构建一个字典(vocabulary),将每个词映射到一个唯一的索引编号。 实现方法如下: class Vocab ( object ) : def __init__ ( self , tokens , min_freq = 0 , use_special_tokens = False ) : counter = count_corpus ( tokens ) # : self . token_freqs = list ( counter . items ( ) ) self . idx_to_token = [ ] if use_special_tokens : # padding, begin of sentence, end of sentence, unknown self . pad , self . bos , self . eos

动手学深度学习之循环神经网络基础

时光毁灭记忆、已成空白 提交于 2020-02-14 22:52:38
循环神经网络 本节介绍循环神经网络,下图展示了如何基于循环神经网络实现语言模型。其目的是基于当前的输入与过去的输入序列,预测序列的下一个字符。循环神经网络引入一个隐藏变量 H H H ,用 H t H_t H t ​ 表示 H H H 在时间步 t t t 的值。 H t H_t H t ​ 的计算基于 X t X_t X t ​ 和 H t − 1 H_{t-1} H t − 1 ​ ,可以认为 H t H_t H t ​ 记录了到当前字符为止的序列信息,利用 H t H_t H t ​ 对序列的下一个字符进行预测。 #### 循环神经网络的构造 假设 X t ∈ R n × d X_t\in R^{n\times d} X t ​ ∈ R n × d 是时间步 t t t 的小批量输入, H t ∈ R n × h H_t\in R^{n\times h} H t ​ ∈ R n × h 是该时间步的隐藏变量,则: H t = ϕ ( X t W x h + H t − 1 W h h + b h ) H_t=\phi(X_tW_{xh}+H_{t-1}W_{hh}+b_h) H t ​ = ϕ ( X t ​ W x h ​ + H t − 1 ​ W h h ​ + b h ​ ) 其中, W x h ∈ R d × h W_{xh}\in R^{d\times h} W

当神经网络遇上计算机图形学,会碰撞出怎样的火花?

99封情书 提交于 2020-02-14 14:33:05
来源商业新知网,原标题:TensorFlow也可以做图形渲染了:当神经网络遇上计算机图形学 谷歌给TensorFlow加入了计算机图形处理功能 TensorFlow Graphics ,让神经网络可以更好地理解计算机世界里的图形操作。 计算机图形 (Computer Graphics)和 计算机视觉 (Computer Vision)是一对孪生兄弟,二者互为逆过程。 计算机图形是预先知道3D物体的形状、位置、材料构成,以及场景的灯光和相机,然后渲染出场景。 计算机视觉是已知拍到的图像,从中推断出有哪些物体,它们由什么材料制成,以及它们的3D位置和方向。 图像识别自然不必多说。在TensorFlow Graphics,图像渲染包括对图形进行旋转、缩放、光影、3D网格等操作。 旋转 旋转在与一些机器人任务中非常重要,比如,用机械臂抓住物体需要精确估计这些物体相对于臂的位置。 缩放 缩放计算机视觉中起着重要作用,因为它会极大地影响投影到平面上的三维物体的外观。 光影材质 材质模型定义光与对象的交互方式,展现这种材料独特的外观。在某些虚拟环境中,可以预测某些物体的真实外观。 几何形状 从手机深度传感器到自动驾驶汽车激光雷达,近年来3D传感器越来越多。它们以网格或者点云的方式输出3D数据。 由于它们的不规则结构,与提供规则网格结构的图像相比,这些表示上的卷积很难实现。TensorFlow