给定一系列输入/输出和一组修改该输入的节点,你能找到图的拓扑吗?

数据挖掘 机器学习 图表 信息论
2022-02-25 19:51:50

我正在解决一个问题,我必须对图形拓扑进行建模,其中节点是可以应用于输入的逻辑/算术运算。网络接收多维输入,并返回具有较少维度的多维处理输出。我唯一要做的就是一组输入/输出对和一组可能的节点。

系统本身遵循一些限制:

  • 节点是唯一的,因此可以构成图的可能子集数量有限。
  • 输入必须进入单个节点,输出必须从单个节点返回,即使信息的路径在网络内分支。如果可能有多种拓扑,则答案是最小的。

还有一些加重的因素:

  • 由于节点是一个“可能的列表”,因此不能保证系统是可能的,但尝试找到可能的最接近的匹配很重要,因为机器学习系统使用接近满足来寻找新的可能节点集.
  • 节点可能会接收多个或仅一个输入,并且它们可能会输出一个或多个输出流。

鉴于这个系统,我想知道这里是否有人知道解决这个问题的现有算法(或可以调整的接近算法)。

因此,我的问题如下:

给定一组算术和逻辑函数以及一组输入/输出对,是否有一种算法可以找到满足所有输入/输出对的函数图?

1个回答

该问题通常称为数据流编程,即操作之间数据流动的有向图。

有许多选项可以找到有效的数据流图:

  1. 蛮力 - 枚举所有可能的图表,然后评估它们。
  2. Beam search - 创建可能的候选人,然后评估他们以探索空间。
  3. 架构搜索 - 由于 TensorFlow 是一种数据流编程语言,因此在其语言中完成神经架构搜索 (NAS) 以查找有效图。