Deep neural networks with interpretability
A feature sub-network trainer improves robustness of interpretability of a deep neural network (DNN) by increasing the likelihood that the DNN will converge to a global minimum of a cost function of the DNN. After determining a plurality of correctly classified examples of a pre-trained DNN, the trainer extracts from the pre-trained DNN a feature sub-network that includes an input layer of the DNN and one or more subsequent sparsely-connected layers of the DNN. The trainer averages output signals from the sub-network to form an average representation of each class identifiable by the DNN. The trainer relabels each correctly classified example with the appropriate average representation, and then trains the feature sub-network with the relabeled examples. In one demonstration, the feature sub-network trainer improved classification accuracy of a seven-layer convolutional neural network, trained with two thousand examples, from 75% to 83% by reusing the training examples.
1 . A neural network classification method, comprising:
determining a plurality of classified examples of a trained neural network;
extracting, from the trained neural network, a feature network having a plurality of network output nodes;
averaging, for each class of a plurality of classes identifiable by the trained neural network, a plurality of output signals from a same output node of the plurality of network output nodes to form one of a plurality of averaged signals associated with each of the plurality of network output nodes, each of the plurality of output signals generated by inputting a different one of the plurality of classified examples of the class into the feature network;
forming a plurality of labeled examples by labeling each classified example, of the plurality of classified examples, based at least in part on the plurality of averaged signals associated with the plurality of network output nodes; and
training the feature network with the plurality of labeled examples.
2 . The method of claim 1 , further comprising joining the feature network, after the training, with another network of the trained neural network.
3 . The method of claim 1 , further comprising:
inputting a plurality of examples to the trained neural network; and
comparing, for each example of the plurality of examples, a corresponding output of the trained neural network to a label associated with one or more of the plurality of examples.
4 . The method of claim 1 , further comprising generating the trained neural network by training an untrained neural network with the plurality of classified examples.
5 . The method of claim 4 , wherein training the untrained neural network includes training the untrained neural network to a selected level of classification accuracy.
6 . The method of claim 1 , wherein said training the feature network includes training the feature network via backpropagation.
7 . The method of claim 1 , wherein:
the trained neural network includes one or more hidden layers; and
extracting the feature network includes selecting one of the hidden layers as an output layer of the feature network,
the method further comprising joining the feature network, after training, with the one of the hidden layers.
8 . The method of claim 1 , at least one of a plurality of layers of the feature network is a sparsely connected layer.
9 . The method of claim 1 , at least one of a plurality of layers of the feature network is a convolutional layer.
10 . The method of claim 1 , further comprising joining the feature network, after training, with the trained neural network; wherein:
layers of the trained neural network following an output layer of the feature network form a dense network; and
at least one of the layers of the dense network is a fully connected layer.
11 . A neural network classification system, comprising:
storage to store a trained neural network;
a processor;
and a network training engine, implemented as machine-readable instructions stored in a memory in electronic communication with the processor, that, when executed by the processor, control the system to:
determine a plurality of classified examples of the trained neural network,
extract, from the trained neural network, a feature network having a plurality of network output nodes,
average, for each class of a plurality of classes identifiable by the trained neural network, a plurality of output signals from a same output node of the plurality of network output nodes to form one of a plurality of averaged signals associated with each of the plurality of network output nodes, each of the plurality of output signals generated by inputting a different one of the plurality of classified examples of the class into the feature network,
form a plurality of labeled examples by labeling each classified example, of the plurality of classified examples, based at least in part on one or more of the plurality of averaged signals associated with one or more of the plurality of network output nodes, and
train the feature network with the labeled examples.
12 . The system of claim 11 , wherein the network training engine includes additional machine-readable instructions that, when executed by the processor, control the system to join the feature network with another network of the trained neural network.
13 . The system of claim 11 , wherein the machine-readable instructions that, when executed by the processor, control the system to determine the classified examples include machine-readable instructions that, when executed by the processor, control the system to:
input a plurality of examples to the trained neural network, and
compare, for each example of the plurality of input examples, a corresponding output of the trained neural network to a label associated with one or more of the plurality of examples.
14 . The system of claim 11 , the network training engine including additional machine-readable instructions that, when executed by the processor, control the system to generate the trained neural network by training an untrained neural network with the plurality of classified examples.
15 . The system of claim 14 , wherein the machine-readable instructions that, when executed by the processor, control the system to train the untrained neural network include machine-readable instructions that, when executed by the processor, control the system to train the untrained neural network to a selected level of training accuracy.
16 . The system of claim 11 , wherein the machine-readable instructions that, when executed by the processor, control the system to train the feature network include machine-readable instructions that, when executed by the processor, control the system to train the feature network via backpropagation.
17 . The system of claim 11 , wherein:
the trained neural network includes one or more hidden layers; and
the machine-readable instructions that, when executed by the processor, control the system to extract the feature network include machine-readable instructions that, when executed by the processor, control the system to select one of the one or more of the hidden layers as an output layer of the feature network; and
join the feature network, after training, with the one or more of the hidden layers.
18 . The system of claim 11 , wherein at least one of a plurality of layers of the feature network is sparsely connected layer.
19 . The system of claim 11 , wherein at least one of a plurality of layers of the feature network is a convolutional layer.
20 . The system of claim 11 ,
further comprising machine-readable instructions that, when executed by the processor, control the system to join the feature network, after the training, with the trained neural network;
wherein:
layers of the trained neural network following an output layer of the feature network form a dense network; and
at least one of the layers of the dense network is a fully connected layer.