  We perform topological data analysis on the internal states of convolutional
deep neural networks to develop an understanding of the computations that they
perform. We apply this understanding to modify the computations so as to (a)
speed up computations and (b) improve generalization from one data set of
digits to another. One byproduct of the analysis is the production of a
geometry on new sets of features on data sets of images, and use this
observation to develop a methodology for constructing analogues of CNN's for
many other geometries, including the graph structures constructed by
topological data analysis.
