欢迎转载,转载注明出处:
http://www.cnblogs.com/NeighborhoodGuo/p/4711678.html
CS224d的第十一课是他们的课上考试,所以后面的视频就直接跳到lecture 12了。lecture 12是一位外宾过来讲得,据说是Facebook的工程师,讲了现在最前沿的AI research,AI很多东西在全世界范围内都没有解决方案或者说对某一问题有统一的意见,所以这堂课不是介绍一个成熟的model,可以理解这一讲是为大家打开一扇门,让大家了解AI中的这部分工作是怎么开展的,从very super-super-high-level的角度解释了这个research。
这堂课的就介绍了一个东西,就是Memory Networks。不过Memory Networks涵盖的范围太广,再加上这个model还不成熟,一堂课也仅仅只是简要介绍它。
Memory Networks不是和之前我们讲得模型里所定义的那种Memory。之前课上介绍的Model里的memory是使用各种data然后训练model,可以认为memory存储在这个model的weight里,可以用来进行object detection等的工作。而这堂课讲得memory和之前定义的不是一个概念,之前的memory类似计算机的软件,这堂课讲得memory类似计算机的硬盘,需要用到memory的时候从硬盘里提取数据,不需要的时候就放那里。
这堂课所讲的AI只是AI中的一个小分支,也就是Q&A的部分,也就类似我们中学英语考试的阅读理解,或者语文高考的最后几道阅读题。我们实际想要达到的目标是能够让计算机完成语文高考的阅读题的水平,这种目标想法很好,但是实现很难衡量现有模型的好与坏,而且也不可能一下就实现这么复杂的架构。所以基于以上考虑聪明的科学家把Q&A分成了好几块类似我们中学英语的阅读理解,不用回答完整的句子,只要像英语阅读那样司选一或者只要回答单个或者几个关键词即可。论文中有具体的介绍分出来的Tasks的讲解和例子,从前到后的排序是由容易及难。我们大致的认为先把以上的几个分块的任务完成之后,再使用一个优化的model使得输出的句子比较nature就能完成AI的Q&A的任务了。
这个Memory Network的目标是可以理解(comprehension)一篇文章或者一部电影,然后根据文章或者电影的内容回答问题。但是动词的种类那么多,如果一个单词一个处理方法的话不现实,效率也挺低,而很多动词的意思其实是类似的,所以就可以使用下图中的基本Command来替代这些各种各样的单词。
替代完成后,再进行处理就相对来说简单了。
有了处理过的数据,也有了多个简单的Q&A目标,接下来就可以进行model的建立了。
我们建立的model主要分为四个部分I,G,O,R
I这一模块,其实之前的课程大部分都是针对I模块所包含的任务的,比如说Parsing,RNN。
不论在论文里还是在课上讲到的O模块的搜寻的向量只搜索两个,具体搜索方法如下:
简单的说就是每次取出最高score的向量,然后再根据取出来的这两个向量和原始的问题生成貌似nature的回答。
那么如果在Memory里一个单词没有见过或者一个单词遗失了怎么办呢?简单的办法就是使用临近的单词,然后Bag-of-words
当然以上的内容还远远没有达到AI的要求,课上和论文里都给出了approach AI的两个方法:
好啦,AI的大门已经打开啦!真希望有生之年能看到AI的实现。