author: 张俊林
看深度学习文献,门函数基本上已经是你必然会遇到的一个概念了,最典型的就是LSTM,首先上来你就得过得去“遗忘门”“输入门”“输出门”这三个门。门函数本身是个独立概念,不过LSTM使用多个门函数来组合出一个带有状态记忆的计算模型而已。随着LSTM大行其道,各种计算模型开始在计算过程中引入门函数的概念,相信这些论文你也没少看,其实这也是一种研究模式,比如你看看你手头的模型,想想能不能把门函数引进来?会不会有效?也许能走得通。
RNN概念非常直接简单很好理解,但是看到了LSTM,估计不少人会挠头。学习LSTM刚开始看模型一般都不太容易立马搞明白到底这是怎么回事?其实很重要的原因一个是一下子引入了三个门,太多,另外一个是把记忆状态存储单独独立出来,所以看上去整个逻辑很复杂,其实你要是把门函数到底在干嘛搞清楚,那么LSTM的计算逻辑是非常清晰直接好理解的,跟RNN在概念上其实是一样的。所以首先得搞明白“门函数”们到底在干什么事情。
|猪家的神经网络门控系统
既然叫做门,那么我们可以和现实生活中的门的作用进行类比,比如我们在家里安装门是干嘛的呢?是个控制人进出房间的控制设备,门打开了,那么人就能通过,门闭上了,那么人就过不去,被锁在门外了,门要是半开半闭呢,如果不进一步推门的情况下,如果你体积小,可以侧着身子蹭进去。门打不打得开,打开能打多大,这是由谁来决定的?是由门控设备来决定的。什么是门控呢?我们都听说过“小红帽和狼外婆”以及“三只小猪”的故事,是吧?如果忘了可以看看下面图片辅助回忆一下:
在两个故事中,门控的作用就是狼字辈的不允许进入,妈妈和吃草的动物可以进,不过故事里的门控是通过室内的人或动物的观察来手动实现的,属于真正的“人工智能”或“猪工智能”。我们现在科技发达了,都使用刷卡或者刷脸的方式由门控设备来判断你是猪妈妈还是狼外婆,依此来决定是否让你进入。
假设现在我们帮小红帽或者三只小猪做个刷脸的门控设备,而且我们用目前流行度爆棚的神经网络来做这个门控,怎么做呢?
我们假设猪家其实是当地土豪,人称“豪猪”,有经济实力购买北京三环内学区房,而且房子还挺大,为了方便进出,在东南西北各个方向各有一个门,其神经网络建筑图如下:
当然,目前每个门还没有安装门控设施,所以每个门都可以随意进出,不论”X=猪妈妈