## 3 Methods
### SubNet Architecture  
The individual SubNet architectures considered here are shown in Figure 8. The feature generating SubNets are comprised of a selected number of the layer groups shown in Figure 8a. The classification layers are shown in Figure 8b. Figure 8a shows the convolutional layer structure where each convolutional layer followed by a batch normalization layer, rectified linear units (ReLU), and max pooling of window size \(2\times 2\) with a stride of 2 to downsample the feature maps. Note that the number and size of convolution filters present in each layer may differ. The classification block consists of one fully connected layer, softmax function, and cross-entropy loss function as shown in Figure 8b. Figure 8: (**a**) Convolutional layer structure. (**b**) Classification layer structure. Figure 7: Illustration of the IMNS workflow for building IMNets. (**a**) Addition of a series SubNet, (**b**) addition of a parallel SubNet. Let us formally define the output of a SubNet made up of \(L-1\) layer groups such as those shown in Figure 8a followed by an \(L\)'th classification layer as shown in Figure 8b. To begin, let us define one minibatch of input data as  
\[\mathbf{X}=\{\mathbf{X}_{1},\mathbf{X}_{2},\ldots,\mathbf{X}_{N}\}, \tag{1}\]  
where \(\mathbf{X}_{n}\in\mathbb{R}^{H\times W\times D}\) is the \(n\)'th exemplar from the minibatch. These inputs represent potentially multi-channel images with \(H\) rows, \(W\) columns, and a channel depth of \(D\). Consider the case of classification with \(M\) distinct classes. Let the truth for each exemplar be denoted as \(\mathbf{y}_{n}=[y_{n,1},y_{n,2},\ldots,y_{n,M}]^{T}\in\mathbb{R}^{M}\), for \(n=1,2,\ldots,N\). Let us define the \(n\)'th exemplar, \(\mathbf{X}_{n}\), as the input to Layer group 1 of the network. Let this be represented in lexicographical notation as the \(HWD\times 1\) vector \(\mathbf{x}_{n}^{0}\). Note that this is formed by reshaping the \(3D\) data-cube in \(\mathbf{X}_{n}\) into a column vector. The output of each convolutional layer group shown in Figure 8a can be expressed as  
\[\mathbf{x}_{n}^{l}=g(\mathbf{W}^{l}\mathbf{x}_{n}^{l-1}+\mathbf{b}^{l}), \tag{2}\]  
for layer group \(l=1,2,\ldots,L-1\) and exemplar \(n=1,2,\ldots,N\) within the minibatch. The weights of all of the convolution kernels for layer group \(l\) are represented in the weight matrix \(\mathbf{W}^{l}\). The dimensions of \(\mathbf{W}^{1}\) are \(HWN_{f}^{l}\times HWD\) where \(N_{f}^{l}\) is the number of filters in layer group \(l=1\). The dimensions are reduced in subsequent layer groups due to the max pooling layers employed. Bias terms are represented in the vector \(\mathbf{b}^{l}\). Note that \(\mathbf{x}_{n}^{l}\) is the output 3D feature map cube of the current layer \(l\) in lexicographical form as a vector. The ReLU and max pooling layers illustrated in Figure 8a are jointly represented with the nested function  
\[g(\mathbf{x})=\text{MaxPool}(\text{Max}(\mathbf{0},\mathbf{x})). \tag{3}\]  
The maximum of each element and 0 provides the ReLU operation. The ReLU activation function \(g(\cdot)\) is used here to overcome the vanishing gradient problem associated with some other activation functions and allows the network to learn faster and perform better. The \(\text{MaxPool}(\cdot)\) operator uses \(2\times 2\) spatial sub-sampling kernel to reduce the size of the feature maps by a factor of 2 in each spatial dimension of each channel. After the convolution layers groups, we implement the classification layer group as shown in Figure 8b. The fully connected layer is similar to that in Equation (2), except here the output size is equal to the number of classes, \(M\), and the weight matrix connects every input and output. It does not employ convolution kernels. Furthermore, there is no ReLU or max pooling. The fully connected layer function may be represented as  
\[\mathbf{x}_{n}^{L}=\mathbf{W}^{L}\mathbf{x}_{n}^{L-1}+\mathbf{b}^{L}, \tag{4}\]  
where \(\mathbf{x}_{n}^{L}=[x_{n,1}^{L},x_{n,2}^{L},\ldots x_{n,M}^{L}]^{T}\) is the output.