有一个科学文档实现了卷积神经网络来对3 种不同类型的数据进行分类,尽管我不知道具体如何。
以下是网络架构的解释:
本节描述了我们的神经网络的架构,如图 3 所示。 我们的网络具有三种类型的输入:屏幕截图(我们使用尺寸为 1280 × 1280 的页面的上部裁剪,但是该网络可以处理任意大小的页面),TextMaps(尺寸为 的张量)和候选框(任意长度的框坐标列表)。
屏幕截图由三个卷积层处理(前两层使用来自 BVLC AlexNet 的预训练权重进行初始化)。TextMaps使用内核大小为的卷积层进行处理,因此其特征可以捕获各种单词组合。然后将这两层连接起来并由最终的卷积层处理。
我们的网络在上述三种输入中究竟暗示了什么?卷积神经网络是否有可能以不同的方式传递不同类型的输入?
据我了解,屏幕截图输入的神经网络将像这样创建:
def CNN(features, labels, mode):
input_layer = tf.reshape(image, [-1, 1280, 1280, 1])
# Conv+ReLU
conv_relu_1 = tf.layers.conv2d(
inputs=input_layer,
filters=96,
kernel_size=[11, 11],
padding="same",
activation=tf.nn.relu)
# MaxPool
pool1 = tf.layers.max_pooling2d(inputs=conv1, pool_size=[3, 3], strides=2)
# Conv + ReLU
...
所以假设这是第一个神经网络,那么我应该为 TextMaps 创建另一个神经网络并连接结果吗?还是所有魔法都发生在一个神经网络中?
简而言之,我可以创建单独接受不同类型输入的神经网络,还是为每个输入使用不同的神经网络,然后对它们的输出进行分组?
谢谢!