是否可以创建具有两个输入、具有顺序层的神经网络?

数据挖掘 神经网络 深度学习 美国有线电视新闻网 lstm
2021-10-06 05:46:26

就NN的层结构而言,是否有一种自然的方法可以将2个输入向量传递给NN?

示例:文本作者身份识别

  • 输入#1:由未知作者编码的句子1,作为字典中的单词列表

    “天空是蓝色的” => x1 = [2, 23, 7, 76, 0, 0, 0, ..., 0](零填充以具有 1000 个项目的长度)

  • 输入#2:sentence2 by unknown author, idem

    “猫在睡觉” =>x2 = [2, 65, 7, 121, 0, 0, 0, ..., 0]

  • 输出y= [0, 1] 中的单个数字。
    0 = 不同作者
    1 = 同一作者
    0.9 = 同一作者的高概率等。

当然,我可以像这样构建图层:

  Input-size: None, 1000, 2    (x1, x2 stacked into a 1000x2 matrix)
  CNN ...
  ...
  Dense: None, 1

然后我可以使用包含 10,000 对同一作者的句子(期望输出:1)和 10,000 对不同作者的句子(期望输出:0)的数据集进行训练。

但我不知道它是否可以通过将 x1 和 x2 堆叠为 1000x2 矩阵来工作。

TL; DR:构建 NN 的经典方法是什么?以 2 个输入和一个数字作为输出,即从 0% 到 100% 的相似性指数?(如果可能,使用顺序结构)

1个回答

当然!您可以通过多种方式传入两个输入。您将输入像 2 通道图像一样堆叠的想法是一种想法。

另一个可能更简单的想法是这样的:

在此处输入图像描述

直觉是网络学习两个句子的中间表示,然后比较这些表示。

当然,您在如何配置网络连接方面具有极大的灵活性。有无穷无尽的变化可以让您拥有两个(或更多)单独的输入。再举一个例子,查看 DeepMind 的pysc2 论文在第 10 页,您可以找到处理三种不同输入的网络图。有一个非空间特征的平面向量以及两个不同的空间输入。

在此处输入图像描述