Skip to content

用 MATLAB 实现深度学习网络中的 stacked auto-encoder:使用AE variant(de-noising / sparse / contractive AE)进行预训练,用BP算法进行微调

Notifications You must be signed in to change notification settings

zheng-yuwei/Stacked_Autoencoder

Repository files navigation

version 1.0 基本完整版

run_SAE_once(sparse + de-noising + 各种activation function )

这个是基本版,都是别人的工作。接下来版本应该是自己改进

main()
|---load_MNIST_data(images_file, labels_file, preprocess, is_show_images) // for train
|---load_MNIST_data(images_file, labels_file, preprocess, is_show_images) // for test
|       |---load_MNIST_images(images_file, preprocess, is_show_images, varargin )
|       |       |---whitening(data)
|       |---load_MNIST_labels(labels_file)
|
|---get_SAE_option(preOption_SAE, varargin)
|		|---get_AE_option(preOption_AE)
|		|---get_BP_option(preOption_BP)
|---get_BPNN_option(preOption_BPNN)
|
|---run_SAE_once(images_train, labels_train, images_test, labels_test, architecture, option_SAE, option_BPNN, is_disp_network, is_disp_info )
|       |---train_SAE(input, output, architecture, preOption_SAE) // SAE
|       |       |---init_parameters(architecture_AE) <----------------------------------------------------------------------+
|       |		|---train_AE(input, theta_AE, architecture_AE, option_AE)                          						    |
|       |		|		|---denoising_switch(input, count_AE, option_AE)                                    				|
|       |		|		|---minFunc(fun, theta_AE, options)                                               					|
|       |		|		|		|---calc_AE_batch(input, theta_AE, architecture_AE, option_AE, (input_corrupted,) ~)		|
|		|		|		|---predict_NN(input, architecture_AE(1:2), theta_AE(W1,b1), option_AE)								|
|		|		|																											|
|		|		|------------------------------------- until train all stacked AE ------------------------------------------+
|		|		|
|       |		|---init_parameters(architecture_BP, last_active_is_softmax, varargin)
|       |		|---train_BPNN(input, output, theta_BP, architecture_BP, option_BP)
|       |		|		|---fun = @(x) calcBPBatch(input, output, x, architecture, option_BP)
|       |		|		|---minFunc(fun, theta_BP, options)
|		|
|		|---display_network(W)
|		|
|       |---predict_NN(input, architecture, theta_SAE, preOption_BPNN)
|       |---get_accuracy(predicted_labels, labels)
|       |
|       |---train_BPNN(input, output, theta_SAE, architecture, preOption_BPNN) // fine-tune
|       |
|       |---predict_NN(input, architecture, theta_SAE, preOption_BPNN)
|       |---get_accuracy(predicted_labels, labels)
|
|
end

[784 400 200 10] + ReLu + sparse(rho = 0.1, beta = 0.3) + de-noising( mode = 'On_Off', rate = 0.15 ): 98+%, 1900s ;

by 郑煜伟 Ewing 2016-04

About

用 MATLAB 实现深度学习网络中的 stacked auto-encoder:使用AE variant(de-noising / sparse / contractive AE)进行预训练,用BP算法进行微调

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages