大约半年前在coursera上学完了Ng的深度学习,受益匪浅。只不过时间长了,有的知识点也忘了。趁着寒假宅家,索性复习总结一遍。
第一周主要引入了循环神经网络,然后介绍了其基本结构,随后抛出普通RNN的问题(不能记录先前信息、梯度消失等),引出用于解决这些问题的改进RNN结构——GRU和LSTM,最后介绍了双向RNN和深层RNN。
Why sequence models
这一小节,介绍了序列模型的应用领域。比较常见的有语音识别、情感分析、机器翻译和命名实体识别(前三个,在后面的编程作业都有涉及)。此外,还有音乐生成(文本生成)(作业有涉及)、DNA序列分析和视频动作识别。
Notation
这一小节,介绍了序列模型的标注方法,可以根据不同的应用场合采用不同的标记方法。比如在命名实体识别里面,对于一个句子x,如果出现的是人名,则输出1,否则为0。
对于每一个序列问题,都应该有一个词汇表,用于将序列中的每一个单词,映射成一个one-hot向量。但是仅仅映射成one-hot向量是不够的,还需要添加词向量才行(第二周会讲)。
Recurrent Neural Network Model
这一小节,从用传统神经网络来处理序列模型引发的问题,引出了RNN模型。
有两个问题,第一个是对于序列模型而言,每个样本的长度是不一样的,而传统NN的第一层Neuron数量又是固定的。第二个是对于序列问题而言,前后一般都有联系(单复数、时态等),而传统NN不能捕捉到这种联系。