NLP学习资料及个人粗浅理解

2020-11-30  本文已影响0人  放养状态

俺做NLP也就是今年开始做的,思考方式和做CV的时候很不一样,分享下目前为止的心得。

自己是工作上用的,基本上是边做边学。主要跟的是CS244N。

学习资料

CS224N: Natural Language Processing with Deep Learning | Winter 2019

Stanford CS224U: Natural Language Understanding | Spring 2019

my 2 cents

语言结构里的syntax tree,还有各种knowledge graph,是和tree/graph(tree is a specific type of graph)这种数据结构息息相关。理解这部分算法还是有好处的。

NLP为什么一开始主流是RNN,这和数据特征是有很大关联的(再次推荐特征工程这本书),对于处理long-distance information是永恒的主题。我会去挖一下自己觉得比较疑惑的点,果然会和这个特征有关系(比如说RNN用tanh而不是sigmoid就是为了把梯度控制在一个范围内,以控制梯度爆炸/消失)

信息提取的部分,很多时候涉及到ranking. keyword extraction/ summarization的本质都是eigen basis的反复相乘。了解一些线性代数的本质在这里是有意义的。

对BERT的理解最好分成encoder-decoder和attention两个部分。attention本质上就是带权求和。


bert的attention本质是 加权求和 请问具体怎么理解

attention处理序列信息的思考方式就是一把抓, 一步获得全局信息。attention的公式里的三个参数Q, K, V。key-value是一对,把softmax和归一化去掉之后其实就是(QK)*V,意思是通过query与key的内积得到V和Q的相似度,然后加权求和。

词语之间的顺序是怎么capture呢

attention本质上是个bag of words模型,里面没有顺序的区分,因此对于位置信息BERT用了 position embedding来补足。这个部分有公式,是直接算出来的。position embedding可以把P位置映射到D维的位置向量。序列信息的相对位置和绝对位置一样重要,转换之后的位置信息可以用和角公式来表示,这样就有了表达相对位置信息的可能性。

上一篇下一篇

猜你喜欢

热点阅读