Neural networks have complex structures, and thus it is hard to understand their inner workings and ensure correctness. To understand and debug convolutional neural networks (CNNs) we propose techniques for testing the channels of CNNs. We design FtGAN, an extension to GAN, that can generate test data with varying the intensity (i.e., sum of the neurons) of a channel of a target CNN. We also proposed a channel selection algorithm to find representative channels for testing. To efficiently inspect the target CNN's inference computations, we define unexpectedness score, which estimates how similar the inference computation of the test data is to that of the training data. We evaluated FtGAN with five public datasets and showed that our techniques successfully identify defective channels in five different CNN models.
翻译:神经网络结构复杂,因此难以理解其内部工作机制并确保正确性。为了理解和调试卷积神经网络(CNN),我们提出了测试CNN通道的技术。我们设计了FtGAN——一种生成对抗网络的扩展方法——能够通过改变目标CNN中某个通道的强度(即神经元激活值之和)来生成测试数据。同时,我们提出了一种通道选择算法,用于筛选具有代表性的通道进行测试。为了高效检测目标CNN的推理计算过程,我们定义了异常度分数,用于评估测试数据的推理计算与训练数据的相似程度。通过五个公开数据集对FtGAN进行评估,结果表明我们的技术能够成功识别五种不同CNN模型中的缺陷通道。