04 2014 档案

摘要:1.类DBN1.__init__创建类对象。DBN是一个多层感知器,它的每个中间层都分别和一个RBM共享权重。我们首先把DBN建造成一个深度多层感知器(MLP)。在建每一MLP层的时候,同时构建和它相同权重的RBM层。然后对这些RBM层进行训练。由于和MLP层权重是同一个,意味着MLP的权重改变。最后进行微调。通过对MLP进行随机梯度下降来完成按照上面思路,对于结构中的每一层,进行下面操作。计算sigmoid层。输入:输入,输入维数,输出维数,和激活函数计算RBM层。输入:输入,输入维数,输出维数,sigmoid层的W和b参数。然后再在MLP的顶层加上一个逻辑层2.pretraining_fu 阅读全文
posted @ 2014-04-10 21:08 I know you 阅读(1095) 评论(0) 推荐(0)
摘要:1.类RBM1.__init__创建RBM对象。2.free_energy计算自由能量3.propup把可见层计算到隐藏层4.sample_h_given_v这个函数根据可见单元推出隐藏单元的状态5.propdown把隐藏层计算到可见层6.sample_v_given_h这个函数根据隐藏单元推出可见单元的状态7.gibbs_hvh实施一步Gibbs采样,从隐藏层开始8,gibbs_vhv实施一步Gibbs采样,从可见层开始9.get_cost_updates实施一步CD-k或者PCD-k10.get_pseudo_likelihood_cost11.build_finetune_functio 阅读全文
posted @ 2014-04-10 20:42 I know you 阅读(782) 评论(0) 推荐(1)
摘要:最近学习深度学习,学习时间半月不到,很多程序似懂非懂,用的又是不太明白的python。不过不怕。什么也难不倒无产阶级,自己剖析下,不指望指点别人,只希望高人能指点。主函数大体可以分为 建立DBN网络,预训练模型和微调模型三部分。1.建立DBN网络由class DBN(object)的__init__函数来完成,思路是由前面的隐含层生成后面的隐含层,并生成与每一个隐含层对应的RBM层2.预训练模型首先获得预训练函数,由class DBN(object)的pretraining_functions函数来完成,训练的对象是RBM层.里面的核心语句为cost, updates = rbm.get_co 阅读全文
posted @ 2014-04-10 11:55 I know you 阅读(2712) 评论(0) 推荐(0)
摘要:深度学习需要EBM的基础(EBM读书笔记),了解EBM后,需要学习大牛Yoshua Bengio的文章“Learning Deep Architectures for AI”,本文翻译部分内容,并加入自己理解。可能有错误,希望批判的参考。1.引言人的神经实际上就是一层层传递的过程。一个典型的图像如下图所示:4.深层架构的神经网络图:sigmoid信念网络规定\(x=h^0\),则上图中层之间的一个典型的传递公式是:\(h^k=tanh(b^k+W^kh^k-1)\)其中,\(b\)是偏置,而\(W\)是权重,\(tanh\)是一个应用元素智能,能被替代为\(sigm(u)=1/(1+e^{-u 阅读全文
posted @ 2014-04-06 12:43 I know you 阅读(1213) 评论(0) 推荐(0)
摘要:注:本文大部分是A Tutorial on Energy-Based Learning的部分内容翻译,也还有部分自己的理解。因此起名杂记。其中措辞和理解有可能不够严谨。在物理学中,能量最低的状态认为是最稳定的,也可以认为是事物本来的状态。那么模式识别可以这样理解:把准则(判别函数)放在一个输入和各个模式上,如果输入在某个模式上的能量最小,就认为输入属于这个模式的可能性最大。判别函数有好有坏,评价的指标就是损失。能量的定义:标定对于一些决策任务,只简单的取最低能量的系统参数就可以了,而有的时候一个系统输出需要作为另一个系统的输入,因此能量需要被标定。最简单的方法就是Gibbs 分布:\(P(Y| 阅读全文
posted @ 2014-04-03 08:39 I know you 阅读(2778) 评论(0) 推荐(0)