CS224d lecture 9札记

欢迎转载,转载注明出处:

http://www.cnblogs.com/NeighborhoodGuo/p/4694955.html

最近几课的内容不是很难,还有我的理解能力有所提高(自恋一下),所以这几课完成的都挺快。不知不觉lec9也完成了。这一讲讲了另一个RNN,其中R是Recursive不是之前的Recurrent。课上老师使用Recursive NN来做NLP和CV的任务,我个人认为做CV还是不错的,这个NLP怎么感觉有点不靠谱。不管怎么说这个model还是解决了很多实际问题的,而且性能也不错,现在就来记录记录喽。

首先来梳理一下这一课讲得内容吧。首先讲了如何把一个sentence进行vector表示,再是如何进行parsing,然后是构建object function的方法max-margin以及BPTS(Backpropagation Through Structure),最后是Recursive NN的几个改良版还有这个model也可以进行computer vision的工作。

1.Semantic Vector Space for sentence

类似上一阶段的word vector space这次我们是将一整个sentence投影到semantic vector spaces中。我们的模型是基于这样两个假设:一个句子的意思是基于1.这个句子所包含单词的意思;2.这个句子的构建方式。其中第二点还在争论中,我们这一讲讨论的模型可以同时完成两个任务,第一可以学出来这个句子的tree模型,第二可以学出来这个句子在semantic vector space里的表示。

Parsing tree是什么呢?上图:

其中上面那个图就是在这一讲里所述的parsing tree,而上一讲的recurrent neural networks其实类似下面的parsing tree它被视作是上一种parsing tree的特殊表示方式。

这两种表示方法到底哪个正确现在还没有定论(still cognitively debatable)

怎样学出来这个parsing tree呢?聪明的人类发明了一个方法叫beam search就是bottom-up的方法,从最低下开始,计算哪两个成为好基友的score最大,然后取出来最大的score的俩个node然后他俩就merge了(好邪恶)。最后一直到最上面全部都merge起来了就形成了一个parsing tree。

2.objection function?Max-margin framework

slide里的objection function我之后参阅了recommand reading里的object function发现不一样正负号是反的。我猜测是不是老师写得时候给写反了??

论文里给出的object function是这样的,其中delta(yi, y_hat)是根据标记错误的node数量再乘以一个k得出的:

score有两个部分:

前半段的v是要通过我们的model学习出来的,后半段是log probability of the PCFG也就是这玩意发生的概率并转成log space下。

课上讲得max-margin不太详细,第二篇论文里面讲得挺好,这里摘抄出来:

最后得到max-margin的公式。我们的目的是使得c(w)最小

这样为什么就是最优的呢,我想了半天才想出来这里用通俗点的话记录一下:如果w不是最优的w那么max()里左边的score选出来的不是y_i,再加上L_i那么最终肯定是ri很大,必然不是最小的;如果w是最优的呢?那肯定max()选出来的是yi,delta肯定为零,然后总体必然最小。这样的w必然使得score(y_i)比其他所有的score(y)大,并且大出来一个L_i(y)的margin。

3.BPTS

BPTS论文里讲得比较少,slide里讲得还挺详细还有pset2的部分代码还是不错滴。BPTS和之前的传统BP有三个区别:

第一点是说求w的gradient要sum所有node的;第二点我感觉是用来更新semantic vector space里的vector的;第三点还要加一个error message:Total error messages = error messages from parent + error message from own score

BPTS的parameters更新的改进方法可以调整learning rate或者使用subgradient(使用subgradient的方法论文里有讲,cs229里也有将一个smo方法比较类似)

4.Recursive NN的改良版

前半段讲得都是最简单的simple RNN。最后讲了一个改良版的SU-RNN(syntactically-untied RNN)

也就是weight根据children的type的不同而进行不同的选择。

最后有一个CV的展示,就是说RNN对于NLP的操作和CV差不多都是一步一步分解。

Website:

nlp.stanford.edu

http://repository.cmu.edu/robotics

www.socher.org

时间: 2024-09-29 05:39:18

CS224d lecture 9札记的相关文章

CS224d lecture 12札记

欢迎转载,转载注明出处: http://www.cnblogs.com/NeighborhoodGuo/p/4711678.html CS224d的第十一课是他们的课上考试,所以后面的视频就直接跳到lecture 12了.lecture 12是一位外宾过来讲得,据说是Facebook的工程师,讲了现在最前沿的AI research,AI很多东西在全世界范围内都没有解决方案或者说对某一问题有统一的意见,所以这堂课不是介绍一个成熟的model,可以理解这一讲是为大家打开一扇门,让大家了解AI中的这部

