Videos from JuliaCon are now available online
2018
Previous editions: 2017 | 2016 | 2015 | 2014
Stefan Lenz



BoltzmannMachines.jl: a Julia-native package for training and evaluating multimodal deep Boltzmann machines

Deep learning algorithms have proved to be very successful on image data: Facial recognition and autonomous cars are already out there. The analysis of biomedical data, however, is an exciting new field that still waits for such breakthroughs because it poses different challenges. Genomic sequencing data, e. g., usually encompasses a large number of variables, so-called single nucleotide polymorphisms (SNPs). But since DNA sequencing is still expensive, the available sample sizes are very low compared to the number of measured variables for each sample. This new area is what we want to target with our package “BoltzmannMachines.jl”. With the ability to partition layers of deep Boltzmann machines, the number of model parameters that are to be estimated can be reduced significantly. This makes deep learning possible in a setting with a high number of dimensions but low sample size. We showed that partitioning on basis of correlation structure can enable deep Boltzmann machines to learn meaningful SNP patterns (Hess M., Lenz S., Blätte T. J., Bullinger L., Binder H. Partitioned learning of deep Boltzmann machines for SNP data. Bioinformatics 2017 btx408. doi: https://doi.org/10.1093/bioinformatics/btx408). Besides partitioned modeling, multimodal deep Boltzmann machines are in particular capable of modeling different types of input data, e.g., datasets also containing continuously valued variables. In our implementation, this is possible by using different types of restricted Boltzmann machines and plugging them in at the level of the visible layer. When training on heterogeneous types of data, the choice of the hyperparameters is especially challenging. Therefore, our package puts a strong focus on evaluation and monitoring during model training. As primary evaluation criterion, the likelihood can be estimated using annealed importance sampling. Additionally to that, the package offers convenience methods to monitor a number of other statistics. Also, the monitoring is designed to be easily customizable, which allows the user to examine the learning process and gain more insights into the nature of deep Boltzmann machines.

Speaker's bio