主要内容

WordembeddingLayer.

用于深度学习网络的单词嵌入层

描述

嵌入层映射到向量中的Word Indices。

在深度学习长短期内存(LSTM)网络中使用单词嵌入层。LSTM网络是一种复发性神经网络(RNN),可以在序列数据的时间步长之间学习长期依赖性。嵌入层的单词映射到嵌入向量的一系列单词索引,并在培训期间学习嵌入的单词。

此图层需要深入学习工具箱™。

创建

描述

例子

= wordembeddinglayer(尺寸numword.创建一个单词嵌入层,并指定嵌入的维度和词汇量大小。

例子

= wordembeddinglayer(尺寸numword.名称,价值设置可选特性使用一个或多个名称值对。用单引号括起每个属性名称。

特性

展开全部

单词嵌入

嵌入单词的维度,指定为正整数。

例子:300

模型中的单词数指定为正整数。如果培训数据中的唯一单词的数量大于numword.然后,该图层将失控的单词映射到同一矢量。

参数和初始化

初始化权重的功能,指定为以下内容之一:

  • '窄正常'- 通过独立从正常分布采样,零平均值和标准偏差0.01来初始化权重。

  • 'glorot'- 使用Glorot Initializer初始化权重[1](也称为Xavier Initializer)。Glorot Initializer从均匀分布的独立样本,零均匀和方差2 /(numin + numout), 在哪里numin = numwords + 1numout =尺寸

  • '他'- 使用初始化程序初始化权重[2]。他初始化来自正常分布的样本,零均值和方差2 / numin., 在哪里numin = numwords + 1

  • '正交'- 初始化输入权重问:,QR分解给出的正交矩阵Z.=问:R.对于随机矩阵Z.从单位正态分布中取样。[3]

  • 'zeros'- 用零初始化权重。

  • '那些'- 用初始化权重。

  • 功能句柄 - 使用自定义功能初始化权重。如果指定函数句柄,则函数必须是表单权重= func(sz), 在哪里SZ.是重量的大小。

该图层仅初始化权重重量财产是空的。

数据类型:char|细绳|function_handle.

层重量,指定为a尺寸-经过-(numword.+1)阵列。

用于输入整数一世小于或等于numword.,该图层输出向量重量(:,i)。否则,图层映射输出向量权重(:,numwords + 1)

学习速度和正规化

学习权重的因素,指定为非负标量。

该软件通过全局学习速率乘以此因素来确定该层中权重的学习率。例如,如果举重是2,那么该层中权重的学习率是当前全球学习率的两倍。该软件根据指定的设置确定全局学习速率培训选项(深度学习工具箱)功能。

例子:2

L2权重的正则化因子,指定为非负标量。

软件将此因子乘以全局L2正则化因子来确定该层中重量的L2正则化。例如,如果掌权2factor.是2,那么该层中重量的L2正则化是全局L2正则化因子的两倍。您可以使用使用的全局L2正则化因子指定培训选项(深度学习工具箱)功能。

例子:2

图层名称,指定为字符向量或字符串标量。如果名称被设置为'',然后软件在培训时间自动分配名称。

数据类型:char|细绳

图层的输入数。此图层仅接受单个输入。

数据类型:双倍的

图层的输入名称。此图层仅接受单个输入。

数据类型:细胞

图层的输出数。此图层仅具有单个输出。

数据类型:双倍的

图层的输出名称。此图层仅具有单个输出。

数据类型:细胞

例子

全部收缩

使用嵌入维度300和5000字的单词嵌入层。

第= WordEmbeddingLayer(300,5000)
layer = wordembeddinglayer具有属性:名称:'''''''viplameters维数:300 num字:5000可学习参数权重:[]显示所有属性

在LSTM网络中包含一个单词嵌入层。

输入= 1;embeddingDimension = 300;numwords = 5000;numhidendunits = 200;numclasses = 10;图层= [sequenceInputlayer(inputsize)wordembeddinglayer(embeddingdimension,num字)lstmlayer(numhidentunits,'OutputMode''最后的')全连接列(numclasses)softmaxlayer类层]
图层= 6x1层阵列,图层:1''序列输入序列输入用1尺寸2'字嵌入层字嵌入层,具有300尺寸和5000个独特单词3'LSTM LSTM,具有200个隐藏单元4''完全连接的10个完全连接的10连接的第5层'Softmax Softmax 6''分类输出crossentropyex

初始化在深度学习网络中的单词嵌入层,重量从备用字嵌入的权重,使用Word2vec.提取层权重的功能并设置'重量'名称 - 值对WordembeddingLayer.功能。嵌入层的单词预期字向量列,因此您必须转换输出Word2vec.功能。

emb = fasttextwordembedding;单词= emb.vocabulary;尺寸= emb.dimension;numwords = numel(单词);tallay = wordembeddinglayer(维度,numword,......'重量',word2vec(emb,单词)')
Layer = WordembeddingLayer具有属性:名称:''''''''QuideParameters维数:300 NUM字:999994学习参数权重:[300×999994单个]显示所有属性

要创建从嵌入单词编码的相应单词,请将嵌入词汇的单词输入Wordencoding.用作单词列表。

enc = wordencoding(单词)
enc = wordencoding属性:numwords:999994词汇表:[1×999994字符串]

参考

[1] Glorot,Xavier和Yoshua Bengio。“了解训练深馈神经网络的难度。”在第十三国际人工智能和统计国际会议的诉讼程序,249-356。撒丁岛,意大利:2010年亚斯特哈。

[2]他,Kaiming,湘雅张,少清任,剑孙。“深入研究整流器:超越了在想象集分类上的人力水平表现。”在2015年IEEE计算机愿景会议的诉讼程序,1026-1034。华盛顿特区:IEEE计算机视觉协会,2015年。

[3] Saxe,Andrew M.,James L. McClelland和Surya Ganguli。“深线性神经网万博 尤文图斯络中学习非线性动力学的精确解决方案”。ARXIV预印迹ARXIV:1312.6120(2013)。

扩展能力

GPU代码生成
使用GPU Coder™为NVIDIA®GPU生成CUDA®代码。

在R2018B中介绍