写在前面? 本系列笔记为Datawhale11月组队学习的学习笔记:水很深的深度学习。本次组队学习重理论知识学习,包含DL相关的基础知识,如CNN、RNN、Transformer等。参与本次组队学习两个目的:第一,提起自己DL学习的热情;第二,巩固基础知识,使得做实验更加得心应手。 DW 学习文档
卷积神经网络
本章内容是对于前馈神经网络的总结。前馈神经网络就是目前主流神经网络的基础知识,我们需要从中学习到基本的神经元模型,反向传播算法(多层神经元如何进行学习的),网络的优化等。
I 计算图
计算图的引入是为了后面更方便的表示网络,计算图是描述计算结构的一种图,它的元素包括节点(node)和边(edge),节点表示变量,可以是标量、矢量、张量等,而边表示的是某个操作,即函数。 下面这个计算图表示复合函数
II 循环神经网络(Recurrent Neural Network)
RNN的发展历程: 循环神经网络是一种人工神经网络,它的节点间的连接形成一个遵循时间序列的有向图,它的核心思想是,样本间存在顺序关系,每个样本和它之前的样本存在关联。通过神经网络在时序上的展开,我们能够找到样本之间的序列相关性。 其中各个符号的表示: xt,st,ot分别表示的是t时刻的输入、记忆和输出, U,V,W是RNN的连接权重,bs,bo是RNN的偏置,σ,φ是激活函数,σ通常选tanh或sigmoid,φ通常选用softmax。 其中 softmax 函数,用于分类问题的概率计算。本质上是将一个K维的任意实数向量压缩 (映射)成另一个K维的实数向量,其中向量中的每个元素取值都介于(0,1)之间。
III 长短时记忆网络
在RNN中,存在一个很重要的问题,就是梯度消失问题,一开始我们不能有效的解决长时依赖问题,其中梯度消失的原因有两个:BPTT算法和激活函数Tanh
IV 循环神经网络的主要应用
语言模型,问答系统,自动作曲,机器翻译,自动写作, 图像描述
V 总结
RNN虽然理论上可以很漂亮的解决序列数据的训练,但是它也像DNN一样有梯度消失的问题,当序列很长的时候尤其严重。虽然同选择合适的激活函数等方法能够一定程度的减轻该问题。但人们往往更青睐于使用RNN的变种。 因此RNN一般没有直接应用的领域。在语音识别,对话系统以及机器翻译等NLP领域实际应用比较广泛的都是基于RNN模型的变种。
|