CS224d lecture 8札记

欢迎转载,转载注明原文地址: http://www.cnblogs.com/NeighborhoodGuo/p/4692979.html 又开始新一课的札记啦!最近Project Proposal也快到了,时间还是比较紧的.不过课程已经过半了还是挺开心的.stanford开放这么有技术含量的课程,还是很钦佩stanford的开放精神. 这一课是对Recurrent NN for MT做了一个简要的介绍.个人认为这种方法比较靠谱耶,想想我们人类对于母语的学习,对于母语的理解,从来都不是先分析语法,

CS224d lecture 10札记

欢迎转载,转载注明出处: http://blog.csdn.net/neighborhoodguo/article/details/47282709 Go Go Go 第十讲也顺利结束啦,不愧是Advanced Recursive NN讲得内容确实有些Advanced,不过如果认真听课再认真看课后的paper的话,我相信还是可以完全理解的. 开始总结喽... 首先,老师在课上开篇讲了RNN的一个综述吧,也是使用RNN进行NLP的三个大的要素:1.Train objective主要有两种,一种是c

CS224d lecture 15札记

欢迎转载,转载注明出处: http://blog.csdn.net/neighborhoodguo/article/details/47449257 这一讲还是嘉宾的讲课,讲得是关于parallel计算方面的.俗话说的好:"三个臭皮匠,顶个诸葛亮嘛".哈哈 因为一台计算机,或者一个处理器的处理能力是有限的,进行并行计算能够大大提高运算速度,节省调试的时间.而我们的NN是如此的复杂,有时候规模也特别大,所以使用并行计算是很有必要的. 这一讲呢,主要分为五个部分:1.Efficient f

CS224d lecture 13札记

欢迎转载,转载注明出处: http://blog.csdn.net/neighborhoodguo/article/details/47387229 不知不觉到了第三部分了,整个课程也快结束了,虽然不是第一次整个推完公开课,但是还是有些兴奋呢! 废话不多说,开始总结啦! 这节课就介绍了一个模型,就是在Computer Vision里十分popular的CNN(Convolutional Neural Networks).不过这里介绍它在NLP的应用,可见model其实是可以有不同的应用的哦,没准

CS224d lecture 6札记

哈哈哈,终于又到了每课的写笔记时间.这次课程的内容比较少,可能是为了给Problem set 1空余时间吧. 废话不多说.写喽 这次的video讲的东西主要就是把推荐的论文稍微详细的讲解了一部分,然后外加给RNN模型开了个头. 1.Multi-task learning / weight sharing 这个第一部分其实在NLP(almost) from scratch里也有讲解它的理念就是,在DL model里面底下几层里学到的feature是相同或者近似的,那么这样的话,只需要统一给DL m

CS224d lecture 16札记

欢迎转载,转载注明出处: http://blog.csdn.net/neighborhoodguo/article/details/47617297 终于把最后一讲也看完了,stanford的NLP课程也接近了尾声,真的是非常的开心,这门课真的让我收获了很多. 这一课讲得就是DL在NLP方面的应用,其实大部分内容在之前的课上和之前的推荐阅读里都有提及,这一课也算是一门复习课吧. 同样的先overview一下:1.Model overview 2.Character RNNs on text an

CS224d lecture 14札记

欢迎转载,转载注明出处: http://www.cnblogs.com/NeighborhoodGuo/p/4720985.html 这一课也是请得嘉宾讲得课,据说是standford的一位博士.讲得主题是Neural Networks in Speech Recognition 不过Speech Recognition可谓是博大精深啊,这一堂课就像讲师在课前的Overview里说的一样,只是做一个perspective 让大家对这个方面有一个简要的了解,具体如何操作,这个就没有详细讲了...课

深度学习与自然语言处理(2)_斯坦福cs224d Lecture 2

原文作者:Rohit Mundra, Richard Socher 原文翻译:@熊杰([email protected]) && @王昱森 内容调整与校对:寒小阳 && 龙心尘 特别鸣谢:@面包包包包包同学的帮助 时间:2016年6月 出处:http://blog.csdn.net/han_xiaoyang/article/details/51648483 http://blog.csdn.net/longxinchen_ml/article/details/5164853