神经网络能否学会使用反向传播来避免错误决策?

人工智能 神经网络 反向传播 梯度下降
2021-10-26 12:49:38

我研究了迈克尔尼尔森关于神经网络和深度学习的文章,并根据他的例子开发了一个简单的神经网络。我了解反向传播的工作原理,并且我已经教过我的神经网络不仅可以玩井字游戏,而且还可以通过使用反向传播从他自己的成功中学习来改进自己的游戏。

继续我的实验,我面临的问题是,我不能总是向网络展示用于学习的好动作(可能是因为我根本不知道在某种情况下什么是正确的),但我可能需要向它展示要避免的不良举动(因为一些不良举动是显而易见的)。教网络使用反向传播做什么很容易,但我还没有找到一种方法来教它如何避免使用类似的技术。

是否可以使用像这样的负面例子来教授简单的神经网络,还是我需要其他技术?我的直觉说,有可能将梯度下降“反转”为梯度上升来解决这个问题。还是比这更复杂?

1个回答

你所描述的在概念上接近对抗训练。您应该阅读有关对抗性示例和生成对抗性网络的更多信息以获取更多信息。

这个想法是有一个鉴别器网络,它的工作是正确区分正面和负面的例子。我们还有一个生成网络,它学习生成“混淆”鉴别器网络的“对抗性示例”。通过并排训练这两个网络,两个网络都能更好地完成任务。但人们更感兴趣的通常是生成器网络。

直观地说,您所描述的方法的幼稚实现(来自处于干净/随机初始化状态的网络的不正确示例的梯度上升)不应该起作用。这是因为负面示例不形成“自然类”(所有三角形都有 3 条边,但是所有不是三角形的东西......)