Neural Networks for Machine Learning Lecture 8

课程地址:https://www.coursera.org/learn/neural-networks

老师主页:http://www.cs.toronto.edu/~hinton

备注:笔记内容和图片均参考老师课件。

这一讲介绍了“Hessian-Free” optimization,Multiplicative connections以及Echo state networks,这里主要回顾Multiplicative connections和Echo state networks。

Multiplicative connections

老师这里先介绍了一种根据文本来预测下一个字母的方法,这是因为预测下一个字母要比预测下一个单词容易得多,如果用之前的$RNN$模型,可以得到下图

我们来看下这样需要几个参数,考虑公式

$M\in R^{1500\times 1500}$,$h _{bias}$表示86个字母,所以参数数量为

可以看到,这样还是需要很多权重的,所以老师介绍了下面一种方法,称为“factors”。

计算公式如下

设$a=(a_1,…,a_n)^T,u_f=(u_1,…,u_n),v_f=(v_1,…,v_n)$,我们来计算$(a^Tu_f ) v_f$

接着计算$(v_f u^T_f ) a $

所以

来计算这里需要几个参数,先计算一个“factor”需要的参数数量,因为$c_f =(b^T w_f )(a^Tu_f ) v_f=(b^T w_f )(v_f u^T_f ) a$,所以一共需要$86+1500+1500=3086$个参数,这里有$1500$个“factor”,那么一共需要$3086\times 1500$个参数,参数的数量远小于之前的方法。

注:$(b^T w_f )(v_f u^T_f ) a$这个式子和课件上不同,我查阅了论坛,感觉是原来的课件写错了。

Echo state networks

这种神经网络的思路是不训练input to hidden和hidden to hidden的权重,将其随机化固定,只训练hidden到output的权重,我认为这种方法实际上就是先进行特征转换,然后再训练数据,老师说这种方法的结果还不错。