# Machine Learning Applications for Jet Tagging in the CMS Experiment
## 3 Jet Substructure and Deep Tagging
### DeepAK8  
In order to classify a hadronically decaying particle through a single large jet, the DeepAK8 algorithm defines five main categories: W, Z, H, t, and other. The algorithm's goal is multi-classification of jets by exploiting particle-level information directly. Due to the different signatures that the same particle can leave in the detector in different decay channels, the five main categories are further subdivided into minor categories based on particle decay modes (e.g., \(Z\to\mathrm{b\bar{b}}\), \(Z\to\mathrm{c\bar{c}}\), and \(Z\to\mathrm{q\bar{q}}\)). The DeepAK8 algorithm uses a large number of variables, both low- and high-level, but not all variables are treated in the same way. The architecture of the algorithm consists of two steps: In the first step, the input variables are split in two lists and processed separately with two classifiers. In the second step, the two previous outputs are combined through a third classifier. The first step includes two one-dimensional CNNs (ResNet model-based [27]). A wide number of rough variables is included in the first list; they are made up of the first 100 constituent particles of the jet under investigation. There are 42 variables used for the description of each particle. The limit on the number of constituent particles does not affect efficiency of the algorithm because only a small fraction of jets identified in the detector include more than 100 reconstructed particles. The second list is made up for a different type of discrimination using high-level variables: 7 SVs are used, each with 15 features. Both lists have a specific role in the algorithm: the particle list helps the network obtain features about the presence of heavy-hadrons, while the SV list improves extraction of heavy-flavour content. The first list is processed with a CNN of 14 layers, while the second list is processed with a CNN of 10 layers. A convolution window with a length of three is used, and the number of output channels in each convolutional layer ranges from 32 to 128. In the second step of the architecture, the outputs of the two CNNs are processed by a simple fully connected NN to combine the two different sources of information and then perform jet classification. The NN comprises only one layer with 512 units, followed by a ReLU [28] activation function and a dropout layer with a 20% drop rate. The algorithm is implemented using the MXNET  
Figure 6: Performance comparison in terms of ROC curves on (**a**) top quark and (**b**) the Higgs boson taggers [26].  
package [29] and trained with the Adam optimiser to minimise the cross-entropy loss. It uses a minibatch size of 1024; the initial learning rate is 0.001, and it is reduced by a factor of 10 at the 10 th and 20 th epochs to facilitate convergence, for a total of 35 epochs. Classification by the DeepAK8 algorithm is performed ad hoc for jets with \(\mathrm{p_{T}}>200\) GeV.  
An alternative DeepAK8 algorithm, DeepAK8-MD, has been developed to be largely decorrelated from the mass of jets while providing an efficiency similar to that of the mass-correlated version. The ROC curves in Figure 6b also report the performances of DeepAK8 and DeepAK8-MD on the same simulated dataset used for the other algorithms.