[Re:] Training Binary Neural Networks using the Bayesian Learning RuleDownload PDF

Jan 31, 2021 (edited Apr 01, 2021)RC2020Readers: Everyone
  • Keywords: Binary Neural Networks, Bayesian Learning Rule, Image Classification, STE, Semantic Segmentation, Continual Learning
  • Abstract: Reproducibility Summary: The original paper gives a mathematically principled approach to solve the discrete optimization problem that occurs in the case of Binary Neural Networks and claims to give a similar performance on various classification benchmarks such as MNIST, CIFAR-10 and CIFAR-100 as compared to their full-precision counterparts, as well as other recent algorithms to train BNNs like PMF and BOP. The paper also claims that the BayesBiNN method has an application in the continual learning domain as it helps in overcoming catastrophic forgetting of the past by using the posterior approximation of the previous task as a prior for the upcoming task. We try to reproduce all the results presented in the original paper by making a separate and independent codebase. Scope of Reproducibility: We try to verify the performance of our re-implementation of the BayesBiNN optimizer on various classification and regression benchmarks. We also implemented the STE optimizer which was the central baseline model used in the paper. Finally, we tried to evaluate the results of BayesBiNN on the continual learning benchmark to get a better insight. Methodology: We developed our separate code-base, consisting of an end-to-end trainer with a Keras like interface, for the reproduction which includes the implementation of the BayesBiNN and STE optimizer. We did refer to the author's code open-sourced on GitHub to get some insights about the hyperparameters and other doubts that emerged during code development. Results: We reproduced the accuracy of the BayesBiNN optimizer within less than 0.5\% of the originally reported value, which upholds the conclusion that it performs nearly as well as its full-precision counterpart in classification tasks. When we tried this in a semantic segmentation context, we found that the results were very underwhelming and in contrast with the seemingly good results by the STE optimizer even with much hyperparameter tuning. We can conclude that, like other Bayesian methods, it is difficult to train BayesBiNN on more complex tasks. What was easy: After we worked out the mathematics behind the BayesBiNN approach, we developed a pseudo-code for the optimization process which along with references from the author's code, helped us a lot in our reproduction study. What was difficult: Some of the hyperparameters were not mentioned by the authors in their paper so it was difficult to approximate the values of those parameters. The lack of resources was the next big difficulty that we faced. Communication with original authors: We had a very fruitful conversation with the authors that helped us in a better understanding of the BayesBiNN approach. It also helped us in our extension to the segmentation domain. The detailed pointers are given at the end of the report.
  • Paper Url: https://openreview.net/forum?id=jsrGMN98wJ&noteId=D7XO0agO1i5&referrer=%5BML%20Reproducibility%20Challenge%202020%5D(%2Fgroup%3Fid%3DML_Reproducibility_Challenge%2F2020)
  • Supplementary Material: zip
3 Replies