1.Feedforward与Recurrent
在说明Highway Network之前先回顾Feedforward与Feedforward
Feedforward
1.经过t层之后得到y,每个f皆不相同
2.这边的t所指为Layer
3.只有一开始有输入x
经常性
1.同一个f不断计算,最后经过g得到y
2.这边的t所指为time step
3.每个time step皆输入x
结论:把RNN竖直,它就可以是一个Feedforward。
2. 循环网络-GRU与Highway Network
2.1GRU变成Highway Network的过程
Highway Network的想法就是要将RNN竖直,测试是否可以训练出一个非常深的NN,这边说明将GRU调整为Highway Network:
左图为原始GRU,右图为调整之后GRU
1.将每个时步的
x
t
x^t
xt取消掉
2.将每个时步的
y
t
y^t
yt取消掉
3.将h调整为a:原
h
t
−
1
h^{t -1}
ht−1指第t − 1个时步的输出,调整为
a
t
−
1
a^{t -1}
at−1代表第t − 1个Layer的输出
4.取消reset gate,保留update gate
原GRU中每一个时步皆有输入,因此不重要的事就可以忘掉,但在Highway Network中只有最开始有输入,如果过程中忘掉资讯,后面就没有任何资讯了。另类想法上,取消reset gate也减少大量参数。
2.2Highway Network
上图是将Highway Network应用于MNIST与CIFAR-100两个资料集。
横轴:层数
纵轴:Loss
作法上是将一个训练好拥有50层的Highway Network直接拔掉一层,看他在训练资料集中的变化,如果没有任何影响,代表它在过程中是直接被pass掉的。
可以发现到,在MNIST中间有一大部份被拿掉之后对结果是没有影响的,这代表训练过程模型自己发现到前面几层才是有用的。
而在CIFAR-100上拿掉几个Layer都对模型有影响,这是因为CIFAR-100的资料较为复杂。
Highway Network的优势:对网络的层数依赖性较低,且有的时候回自动决定需要的网络层数。
3.Grid LSTM
右图:
LSTM不止可以竖直,还可以横向发展,这就是Grid LSTM。
第一行的左图是原始LSTM,第二行的左图Grid LSTM的差异在于输入的部份由一个原本的x,变化为a, b,以此方式同时拥有时间H与深度b的Memory。
第二行的右图Grid LSTM:同样的逻辑也可以套用在3维的情况。