During analysis of the fragments, we discovered that for one codebook vector there are several corresponding fragments. For example, in Figure , for a single codebook vector, 6 fragments were extracted from 4783 molecules. The most frequent structure corresponds to the C(sp2, central atom)-C(sp2)-C(sp3) acyclic fragment. The other fragments look quite similar to the first one. At the training stage, VQGAE learns enough fragment vectors to maximise the reconstruction rate. At the same time, it is not forced to use as many fragment vectors as possible. In fact, at the end of training, out of a possible 4096 fragment vectors, only 1201 were non-zero. Since the number of non-zero components in the codebook is relatively small, the performance of VQGAE latent vectors in virtual screening tasks might be reduced. One way to increase codebook utilisation is to improve the vector quantization operation by applying noise substitution as suggested in or codebook initialisation techniques such as kmeans . In the second example (Figure ), for one codebook vector more than 5K different structures of fragments from 42K molecules were extracted. Here the top six most frequent fragments are presented. In contrast to the previous example, there is no dominant fragment, as the most popular one was seen less than 5% of the time. The difference between these examples is that in the second case the central atom contains more neighbours.