EmbeddingLayer

EmbeddingLayer[size,n]

表示一个可训练的网络层,把位于 1 和 n 之间的整数嵌入维度为 size 的连续向量空间中.

EmbeddingLayer[size]

n 从上下文中推断.

更多信息和选项

  • EmbeddingLayer 操作于单个整数或整数的 k 阶数组,分别产生向量或 k+1 阶数组.
  • 指定 EmbeddingLayer[size] 会产生一个网络,当 NetEncoder[] 产生的整数连接于它的输入时,推断 n.
  • EmbeddingLayer 执行的嵌入是在训练中学习的.
  • 可以包含以下可选参数:
  • LearningRateMultipliersAutomatic权重的学习速率倍增器
    "Weights" Automatic维度为 n×size 的权重的初始矩阵
  • 在设置为 Automatic 的情况下,当使用 NetInitializeNetTrain 时,系统自动加上权重.
  • 如果已经加上了权重,通过应用该层 EmbeddingLayer[][input] 显式计算输出.
  • EmbeddingLayer[][{input1,input2,}] 显式计算每个 inputi 的输出.
  • NetExtract 可以用来从 EmbeddingLayer 对象提取权重.
  • NumericArray 作为输入时,输出将是 NumericArray.
  • EmbeddingLayer 通常用在 NetChainNetGraph 等中.
  • EmbeddingLayer 开放下列端口,以便用于 NetGraph 等:
  • "Input"一个整数或整数的 k 阶数组
    "Output"一个向量或 k+1 阶数组
  • EmbeddingLayer[size,n,"Input"->shape] 允许指定输入的形状. shape 可能的形式为:
  • NetEncoder[]编码器产生一个整数或整数的数组
    "Integer"单个整数
    d长度为 d 的整数的向量
    {d1,d2,}维度为 d1×d2× 的整数数组
    "Varying"整数的可变长度向量
    {"Varying",d2,d3,}一个数组的第一个维度是可变的,其余维度是 d2×d3×
  • Options[EmbeddingLayer] 给出了构建层的默认选项列表. Options[EmbeddingLayer[]] 给出了默认选项列表,以便根据某些数据对层进行运算.
  • Information[EmbeddingLayer[]] 给出关于该网络层的报告.
  • Information[EmbeddingLayer[],prop] 给出 EmbeddingLayer[] 的属性 prop 的值. 可能的属性NetGraph 相同.

范例

打开所有单元关闭所有单元

基本范例  (2)

创建一个 EmbeddingLayer,将接受整数 1、2 和 3,并产生尺寸为 4 的向量:

创建一个随机初始化的 EmbeddingLayer,其将接受整数 1、2 和 3,并产生尺寸为 2 的向量:

把该层应用于一个整数:

把该层应用于整数向量:

范围  (4)

创建一个随机初始化的 EmbeddingLayer,把 1 到 10 的整数的变长度序列嵌入到长度为 2 的向量序列,该向量由最后一个维度为2的矩阵表示:

把该层应用到一单个整数序列:

把该层同时应用于多个序列,其中序列长度不相同:

创建一个带有编码输入的 EmbeddingLayer,其中 n 推断自编码器:

随机初始化并应用于该层:

创建一个 EmbeddingLayer,其输入是整数序列,表示一个字符串的字符:

把该层应用于一个字符串:

创建一个 EmbeddingLayer,其输入是表示来自字符串的令牌的代码序列:

选项  (1)

"Weights"  (1)

创建一个 EmbeddingLayer,其中特别指定权:

把该层应用于某些输入:

应用  (2)

在文本处理应用中,操作于整个单词的网络使用一个嵌入把大量人类语言的词汇收敛为可管理的向量大小.

创建一条链把字符串的连续单词嵌入到大小为 10 的向量序列,使用递归层产生最终向量. 首先,使用普通英文单词创建一个编码器:

创建并随机初始化网络,把编码器附加于其输入:

随机初始化其网络并把它应用于某些句子:

使用 NetModel 获取预先培训的 EmbeddingLayer

NetEncoder 附加在网络的输入:

把嵌入层应用于包含两个令牌的语句中:

可视化更长序列的嵌入:

属性和关系  (1)

在指标列表上计算已初始化的 EmbeddingLayer

这等价于:

Wolfram Research (2016),EmbeddingLayer,Wolfram 语言函数,https://reference.wolfram.com/language/ref/EmbeddingLayer.html (更新于 2020 年).

文本

Wolfram Research (2016),EmbeddingLayer,Wolfram 语言函数,https://reference.wolfram.com/language/ref/EmbeddingLayer.html (更新于 2020 年).

CMS

Wolfram 语言. 2016. "EmbeddingLayer." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2020. https://reference.wolfram.com/language/ref/EmbeddingLayer.html.

APA

Wolfram 语言. (2016). EmbeddingLayer. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/EmbeddingLayer.html 年

BibTeX

@misc{reference.wolfram_2024_embeddinglayer, author="Wolfram Research", title="{EmbeddingLayer}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/EmbeddingLayer.html}", note=[Accessed: 17-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_embeddinglayer, organization={Wolfram Research}, title={EmbeddingLayer}, year={2020}, url={https://reference.wolfram.com/language/ref/EmbeddingLayer.html}, note=[Accessed: 17-November-2024 ]}