我正在制作一个用于时间序列数据分析的机器学习程序,使用NEAT可以帮助完成这项工作。我不久前开始学习TensorFlow,但似乎TensorFlow中的计算图通常是固定的。 TensorFlow中是否有工具可帮助构建动态演化的神经网络?还是像Pytorch这样的更好的选择?谢谢。
答案 0 :(得分:1)
建立演化的张量流网络的一种方法是使用超净算法或es-超净算法,而不是在物种中的单个网络上运行进化,而是进化出一个“基因组”,该基因组实际上是编码表型的cppn神经网络。对于cppn,您可以使用前馈张量流网络,但要注意的是每个节点上都可以使用不同的激活函数,这使cppn得以发展成为可以查询``表型''神经网络的结构和权重的方法您可以为其使用通用的tensorflow网络(或您选择的任何网络)
我将研究整洁的python和peas库,并查看它们使用的网络,并使用张量流网络复制这些类。
答案 1 :(得分:0)
TensorFlow支持eager execution,它可以支持任意动态的网络拓扑。
答案 2 :(得分:0)
在TensorFlow的静态图模式下,如果没有明显的取舍,就无法实现它,因为总体中神经网络的拓扑会发生变化。静态图适用于其架构在训练期间不会改变的模型。但是,由于它们支持动态计算图,因此可以在TensorFlow Eager或PyTorch中完成。
在TensorFlow Eager中检查此实现:https://github.com/crisbodnar/TensorFlow-NEAT