NetUnfold
NetUnfold[fnet]
生成折叠网络 fnet 中的基本网络,并给出循环的状态.
更多信息和选项
- 折叠网络是通过重复相同的操作单向迭代序列的网络,例如循环网络和单向转换器.
- NetUnfold 通常用于提取重复的操作,以便从经过训练的解码器高效生成序列,这些序列可用于生成文本和音频、文本翻译等.
- ,训练参数为 ,具有状态方程 和输出方程 的循环网络,展开的网络只对应于循环 和 中的一步.
- 具体来讲,NetUnfold 揭示了以下折叠层的循环状态:
-
BasicRecurrentLayer[…] one-state 向量 GatedRecurrentLayer[…] one-state 向量 LongShortTermMemoryLayer[…] two-state 向量,其中有一个内部单元的状态 NetFoldOperator[net,{"out1""in1",…,"outn""inn"},…] n-state 向量 AttentionLayer[…,"Mask""Causal"] two-state 序列,即之前的键和值 - 给出的循环层的状态是通常用零初始化的向量. 给出的转换器的状态是长度可变的向量序列,通常用空序列初始化.
- NetUnfold 也可以应用于折叠网络,对其输出序列的最后一个元素进行操作. 这种情况下,相应的 SequenceLastLayer 将被删除.
- NetUnfold 可以看作是 NetFoldOperator 的逆操作.
范例
打开所有单元关闭所有单元基本范例 (1)
获取折叠在 GatedRecurrentLayer 中的核心操作:
应用 (1)
该函数的问题是它具有二次时间复杂度,因为模型被多次输入相同的内容:
通过公开状态信息,NetUnfold 允许避免对相同的激活进行两次重复的计算:
属性和关系 (2)
Wolfram Research (2021),NetUnfold,Wolfram 语言函数,https://reference.wolfram.com/language/ref/NetUnfold.html.
文本
Wolfram Research (2021),NetUnfold,Wolfram 语言函数,https://reference.wolfram.com/language/ref/NetUnfold.html.
CMS
Wolfram 语言. 2021. "NetUnfold." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/NetUnfold.html.
APA
Wolfram 语言. (2021). NetUnfold. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/NetUnfold.html 年