对于多智能体编队问题,我想使用人工神经网络(ANN),该网络应根据视野中邻近智能体的相对位置输出期望的速度向量(x,y),无论是使用(x,y)还是(角度,半径)形式,取决于哪种方式效果更好。
由于智能体的视野大约只有150度,因此视野中的智能体数量是可变的。
我该如何最佳处理ANN的可变数量输入?我很希望能得到一些关于最佳方法的建议。
我能想到的唯一方法是限制可能的输入数量,然后在超过限制时只输入最近的邻居,或者用远处的假邻居填充空输入(因为远距离交互非常有限)。
回答:
通常,你可以构建一个输入数量超过实际需求的网络。关键是要确保你的训练数据与使用数据相匹配。
你可以采用一种方法,即对未使用的向量简单地输入0,0,或者你可以使每个输入类似于x,y,0,其中最后一个数字为1表示该向量应被使用。重要的是要使用大量的训练数据,并使你的实际使用与训练格式相匹配。
未使用或无用的输入在实际操作中倾向于权重趋近于零。
还有更高级的方法,你可以将输出回馈到输入中,然后在每次迭代中增加一个额外的输入。不过,这对于你所做的事情来说可能有点过头了。
你在使用强化学习吗?还是监督学习?