The repository "sL_QN_TR" contains programs of s-LBFGS-TR and s-LSR1-TR which are stochastic algorithms based on two well-known quasi-Newton updates, i.e., limited memory BFGS and limited memory SR1, in a Trust Region Framework. These algorithms and their performance in training deep neural networks for image classification tasks are described in the following article:
Mahsa Yousefi and Angeles Martinez Calomardo
Read the supplementary material of the paper for more numerical results.
Mahsa Yousefi and Angeles Martinez Calomardo
This tutorial shows how to define a convolutional neural network (CNN) and how to create and customize your training loops. If you are a MATLAB user who would like to implement your training algorithm for which the MATLAB built-in function does not exist, read this tutorial.
Download and Read the Tutorial.
In this repository,
- all programs have been written in MATLAB using the DL toolbox.
- there are four main programs as below:
sL_BFGS_TR.mlxsL_SR1_TR.mlxsL_BFGS_TR_noBN.mlxsL_SR1_TR_noBN.mlx
- every single program in
.mlxformat (live script of MATLAB) provides a step-by-step guideline for users. - the folder
Subroutinesincludes required functions (.mfiles) for running programs. - the folder
Datasetsconsists of three folders associated with standard benchmarks MNIST, Fashion-MNIST, and CIFAR10 with their loading file. - three considered main architectures with and without batch normalization layers are:
LeNet-likeResNet-20ConvNet3FC2
- the networks without batch normalization layers are included in
sL_BFGS_TR_noBN.mlxandsL_SR1_TR_noBN.mlxprograms.
Remark: For executing, put together main programs with all .m files and required files from Subroutines and Datasets, respectively.
