Reading the Robot Mind: Deep Convolution Networks Decoded
Even as "Explainable AI" is all the rage, coding/transformation fidelity is a critical success factor. Whether you are using frequency bands from Fourier transforms, statistical features of Wavelet decomposition, or various filters in Convolution Networks - researchers must be able to perform the reverse coding/transformation to see if they have retained sufficient information for classification. Without this, they are only guessing via network architecture trial and error. These tools are sorely lacking in Keras on Tensorflow in Python, so I wrote my own. I would like to see these more generalized and made into public libraries.
Question: Who can point me to current work in this area, or can give advice on next steps in my effort?
EXAMPLE: In a deep convolution network trained to recognize Bengali handwriting, this diagram examines the 64 filters after six layers of 2 dimensional convolution. It performs the reverse transformations to show exactly what tiny portion of the handwritten image the filter is looking for.
EXAMPLE: In a deep convolution network trained to recognize Bengali handwriting, this diagram examines the internal representation of input figure. It performs the reverse transformations to show exactly what info has been retained after successive layers of convolution (as well as other data reduction through strides and pooling).
Please see this public Notebook for the details of this work:
https://www.kaggle.com/pnussbaum/grapheme-mind-reader-panv12-nogpu
Comments
Post a Comment