## 2 Materials and Methods
### Neural Network Structure  
The ensemble neural network used in this study is made of a modular series of U-Nets, a state-of-the-art deep learning architecture for semantic segmentation that can be trained using very few images [22; 23]. Each component U-Net consists of a series of encoder blocks followed by a series of decoder blocks. Each encoder block consists of a convolutional, a batch normalization, a rectified linear unit (ReLU), and a max pooling layer. Each decoder block consists of a max unpooling, a concatenation, a convolutional,  
Figure 1: FAF and manual ground-truth registration. The baseline OCT en face mean intensity map shows vessel features that were used to register the shown six-month and twelve-month FAF images and ground truths. a batch normalization, and a ReLU layer. Concatenation is performed with feature maps from the corresponding encoder block. All convolution kernels were set at a size of \(5\times 5\), with a \(1\times 1\) kernel to complete the binary classification task. Of note, there is no softmax layer in the component U-Nets. Rather, the maximum activations are obtained from each component U-Net after the binary classification, and this result is sent to a softmax layer to calculate the probabilities for each pixel to be assigned to the two classes of atrophy or not atrophy. The architecture of a single U-Net is shown in Figure 2.  
Figure 3 shows the architecture of the ensemble neural network used in the prediction of atrophy from baseline feature maps. Each U-Net takes in one feature map as input. Such a strategy naturally augments data, and the various advanced features derived from OCT potentially enhance data beyond the commonly used mean intensity features. After the \(1\times 1\) convolution for binary classification, the outputs of the U-Nets are combined by taking the maximum activations for each pixel from the component U-Nets. This can be imagined as follows:  
\[g(E(Y))=\max(f_{1}(x_{1}),f_{2}(x_{2}),\ldots,f_{n}(x_{n})) \tag{1}\]  
where \(x_{1}\), \(x_{2}\)..., \(x_{n}\) is the input with n features, \(Y\) is the observed quantity to be approximated, \(g(. )\) is the link function, and each \(f(. )\) stands for a component U-Net. These maximum activations are subsequently sent to a softmax function to obtain probability maps of the area of interest. These probability maps can be used as-is or binarized through thresholding. The U-Nets are trained jointly through back-propagation. The neural network is optimized using weighted two-class logistic loss, Dice loss, and a weight decay term for regularization:  
\[\mathcal{L}_{Logloss}=-\sum\
olimits_{x\in\Omega}w(x)g_{l}(x)\log(p_{l}(x)) \tag{2}\]  
\[\mathcal{L}_{Dice}=1-\frac{2\sum\
olimits_{x\in\Omega}p_{l}(x)g_{l}(x)}{\sum \
olimits_{x\in\Omega}g_{l}{}^{2}(x)+\sum\
olimits_{x\in\Omega}p_{l}{}^{2}(x)} \tag{3}\]  
\[\mathcal{L}_{Overall}=\mathcal{L}_{Logloss}+\mathcal{L}_{Dice}+\lambda\|W\|_{ F}^{2} \tag{4}\]  
Figure 2: Architecture of a single U-Net in the ensemble neural network. Each solid horizontal arrow represents a set of a convolutional, a batch normalization, and a ReLU layer; each solid down arrow represents a max pooling layer; each up arrow represents a max unpooling layer; and each dashed horizontal arrow represents concatenation. The numbers in each box represent the dimensions of the data in that layer (height \(\times\) width \(\times\) number of channels). In the above equations, \(w(x)\) is the weight assigned to pixel \(x\in\Omega\), \(g_{l}(x)\) is the ground-truth probability that pixel \(x\) belongs to class \(l\), \(p_{l}(x)\) is the estimated probability that pixel \(x\) belongs to class \(l\), \(\lambda\) is the weight decay, and \(\left\|W\right\|_{F}\) is the Frobenius norm on the weights of the neural network. The neural network has a total parameter count of 8.3 million and 89.7 GFLOPs. This ensemble neural network structure allows for the contributions of each feature map to be isolated and interpreted.