theano有没有直接做dbn的函数
答案:2 悬赏:80
解决时间 2021-02-16 05:40
- 提问者网友:多余借口
- 2021-02-15 06:17
theano有没有直接做dbn的函数
最佳答案
- 二级知识专家网友:抱不住太阳的深海
- 2021-02-15 07:08
一、实现:
1、Layer-wise pre-training阶段,一层一层的训练Restrict Boltzmann Machine (RBM),用的CD-k(k=1)的方法;
2、最后一层加入了softmax regression,作为最终结果输出层;
3、fine-tuning过程,即为传统的BP过程。
二、实验
1、用的MNIST的数据集,这里为了可以忍受自己写的幼儿园水平代码的效率,选择10000个样本training,60000个样本testing。不过传统上大家都把两者反过来,效果肯定会更好了。
2、学习速率0.1,rbm和LR的L2的惩罚相lamda开始用的0.0002,三个隐层大小[400 400 900],这些都没调
3、开始时候没有进行fine-tuning, accuracy大约在84%左右(不过这里是用的svm,当时lr还没写完。。),现在fine-tuning之后,用softmax regression对60000个样本分类结果为93%,还可以哈。不过把L2正则项的惩罚因子lamda设成0后,准确率到了95%。
4、调调参,或者用60000训练10000测试,达到95%以上应该没啥问题吧。
三、源码:https://github.com/lipiji/PG_DEEP
1、想做成像libsvm一样好用的tool,一个train可以训练出模型,一个predict可以预测你的数据,目前还在开发当中。
2、源码风格比较幼儿园,好处就是能够看懂每个细节,方便学习吧;怪自己一直没有遇到什么c++鲁棒规范实践的项目。
3、代码没有进行任何矩阵等计算的优化,优化空间很大。
四、计划
1、优化代码,理想是做一个像libsvm一样方便大家使用的tool;
2、学习实现DNN, AutoEncoder和Sparse Coding啊,convolution啊、dropout啊、GPU啊等等其他升级版本;
3、能够再次基础上扩展出vision、nlp等领域里面的那些好用的算法,例如word2vec等。
1、Layer-wise pre-training阶段,一层一层的训练Restrict Boltzmann Machine (RBM),用的CD-k(k=1)的方法;
2、最后一层加入了softmax regression,作为最终结果输出层;
3、fine-tuning过程,即为传统的BP过程。
二、实验
1、用的MNIST的数据集,这里为了可以忍受自己写的幼儿园水平代码的效率,选择10000个样本training,60000个样本testing。不过传统上大家都把两者反过来,效果肯定会更好了。
2、学习速率0.1,rbm和LR的L2的惩罚相lamda开始用的0.0002,三个隐层大小[400 400 900],这些都没调
3、开始时候没有进行fine-tuning, accuracy大约在84%左右(不过这里是用的svm,当时lr还没写完。。),现在fine-tuning之后,用softmax regression对60000个样本分类结果为93%,还可以哈。不过把L2正则项的惩罚因子lamda设成0后,准确率到了95%。
4、调调参,或者用60000训练10000测试,达到95%以上应该没啥问题吧。
三、源码:https://github.com/lipiji/PG_DEEP
1、想做成像libsvm一样好用的tool,一个train可以训练出模型,一个predict可以预测你的数据,目前还在开发当中。
2、源码风格比较幼儿园,好处就是能够看懂每个细节,方便学习吧;怪自己一直没有遇到什么c++鲁棒规范实践的项目。
3、代码没有进行任何矩阵等计算的优化,优化空间很大。
四、计划
1、优化代码,理想是做一个像libsvm一样方便大家使用的tool;
2、学习实现DNN, AutoEncoder和Sparse Coding啊,convolution啊、dropout啊、GPU啊等等其他升级版本;
3、能够再次基础上扩展出vision、nlp等领域里面的那些好用的算法,例如word2vec等。
全部回答
- 1楼网友:請叫我丶偏執狂
- 2021-02-15 08:03
有的
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