Machine learning 什么类型的神经网络可以处理可变的输入和输出大小?

Machine learning 什么类型的神经网络可以处理可变的输入和输出大小?,machine-learning,neural-network,conv-neural-network,rnn,Machine Learning,Neural Network,Conv Neural Network,Rnn,我试图使用本文中描述的方法,使算法学习一个新游戏 只有一个问题不直接适用于这种方法。我试图学习的游戏没有固定的棋盘大小。因此,目前输入张量的维度为m*n*11,其中m和n是游戏板的维度,并且每次玩游戏时都可能发生变化。所以首先,我需要一个神经网络,能够利用这些不同的输入大小 输出的大小也是电路板大小的函数,因为它有一个向量,其中包含电路板上每个可能的移动的条目,因此如果电路板大小增加,输出向量将更大 我读过关于递归和递归神经网络的书,但它们似乎都与NLP有关,我不确定如何将其转化为我的问题 任何

我试图使用本文中描述的方法,使算法学习一个新游戏

只有一个问题不直接适用于这种方法。我试图学习的游戏没有固定的棋盘大小。因此,目前输入张量的维度为
m*n*11
,其中m和n是游戏板的维度,并且每次玩游戏时都可能发生变化。所以首先,我需要一个神经网络,能够利用这些不同的输入大小

输出的大小也是电路板大小的函数,因为它有一个向量,其中包含电路板上每个可能的移动的条目,因此如果电路板大小增加,输出向量将更大

我读过关于递归和递归神经网络的书,但它们似乎都与NLP有关,我不确定如何将其转化为我的问题


任何关于NN架构的想法都可以处理我的案件

您需要回到一个固定的输入/输出问题


应用于图像/时间序列时解决此问题的常用方法。。。就是使用滑动窗口缩小尺寸。也许这可以应用到你的游戏中。

完全卷积神经网络能够做到这一点。conv层的参数是卷积核。卷积内核不太关心输入大小(是的,与步幅、填充输入和内核大小相关的某些限制)

典型的用例是一些convlayers,然后是maxpooling,并一次又一次地重复,直到过滤器变平并连接到稠密层。密集层是一个问题,因为他希望以固定的大小输入。如果存在另一个conv2图层,则输出将是另一个大小适当的要素图

这种网络的例子可以是YOLOv3。例如,如果使用图像416x416x3对其进行馈送,输出可以是13x13x3个过滤器(我知道YOLOv3有更多的输出层,但由于简单,我将只讨论一个)。如果向YOLOv3提供图像256x256x3,输出将是特征映射6x6x过滤器数量


所以网络不会崩溃并产生结果。结果会好吗?我不知道,也许是,也许不是。我从来没有以这种方式使用它,我总是将图像大小调整到推荐的大小或重新训练网络。

您需要的是指针网络()

以下是一篇文章的引言:

指针网络是一种新的神经结构,它学习指向输入序列中位置的指针。这是新的,因为现有的技术需要有固定数量的目标类,这是不普遍适用的-考虑旅行商问题,其中类的数量等于输入的数量。另一个例子是对大小可变的序列进行排序。 -

这是一种基于注意力的模式

实际上,指针网络用于预测返回到输入的指针,这意味着您的输出层实际上不是固定的,而是可变的

我使用它们的一个用例是将原始文本转换为SQL查询

  • 输入:“1983年在美国销售了多少辆汽车?”
  • 输出:从Car_表中选择COUNT(Car_id),其中(Country='US'和 年份=='1983')
像这样的原始文本的问题是,它只对特定的表有意义(在这种情况下,包含一组围绕汽车销售的变量的汽车表,类似于用于棋盘游戏的不同棋盘)。意思是,如果问题不是唯一的输入。因此,实际进入指针网络的输入是-

输入-

  • 质疑
  • 表的元数据(列名)
  • 所有分类列的标记词汇表
  • SQL语法中的关键字(选择、WHERE等)
  • 所有这些都附加在一起

    然后,输出层简单地指向输入的特定索引。它指向国家和年份(来自元数据中的列名),它指向US和1983(来自分类列词汇表中的标记),它指向输入的SQL语法组件中的SELECT、WHERE等

    附加索引中这些索引的序列然后用作计算图的输出,并使用作为WIKISQL数据集存在的训练数据集进行优化


    您的情况非常相似,您需要将输入、游戏元数据以及您需要的内容作为输出的一部分作为附加索引传递。然后指针网络只需从输入中进行选择(指向它们)。

    我可以使用4×4的游戏板训练网络,然后对每4×4的游戏板进行单独预测。那么,问题是如何组合结果,以及与考虑整个董事会时相比,如何共同补偿信息丢失,因为相距较远的部分往往会相互影响。平均、多数投票、自定义规则。。。我不知道你们的游戏对于不同的输入大小,这里有一些很好的答案:对于不同的输出大小,这对我来说仍然是个谜。高度理论化,完全卷积的网络。例如,YOLOv3能够处理不同大小的图像(在therms中,网络不会崩溃)。您测试过自己吗?我认为TF/keras/。。。不匹配张量大小的上升误差(类似这样的事情)。你是说填充?