我是靠谱客的博主 淡定冬瓜,最近开发中收集的这篇文章主要介绍CS224d lecture 9札记1.Semantic Vector Space for sentence2.objection function?Max-margin framework3.BPTS(Backpropagation Through Structure)4.Recursive NN的改良版,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

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(Backpropagation Through Structure)

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

转载于:https://www.cnblogs.com/NeighborhoodGuo/p/4694955.html

最后

以上就是淡定冬瓜为你收集整理的CS224d lecture 9札记1.Semantic Vector Space for sentence2.objection function?Max-margin framework3.BPTS(Backpropagation Through Structure)4.Recursive NN的改良版的全部内容,希望文章能够帮你解决CS224d lecture 9札记1.Semantic Vector Space for sentence2.objection function?Max-margin framework3.BPTS(Backpropagation Through Structure)4.Recursive NN的改良版所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部