2015-09-24 45 views
2

我想學習深度學習。爲什麼無監督模型需要實現nn.diag?

在火炬教程,

https://github.com/torch/tutorials/blob/master/2_supervised/2_model.lua

https://github.com/torch/tutorials/blob/master/3_unsupervised/2_models.lua

監督模式

-- Simple 2-layer neural network, with tanh hidden units 
model = nn.Sequential() 
model:add(nn.Reshape(ninputs)) 
model:add(nn.Linear(ninputs,nhiddens)) 
model:add(nn.Tanh()) 
model:add(nn.Linear(nhiddens,noutputs)) 

無監督模式

-- encoder 
encoder = nn.Sequential() 
encoder:add(nn.Linear(inputSize,outputSize)) 
encoder:add(nn.Tanh()) 
encoder:add(nn.Diag(outputSize)) 
-- decoder 
decoder = nn.Sequential() 
decoder:add(nn.Linear(outputSize,inputSize)) 
-- complete model 
module = unsup.AutoEncoder(encoder, decoder, params.beta) 

爲什麼無監督模型需要實現nn.Diag?

在此先感謝。

+0

實際上,您應該在[torch郵件羣組]上(https://groups.google.com/forum/#!forum/torch7)提問。你更有可能在那裏得到答案。 (我也很好奇這個問題,所以請在那裏發帖) – user8472

+0

OK〜完成 https://groups.google.com/forum/#!topic/torch7/zRRpK9418qE – YuTse

+0

只是縮小一些重量,也許.. 。 – YuTse

回答