我們可以在pylearn2使用以下YAML文件訓練自動編碼器(連同pylearn2 /腳本/ train.py)充分利用無監督學習的數據瞭解到表示在pylearn2
!obj:pylearn2.train.Train {
dataset: &train !obj:pylearn2.datasets.mnist.MNIST {
which_set: 'train',
start: 0,
stop: 50000
},
model: !obj:pylearn2.models.autoencoder.DenoisingAutoencoder {
nvis : 784,
nhid : 500,
irange : 0.05,
corruptor: !obj:pylearn2.corruption.BinomialCorruptor {
corruption_level: .2,
},
act_enc: "tanh",
act_dec: null, # Linear activation on the decoder side.
},
algorithm: !obj:pylearn2.training_algorithms.sgd.SGD {
learning_rate : 1e-3,
batch_size : 100,
monitoring_batches : 5,
monitoring_dataset : *train,
cost : !obj:pylearn2.costs.autoencoder.MeanSquaredReconstructionError {},
termination_criterion : !obj:pylearn2.termination_criteria.EpochCounter {
max_epochs: 10,
},
},
save_path: "./dae_l1.pkl",
save_freq: 1
}
我們得到的是學習autoencoder模型爲「dae_l1.pkl」。
如果我想使用這個模型進行監督訓練,我可以使用「dae_l1.pkl」來初始化MLP的圖層。然後我可以訓練這個模型。 我甚至可以用'fprop'函數來預測模型的輸出。
但是如果我想要使用這個預訓練模型進行監督式學習,我只想用自動編碼器保存我的數據的新知識表示。
我該怎麼做?
更詳細的問題是把here