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

时间:2022-12-14 13:14:56


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

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

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

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

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

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

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

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

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


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

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

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

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


补充

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


 目录链接

(一)预备知识

(二)网络结构

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

(四)对数似然函数

(五)梯度计算公式

(六)对比散度算法

(七)RBM 训练算法

(八)RBM 的评估


作者: peghoty 

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

欢迎转载/分享, 但请务必声明文章出处.