您的位置:首页 > 编程语言 > Go语言

Yusuke Sugomori 的 C 语言 Deep Learning 程序解读

2015-07-09 16:17 477 查看
最近开始在学习 Deep Learning 的基础知识,找了些文献来读,觉得有些晦涩。目前对于 DBN 的算法框架已经有个大概了解,但具体实现细节还不是太清楚,在网上搜到了日本学者 Yusuke Sugomori
Github 上的一个 deeplearning 项目,认真读了其 C 语言的版本,感觉收获蛮大,特将程序翻译成数学描述,希望对正在读或者将要读这个代码的朋友有些帮助。

注意,本文只是客观翻译程序,并作一些相关的评注,个人觉得这个程序与目前流行的 DBN 算法有较大差别,不能直接用来实战。学习 Deep Learning 的朋友可将其作为入门,特别是用来理解 Contrastive Divergence 和 Gibbs Sampling 比较有帮助。























补充

文中描述的算法在框架上问题不大,但在一些细节处理上可能有些问题,例如,关于 RBM 中的参数刷新公式, fine-tuning 过程中并没有将之前的层联级微调等,望读者知晓。另外,关于 RBM 算法,我后来又花了点功夫学习了一下,并整理成系列博客(见下面的链接),供大家参考。

目录链接

(一)预备知识

(二)网络结构

(三)能量函数和概率分布

(四)对数似然函数
(五)梯度计算公式

(六)对比散度算法

(七)RBM 训练算法

(八)RBM 的评估

作者: peghoty

出处: http://blog.csdn.net/peghoty/article/details/9079973

欢迎转载/分享, 但请务必声明文章出处.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: