自从神经网络在人工智能领域成为主导技术以来,一个研究子领域已经出现,试图理解它们的内部工作机制。在这个子领域中的一种标准方法是主要理解神经网络如何表征人类可理解的特征。另一种较少探索的可能性是将它们理解为多步骤的计算机程序。这似乎需要一种模块化的前提:网络的不同部分需要足够独立地运作,以便能够单独理解,并实现不同的可解释子程序。
为了在神经网络内部找到模块化结构,我们最初使用图形聚类工具。如果一个网络可以被划分为具有强内部连接但外部连接弱的神经元群组,那么这个网络在这个意义上是可聚类的。我们发现,训练过的神经网络通常比随机初始化的网络更具聚类性,而且常常相对于具有与训练网络相同权重分布的随机网络具有聚类性。我们研究促进聚类性的因素,并且还开发了针对这一目的的新方法。
为了使模块化对理解神经网络有价值,它需要具有某种功能相关性。我们关注的功能相关性类型是功能的局部专业化。一个神经网络在其计算图的部分可以被抽象地表示为执行某些与整体任务相关的可理解子任务的程度上局部专业化。我们提出了两个局部专业化的代理:重要性,反映了神经元集合对网络性能的价值;以及一致性,反映了它们的神经元与输入特征的关联一致性。然后,我们使用通常用来解释单个神经元的技术来操作这些代理,将它们应用于由图聚类算法产生的神经元组。我们的结果显示,聚类成功地找到了重要且一致的神经元组,尽管并非所有发现的神经元组都是这样。我们最后通过一个案例研究来总结,使用更标准的可解释性工具,这些工具旨在理解激活空间中方向所代表的特征,将它们应用于对CoinRun游戏的奖励函数训练的神经网络的分析。
尽管我们的网络实现了低测试损失,但应用可解释性工具显示,网络没有充分代表相关特征,并且在分布外严重误预测奖励。即便如此,这些工具并没有清晰地揭示网络实际上正在执行的计算。这不仅说明了需要更好的可解释性工具来理解泛化行为的必要性,而且也激发了这种需求:如果我们将这些网络视为通过强化学习训练的政策的“动机系统”的模型,那么结论是这样的网络可能在更丰富的环境中追求错误的目标,表明需要可解释性技术来阐明泛化行为。