NetPairEmbeddingOperator
表示一个网络,接受一对数组,用 net 把它们嵌入到向量空间,输出嵌入情况下的距离.
NetPairEmbeddingOperator[net,opts]
包括要使用的距离函数的选项和其他参数.
更多信息和选项
- 在 NetPairEmbeddingOperator[net] 中,net 应只接受一个输入,只给出一个输出.
- 可以用 NetExtract 来从 NetPairEmbeddingOperator[net] 对象中提取 net.
- 可包括以下可选参数:
-
DistanceFunction EuclideanDistance 要使用的距离函数 LearningRateMultipliers Automatic 网络中可训练数组的学习率乘子 - 支持以下 DistanceFunction 值:
-
EuclideanDistance 输入间的欧氏距离 CosineDistance 输入间的余弦距离 - NetPairEmbeddingOperator 所表示的网络的输入端口和输出端口为:
-
"Input" 一对数组 "Output" 实数 - 在较大的网络中,如果不能从其他层推导得出,可以使用选项 "Input"->{n1,n2,…} 来确定 NetPairEmbeddingOperator 的每个输入数组对的输入维数.
- 在 NetPairEmbeddingOperator 被训练过的情况下,如果没有指定损失函数,NetTrain 会自动加上一个 ContrastiveLossLayer.
- NetExtract 允许通过 "Net" 访问前向和反向网络.
- Options[NetPairEmbeddingOperator] 给出构建运算器的默认选项的列表. Options[NetPairEmbeddingOperator[…]] 给出在一些数据上运行运算器的默认选项列表.
- Information[NetPairEmbeddingOperator[…]] 给出关于该运算器的报告.
- Information[NetPairEmbeddingOperator[…],prop] 给出 NetPairEmbeddingOperator[…] 的属性 prop 的值. 可能的属性与 NetGraph 相同.
范例
打开所有单元关闭所有单元基本范例 (2)
创建一个 NetPairEmbeddingOperator,使用 NetChain 来嵌入输入:
创建一个 NetPairEmbeddingOperator,用随机初始化的 NetChain:嵌入一对长度为 2 的向量:
范围 (1)
创建一个有一个输入和一个输出的 NetGraph:
创建一个使用 NetGraph 嵌入向量的 NetPairEmbeddingOperator:
可以用 NetExtract 提取 NetPairEmbeddingOperator[net] 中的嵌入网络:
选项 (1)
DistanceFunction (1)
创建一个 NetPairEmbeddingOperator,利用 CosineDistance 函数计算两个嵌入数组之间的距离:
应用 (2)
训练一个多层感知器,仅根据其拓扑结构嵌入合成数据集. 首先,在平面上密集的螺旋状流形上创建训练数据:
用 NetPairEmbeddingOperator 定义一个损失网络,测量嵌入的性能:
创建一个对双数据点进行采样的生成器,如果它们在流形上的参数设定区别大于 Pi,则将其与 True 关联起来:
训练该网络,用生成器对双数据点进行采样,如果它们的原始参数设定非常接近,则将其划分为同类:
学习在 MNIST 数据集中嵌入数字. 首先,导入数据,只取标签在 0 和 4 之间的实例:
通过对图像对 (pairs of images) 采样产生训练集,如果它们的标签不同则用 True 将它们关联起来,如果它们的标签相同则用 False 将它们关联起来:
属性和关系 (1)
NetMapOperator 可用来实现 NetPairEmbeddingOperator. 创建一个初始化的 LinearLayer:
用线性层作为嵌入网络创建 NetPairEmbeddingOperator,并在一个输入上进行评估:
定义一个含有与之前的 NetPairEmbeddingOperator 等同的 NetMapOperator 的 NetGraph,在同样的输入上进行评估:
可能存在的问题 (1)
在 NetPairEmbeddingOperator[net] 中,具有多个输入或输出的网络不能被用作嵌入网络:
文本
Wolfram Research (2017),NetPairEmbeddingOperator,Wolfram 语言函数,https://reference.wolfram.com/language/ref/NetPairEmbeddingOperator.html (更新于 2020 年).
CMS
Wolfram 语言. 2017. "NetPairEmbeddingOperator." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2020. https://reference.wolfram.com/language/ref/NetPairEmbeddingOperator.html.
APA
Wolfram 语言. (2017). NetPairEmbeddingOperator. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/NetPairEmbeddingOperator.html 年