如何为任意问题自动选择神经网络架构?

人工智能 神经网络 参考请求 超参数优化 建筑学 神经进化
2021-11-02 20:37:27

假设我想解决一个神经网络的问题,要么我不能适应现有架构(感知器、Konohen 等),要么我根本不知道这些架构的存在,或者我无法理解它们的机制而我依靠自己。

对于任意问题,如何自动选择神经网络的架构/拓扑(即层数、激活类型、连接的类型和方向等)?

我是一个初学者,但我意识到在某些架构中(或者,至少在感知器中),即使不是不可能理解内部机制也非常困难,因为隐藏层的神经元不表达任何具有数学意义的上下文.

2个回答

我认为在这种情况下,您可能希望使用遗传算法来生成拓扑,而不是自己工作。我个人喜欢NEAT(增强拓扑的神经进化)

最初的 NEAT 论文涉及到连接权重的演变,但如果你只想要一个拓扑,你可以使用加权算法来代替。如果您不确定要使用哪个激活函数,您也可以混合使用。是使用反向传播和多种神经元类型的示例。

另一个答案提到NEAT来生成网络权重或拓扑。论文NeuroEvolution:The Importance of Transfer Function Evolution 和 Heterogeneous Networks还简要总结了神经进化技术,为 NEAT 提供了另一种方法。它使用笛卡尔遗传编程来进化多个激活函数。