循环神经网络入门与应用
1. 状态概念的引入
想象你在制作圣代冰淇淋。一开始,你往空杯子里放了三勺香草冰淇淋,但经理觉得太多,让你去掉一勺,此时你的状态更新为“一个装有两勺香草冰淇淋的空杯子”。接着,经理让你倒上足够的巧克力糖浆覆盖冰淇淋,你照做后,状态变为“一个装有两勺被巧克力糖浆覆盖的香草冰淇淋的空杯子”。这让你想起了朋友马蒂,因为这是他最喜欢的甜点,于是你简化状态,只记住“马蒂最喜欢的”。最后,经理让你在顶部放一颗樱桃,状态更新为“顶部有一颗樱桃的马蒂最喜欢的甜点”,圣代制作完成。
从这个故事中,我们可以总结出关于状态的几个关键要点:
- 状态并非简单快照 :它不是当前情况的简单快照或所获信息的列表,而是以压缩或修改的形式捕捉这些信息。例如,你记住放两勺冰淇淋,而不是先放三勺再去掉一勺。
- 状态更新与输出 :每次接收新信息后,你会更新状态并产生输出。输出取决于输入和内部状态,但外部观察者看不到你的状态,因此可能不理解输出是如何从输入产生的。这就是为什么我们有时将系统的状态称为“隐藏状态”。
- 输入顺序很重要 :这是这个例子的关键,它使这个过程成为一个序列,而不仅仅是一堆输入,这也将其与简单的全连接层区分开来。如果先把巧克力放进杯子里,你会做出完全不同的甜点,并且可能不会在状态中联想到朋友马蒂。
我们把每个输入称为一个“时间步”。当输入代表时间中的事件时,这个概念很容易理解。但有些序列可能没有时间成分,比如描述河流从源头到终点沿途各点深度的序列。不过,“时间步”这个术语仍广泛用于指代序列中的每个连续元素。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



