这一章节就是主要围绕RNN(recurrent neural network)的概念和计算机视觉方面的应用了,由于我之前的工作都是为了图像的检测识别分类,知识侧重于经典的图像处理、经典的机器学习算法和卷积神经网络,对RNN的计算原理之类的没那么清晰(留坑,后面补上)。简要概括如下。
Vanilla Neural Network结构分类:
Vanilla是常见的RNN之一,结构相对简单明了,主要分为one to one、one to many、many to one、many to many这几种,如下
第三个many to one例如可应用于情感分析(Sentiment Classification)(用途是将一串文本语言序列转换成情感),第四个many to many例如可应用于机器翻译(Machine Translation)(用途是将一串文本语言转换成另外一串),第五个many to many例如可应用于基于帧级的视频分类(Video classification on frame level)。可以看出RNN倾向于“序列处理”,所以它在自然语言处理NLP更受欢迎,个人目前也对NLP起了很大兴趣,后面有时间定好好学下。
Vanilla Neural Network序列处理:
Vanilla在每一时间步长(time step)使用一个循环公式,
单层的构造 ,不带输出的计算图
多层堆叠即直接向右扩展,其中many to many展示如下