File Exchange

image thumbnail

Contractive autoencoders

version 1.2.0 (44.5 KB) by BERGHOUT Tarek
in these codes a set of functions created to fully train a Contractive Autoencoder.

10 Downloads

Updated 18 Apr 2019

View License

Contractive autoencoder CAE adds an explicit regularizer in their objective function that forces the model to learn a function that is robust to slight variations of input values. This regularizer corresponds to the Frobenius norm of the Jacobian matrix of the encoder activations with respect to the input. The CAE in this code uses Extreme Learning Machine to minimize the following objective function:
RMSE((f(H+lamda*norm((Dx'.*HT'),'fro'))*Beta)-Targets)

(The parameters of the function are explained inside the code).
The uploaded file contains:
1- An ordinary AE which can be used for comparison.
2- Contractive AE function.
3- Jacobian matrix function downloaded from this link :
https://www.mathworks.com/matlabcentral/fileexchange/13490-adaptive-robust-numerical-differentiation
4- Data normalization function.
To learn about the CAES you can start with this tutorial:
https://www.youtube.com/watch?v=79sYlJ8Cvlc&feature=youtu.be

Cite As

BERGHOUT Tarek (2019). Contractive autoencoders (https://www.mathworks.com/matlabcentral/fileexchange/71257-contractive-autoencoders), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (2)

BR

Are you missing the test function?

Updates

1.2.0

some comments updated

1.1.0

the optimization equation is:B=pinv((H+lamda*norm((Dx'.*HT'),'fro'))') * X ;
and not H=radbas(H+lamda*norm((Dx'.*HT'),'fro'))'), am sorry ,it is corrected now .

MATLAB Release Compatibility
Created with R2019a
Compatible with any release
Platform Compatibility
Windows macOS Linux