【问题标题】:Is it possible to have multiple inputs in a neural network?神经网络中是否可以有多个输入?
【发布时间】:2019-07-27 09:19:27
【问题描述】:

我有 2 个不同的输入,其中第二个是第一个的输出(在图像中可见 - 请注意我没有包括网络之间的所有线路)。
我正在尝试构建一个网络,在第一个输入和第二个输入之间有一个或多个密集层(完全连接的层),然后在第二个输入和输出之间再次有一个或多个密集层。 这可能吗?

我正在尝试构建的网络:

我已经开始这样定义我的网络:

model = Sequential()
model.add(Dense(num_neurons, input_dim=input, activation='relu'))
model.add(Dense(output, activation='softmax'))

model = Sequential()
model.add(Dense(num_neurons, input_dim=input, activation='relu'))
model.add(Dense(output, activation='softmax'))

由于输入是一个向量,我不知道是否可以使用 RNN/LSTM。

我应该采用不同的网络设计吗?

【问题讨论】:

  • 我不确定你从哪里得到这个神经网络设计,但只有输入层的第一个神经元被传播到输出(所以它只考虑第一个特征)
  • 非常感谢您的评论!我想知道我正在尝试设计的东西是否可能以某种方式(不一定是我设计的方式)
  • 是的,但是您必须自己创建权重矩阵,因为它们不是标准的全连接层,并且必须手动将它们与输入相乘。
  • 我倾向于那个解决方案,但我想知道 Keras 是否有类似的东西。假设我创建了 4 个不同的权重矩阵(第一个输入到第一个 FC,第二个从 FC 到第二个输入,第三个从第二个输入到第二个 FC,第四个从 FC 到输出),你将如何进行反向传播/训练型号?
  • 使用tf.eager,创建自定义层,也许在 Keras 或 PyTorch 中创建自定义层,这些选项中的每一个都应该没问题,不过我个人的喜好会选择最后一个。

标签: machine-learning keras neural-network data-science


【解决方案1】:

我使用 Keras 功能 API 创建了网络! 看起来它允许网络更加多样化,允许许多输入和输出。

【讨论】:

    猜你喜欢
    • 2020-04-12
    • 2015-04-02
    • 2019-03-29
    • 1970-01-01
    • 2012-10-05
    • 2020-12-09
    • 2017-03-16
    • 1970-01-01
    相关资源
    最近更新 更多