  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.
