斯坦福NLP名课带学详解 | CS224n 第1讲 - NLP介绍与词向量初步(NLP通关指南·完结)

斯坦福NLP名课带学详解 | CS224n 第13讲 - 基于上下文的表征与NLP预训练模型(ELMo, transformer)(NLP通关指南·完结) NLP课程第13讲介绍了词向量 (word representations) 知识回顾、ELMo模型、ULMfit模型、Transformer结构和BERT等。 阅读详情

ShowMeAI研究中心


NLP介绍与词向量初步
ShowMeAI为斯坦福CS224n《自然语言处理与深度学习(Natural Language Processing with Deep Learning)》课程的全部课件,做了中文翻译和注释,并制作成了GIF动图!

词向量、SVD分解与Word2vec
本讲内容的深度总结教程可以在这里 查看。视频和课件等资料的获取方式见文末。

引言

CS224n是顶级院校斯坦福出品的深度学习与自然语言处理方向专业课程。核心内容覆盖RNN、LSTM、CNN、transformer、bert、问答、摘要、文本生成、语言模型、阅读理解等前沿内容。

ShowMeAI将从本节开始,依托cs224n课程为主框架,逐篇为大家梳理NLP的核心重点知识原理。

NLP介绍与词向量初步

本篇内容覆盖

第1课直接切入语言和词向量,讲解了自然语言处理的基本概念,文本表征的方法和演进,包括word2vec等核心方法,词向量的应用等。

  • 自然语言与文字
  • word2vec介绍
  • word2vec目标函数与梯度
  • 算法优化基础
  • word2vec构建的词向量模式

Introduction and Word Vectors

1. 自然语言与词汇含义

1.1 人类的语言与词汇含义

咱们先来看看人类的高级语言。

人类的语言与词汇含义

人类之所以比类人猿更“聪明”,是因为我们有语言,因此是一个人机网络,其中人类语言作为网络语言。人类语言具有信息功能和社会功能。

据估计,人类语言只有大约5000年的短暂历史。语言和写作是让人类变得强大的原因之一。它使知识能够在空间上传送到世界各地,并在时间上传送。

但是,相较于如今的互联网的传播速度而言,人类语言是一种缓慢的语言。然而,只需人类语言形式的几百位信息,就可以构建整个视觉场景。这就是自然语言如此迷人的原因。

1.2 我们如何表达一个词的意思?

我们如何表达一个词的意思?

我们如何表达一个词的含义呢?有如下一些方式:

  • 用一个词、词组等表示的概念。
  • 一个人想用语言、符号等来表达的想法。
  • 表达在作品、艺术等方面的思想。

理解意义的最普遍的语言方式(linguistic way):语言符号与语言意义(想法、事情)的相互对应

  • denotational semantics:语义

s i g n i f i e r ( s y m b o l ) ⇔ s i g n i f i e d ( i d e a o r t h i n g ) signifier(symbol) \Leftrightarrow signified(idea \quad or \quad thing) signifier(symbol)⇔signified(ideaorthing)

1.3 如何在计算机里表达词的意义

要使用计算机处理文本词汇,一种处理方式是WordNet:即构建一个包含同义词集和上位词(“is a”关系)的列表的辞典。

英文当中确实有这样一个wordnet,我们在安装完NLTK工具库和下载数据包后可以使用,对应的python代码如下:

from nltk.corpus import wordnet as wn
poses = { 'n':'noun', 'v':'verb', 's':'adj (s)', 'a':'adj', 'r':'adv'}
for synset in wn.synsets("good"):
        print("{}: {}".format(poses[synset.pos()], ", ".join([l.name() for l in synset.lemmas()])))

from nltk.corpus import wordnet as wn
panda = wn.synset("panda.n.01")
hyper = lambda s: s.hypernyms()
list(panda.closure(hyper))

结果如下图所示:
如何在计算机里表达词的意义

1.4 WordNet的问题

WordNet的问题

WordNet大家可以视作1个专家经验总结出来的词汇表,但它存在一些问题:

① 忽略了词汇的细微差别

  • 例如“proficient”被列为“good”的同义词。这只在某些上下文中是正确的。

② 缺少单词的新含义

  • 难以持续更新!
  • 例如:wicked、badass、nifty、wizard、genius、ninja、bombast

③ 因为是小部分专家构建的,有一定的主观性

④ 构建与调整都需要很多的人力成本

⑤ 无法定量计算出单词相似度

1.5 文本(词汇)的离散表征

文本(词汇)的离散表征

在传统的自然语言处理中,我们会对文本做离散表征,把词语看作离散的符号:例如hotel、conference、motel等。

一种文本的离散表示形式是把单词表征为独热向量(one-hot vectors)的形式

  • 独热向量:只有一个1,其余均为0的稀疏向量

在独热向量表示中,向量维度=词汇量(如500,000),以下为一些独热向量编码过后的单词向量示例:

m o t e l = [ 0   0   0   0   0   0   0   0   0   0   1   0   0   0   0 ] motel = [0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 1 \ 0 \ 0 \ 0 \ 0] motel=[0 0 0 0 0 0 0 0 0 0 1 0 0 0 0]

h o t e l = [ 0   0   0   0   0   0   0   1   0   0   0   0   0   0   0 ] hotel = [0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 1 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0] hotel=[0 0 0 0 0 0 0 1 0 0 0 0 0 0 0]

1.6 离散表征的问题

离散表征的问题

在上述的独热向量离散表征里,所有词向量是正交的,这是一个很大的问题。对于独热向量,没有关于相似性概念,并且向量维度过大。

对于上述问题有一些解决思路:

  • ① 使用类似WordNet的工具中的列表,获得相似度,但会因不够完整而失败
  • ② 通过大量数据学习词向量本身相似性,获得更精确的稠密词向量编码

1.7 基于上下文的词汇表征

近年来在深度学习中比较有效的方式是基于上下文的词汇表征。它的核心想法是:一个单词的意思是由经常出现在它附近的单词给出的 “You shall know a word by the company it keeps” (J. R. Firth 1957: 11)。

基于上下文的词汇表征

这是现代统计NLP最成功的理念之一,总体思路有点物以类聚,人以群分的感觉。

  • 当一个单词 w w w出现在文本中时,它的上下文是出现在其附近的一组单词(在一个固定大小的窗口中)
  • 基于海量数据,使用 w w w的许多上下文来构建 w w w的表示

如图所示,banking的含义可以根据上下文的内容表征。

2.Word2vec介绍

2.1 词向量表示

下面我们要介绍词向量的构建方法与思想,我们希望为每个单词构建一个稠密表示的向量,使其与出现在相似上下文中的单词向量相似。

词向量表示

  • 词向量(word vectors)有时被称为词嵌入(word embeddings)或词表示(word representations)。
  • 稠密词向量是分布式表示(distributed representation)。

2.2 Word2vec原理介绍

Word2vec (Mikolov et al. 2013)是一个学习词向量表征的框架。

Word2vec原理介绍

核心思路如下:

  • 基于海量文本语料库构建
  • 词汇表中的每个单词都由一个向量表示(学习完成后会固定)
  • 对应语料库文本中的每个位置 t t t,有一个中心词 c c c和一些上下文(“外部”)单词 o o o
  • 使用 c c c和 o o o的词向量来计算概率 P ( o ∣ c ) P(o|c) P(o∣c),即给定中心词推断上下文词汇的概率(反之亦然)
  • 不断调整词向量来最大化这个概率

下图为窗口大小 j = 2 j=2 j=2时的 P ( w t + j ∣ w t ) P\left(w_{t+j} | w_{t}\right) P(wt+j​∣wt​),它的中心词为 i n t o into into

Word2vec原理介绍

下图为窗口大小 j = 2 j=2 j=2时的 P ( w t + j ∣ w t ) P\left(w_{t+j} | w_{t}\right) P(wt+j​∣wt​),它的中心词为 b a n k i n g banking banking

Word2vec原理介绍

3.Word2vec 目标函数

3.1 Word2vec目标函数

我们来用数学表示的方式,对word2vec方法做一个定义和讲解。

3.1.1 似然函数

对于每个位置 t = 1 , ⋯   , T t=1, \cdots, T t=1,⋯,T,在大小为 m m m的固定窗口内预测上下文单词,给定中心词 w j w_j wj​,似然函数可以表示为:

L i k e l i h o o o d = L ( θ ) = ∏ t = 1 T ∏ − m ≤ j ≤ m j ≠ 0 P ( w t + j ∣ w t ; θ ) Likelihoood = L(\theta) = \prod^{T}_{t=1} \prod_{-m \leq j \leq m \atop j \neq 0} P(w_{t+j} | w_{t} ; \theta) Likelihoood=L(θ)=t=1∏T​j=0−m≤j≤m​∏​P(wt+j​∣wt​;θ)

上述公式中, θ \theta θ为模型包含的所有待优化权重变量

3.1.2 目标函数

对应上述似然函数的目标函数 J ( θ ) J(\theta) J(θ)可以取作(平均)负对数似然:

J ( θ ) = − 1 T log ⁡ L ( θ ) = − 1 T ∑ t = 1 T ∑ − m ≤ j ≤ m j ≠ 0 log ⁡ P ( w t + j ∣ w t ; θ ) J(\theta)=-\frac{1}{T} \log L(\theta)=-\frac{1}{T} \sum_{t=1}^{T} \sum_{-m \leq j \leq m \atop j \neq 0} \log P\left(w_{t+j} | w_{t} ; \theta\right) J(θ)=−T1​logL(θ)=−T1​t=1∑T​j=0−m≤j≤m​∑​logP(wt+j​∣wt​;θ)

Word2vec目标函数

注意:

  • 目标函数 J ( θ ) J(\theta) J(θ)有时也被称为“代价函数”或“损失函数”
  • 最小化目标函数 ⇔ \Leftrightarrow ⇔最大化似然函数(预测概率/精度),两者等价

补充解读:

  • 上述目标函数中的log形式是方便将连乘转化为求和,负号是希望将极大化似然率转化为极小化损失函数的等价问题
  • 在连乘之前使用log转化为求和非常有效,特别是做优化时

log ⁡ ∏ i x i = ∑ i log ⁡ x i \log \prod_i x_i = \sum_i \log x_i logi∏​xi​=i∑​logxi​

得到目标函数后,我们希望最小化目标函数,那我们如何计算 P ( w t + j ∣ w t ; θ ) P(w_{t+j} | w_{t} ; \theta) P(wt+j​∣wt​;θ)?

Word2vec目标函数

对于每个词 w w w都会用两个向量:

  • 当 w w w是中心词时,我们标记词向量为 v w v_w vw​
  • 当 w w w是上下文词时,我们标记词向量为 u w u_w uw​

则对于一个中心词 c c c和一个上下文词 o o o,我们有如下概率计算方式:

P ( o ∣ c ) = exp ⁡ ( u o T v c ) ∑ w ∈ V exp ⁡ ( u w T v c ) P(o | c)=\frac{\exp \left(u_{o}^{T} v_{c}\right)}{\sum_{w \in V} \exp \left(u_{w}^{T} v_{c}\right)} P(o∣c)=∑w∈V​exp(uwT​vc​)exp(uoT​vc​)​

Word2vec目标函数

对于上述公式,ShowMeAI做一点补充解读:

  • 公式中,向量 u o u_o uo​和向量 v c v_c vc​进行点乘
  • 向量之间越相似,点乘结果越大,从而归一化后得到的概率值也越大
  • 模型的训练正是为了使得具有相似上下文的单词,具有相似的向量
  • 点积是计算相似性的一种简单方法,在注意力机制中常使用点积计算Score,参见ShowMeAI文章[C5W3] 16.Seq2Seq序列模型和注意力机制

3.2 从向量视角回顾Word2vec

下图为计算 P ( w t + j ∣ w t ) P(w_{t+j} |w_{t}) P(wt+j​∣wt​)的示例,这里把 P ( p r o b l e m s ∣ i n t o ; u p r o b l e m s , v i n t o , θ ) P(problems|into; u_{problems},v_{into},\theta) P(problems∣into;uproblems​,vinto​,θ)简写为 P ( u p r o b l e m s ∣ v i n t o ) P(u_{problems} | v_{into}) P(uproblems​∣vinto​),例子中的上下文窗口大小2,即“左右2个单词+一个中心词”。

从向量视角回顾Word2vec

4.Word2vec prediction function

4.1 Word2vec预测函数

回到上面的概率计算,我们来观察一下

P ( o ∣ c ) = exp ⁡ ( u o T v c ) ∑ w ∈ V exp ⁡ ( u w T v c ) P(o | c)=\frac{\exp \left(u_{o}^{T} v_{c}\right)}{\sum_{w \in V} \exp \left(u_{w}^{T} v_{c}\right)} P(o∣c)=∑w∈V​exp(uwT​vc​)exp(uoT​vc​)​

  • 取幂使任何数都为正
  • 点积比较 o o o和 c c c的相似性 u T v = u . v = ∑ i = 1 n u i v i u^{T} v=u . v=\sum_{i=1}^{n} u_{i} v_{i} uTv=u.v=∑i=1n​ui​vi​,点积越大则概率越大
  • 分母:对整个词汇表进行标准化,从而给出概率分布

Word2vec预测函数

这里有一个softmax的概率,softmax function R n ∈ R n \mathbb{R}^{n} \in \mathbb{R}^{n} Rn∈Rn示例:

将任意值 x i x_i xi​映射到概率分布 p i p_i pi​

softmax ⁡ ( x i ) = exp ⁡ ( x i ) ∑ j = 1 n exp ⁡ ( x j ) = p i \operatorname{softmax}\left(x_{i}\right)=\frac{\exp \left(x_{i}\right)}{\sum_{j=1}^{n} \exp \left(x_{j}\right)}=p_{i} softmax(xi​)=∑j=1n​exp(xj​)exp(xi​)​=pi​

其中对于名称中soft和max的解释如下(softmax在深度学习中经常使用到):

  • max:因为放大了最大的概率
  • soft:因为仍然为较小的 x i x_i xi​赋予了一定概率

4.2 word2vec中的梯度下降训练细节推导

下面是对于word2vec的参数更新迭代,应用梯度下降法的一些推导细节,ShowMeAI写在这里做一点补充。

首先我们随机初始化 u w ∈ R d u_{w}\in\mathbb{R}^d uw​∈Rd和 v w ∈ R d v_{w}\in\mathbb{R}^d vw​∈Rd,而后使用梯度下降法进行更新

∂ ∂ v c log ⁡ P ( o ∣ c ) = ∂ ∂ v c log ⁡ exp ⁡ ( u o T v c ) ∑ w ∈ V exp ⁡ ( u w T v c ) = ∂ ∂ v c ( log ⁡ exp ⁡ ( u o T v c ) − log ⁡ ∑ w ∈ V exp ⁡ ( u w T v c ) ) = ∂ ∂ v c ( u o T v c − log ⁡ ∑ w ∈ V exp ⁡ ( u w T v c ) ) = u o − ∑ w ∈ V exp ⁡ ( u w T v c ) u w ∑ w ∈ V exp ⁡ ( u w T v c ) \begin{aligned} \frac{\partial}{\partial v_c}\log P(o|c) &=\frac{\partial}{\partial v_c}\log \frac{\exp(u_o^Tv_c)}{\sum_{w\in V}\exp(u_w^Tv_c)}\\ &=\frac{\partial}{\partial v_c}\left(\log \exp(u_o^Tv_c)-\log{\sum_{w\in V}\exp(u_w^Tv_c)}\right)\\ &=\frac{\partial}{\partial v_c}\left(u_o^Tv_c-\log{\sum_{w\in V}\exp(u_w^Tv_c)}\right)\\ &=u_o-\frac{\sum_{w\in V}\exp(u_w^Tv_c)u_w}{\sum_{w\in V}\exp(u_w^Tv_c)} \end{aligned} ∂vc​∂​logP(o∣c)​=∂vc​∂​log∑w∈V​exp(uwT​vc​)exp(uoT​vc​)​=∂vc​∂​(logexp(uoT​vc​)−logw∈V∑​exp(uwT​vc​))=∂vc​∂​(uoT​vc​−logw∈V∑​exp(uwT​vc​))=uo​−∑w∈V​exp(uwT​vc​)∑w∈V​exp(uwT​vc​)uw​​​

偏导数可以移进求和中,对应上方公式的最后两行的推导

∂ ∂ x ∑ i y i = ∑ i ∂ ∂ x y i \frac{\partial}{\partial x}\sum_iy_i = \sum_i\frac{\partial}{\partial x}y_i ∂x∂​∑i​yi​=∑i​∂x∂​yi​

我们可以对上述结果重新排列如下,第一项是真正的上下文单词,第二项是预测的上下文单词。使用梯度下降法,模型的预测上下文将逐步接近真正的上下文。

∂ ∂ v c log ⁡ P ( o ∣ c ) = u o − ∑ w ∈ V exp ⁡ ( u w T v c ) u w ∑ w ∈ V exp ⁡ ( u w T v c ) = u o − ∑ w ∈ V exp ⁡ ( u w T v c ) ∑ w ∈ V exp ⁡ ( u w T v c ) u w = u o − ∑ w ∈ V P ( w ∣ c ) u w \begin{aligned} \frac{\partial}{\partial v_c}\log P(o|c) &=u_o-\frac{\sum_{w\in V}\exp(u_w^Tv_c)u_w}{\sum_{w\in V}\exp(u_w^Tv_c)}\\ &=u_o-\sum_{w\in V}\frac{\exp(u_w^Tv_c)}{\sum_{w\in V}\exp(u_w^Tv_c)}u_w\\ &=u_o-\sum_{w\in V}P(w|c)u_w \end{aligned} ∂vc​∂​logP(o∣c)​=uo​−∑w∈V​exp(uwT​vc​)∑w∈V​exp(uwT​vc​)uw​​=uo​−w∈V∑​∑w∈V​exp(uwT​vc​)exp(uwT​vc​)​uw​=uo​−w∈V∑​P(w∣c)uw​​

再对 u o u_o uo​进行偏微分计算,注意这里的 u o u_o uo​是 u w = o u_{w=o} uw=o​的简写,故可知

∂ ∂ u o ∑ w ∈ V u w T v c = ∂ ∂ u o u o T v c = ∂ u o ∂ u o v c + ∂ v c ∂ u o u o = v c \frac{\partial}{\partial u_o}\sum_{w \in V } u_w^T v_c = \frac{\partial}{\partial u_o} u_o^T v_c = \frac{\partial u_o}{\partial u_o}v_c + \frac{\partial v_c}{\partial u_o}u_o= v_c ∂uo​∂​w∈V∑​uwT​vc​=∂uo​∂​uoT​vc​=∂uo​∂uo​​vc​+∂uo​∂vc​​uo​=vc​

∂ ∂ u o log ⁡ P ( o ∣ c ) = ∂ ∂ u o log ⁡ exp ⁡ ( u o T v c ) ∑ w ∈ V exp ⁡ ( u w T v c ) = ∂ ∂ u o ( log ⁡ exp ⁡ ( u o T v c ) − log ⁡ ∑ w ∈ V exp ⁡ ( u w T v c ) ) = ∂ ∂ u o ( u o T v c − log ⁡ ∑ w ∈ V exp ⁡ ( u w T v c ) ) = v c − ∑ ∂ ∂ u o exp ⁡ ( u w T v c ) ∑ w ∈ V exp ⁡ ( u w T v c ) = v c − exp ⁡ ( u o T v c ) v c ∑ w ∈ V exp ⁡ ( u w T v c ) = v c − exp ⁡ ( u o T v c ) ∑ w ∈ V exp ⁡ ( u w T v c ) v c = v c − P ( o ∣ c ) v c = ( 1 − P ( o ∣ c ) ) v c \begin{aligned} \frac{\partial}{\partial u_o}\log P(o|c) &=\frac{\partial}{\partial u_o}\log \frac{\exp(u_o^Tv_c)}{\sum_{w\in V}\exp(u_w^Tv_c)}\\ &=\frac{\partial}{\partial u_o}\left(\log \exp(u_o^Tv_c)-\log{\sum_{w\in V}\exp(u_w^Tv_c)}\right)\\ &=\frac{\partial}{\partial u_o}\left(u_o^Tv_c-\log{\sum_{w\in V}\exp(u_w^Tv_c)}\right)\\ &=v_c-\frac{\sum\frac{\partial}{\partial u_o}\exp(u_w^Tv_c)}{\sum_{w\in V}\exp(u_w^Tv_c)}\\ &=v_c - \frac{\exp(u_o^Tv_c)v_c}{\sum_{w\in V}\exp(u_w^Tv_c)}\\ &=v_c - \frac{\exp(u_o^Tv_c)}{\sum_{w\in V}\exp(u_w^Tv_c)}v_c\\ &=v_c - P(o|c)v_c\\ &=(1-P(o|c))v_c \end{aligned} ∂uo​∂​logP(o∣c)​=∂uo​∂​log∑w∈V​exp(uwT​vc​)exp(uoT​vc​)​=∂uo​∂​(logexp(uoT​vc​)−logw∈V∑​exp(uwT​vc​))=∂uo​∂​(uoT​vc​−logw∈V∑​exp(uwT​vc​))=vc​−∑w∈V​exp(uwT​vc​)∑∂uo​∂​exp(uwT​vc​)​=vc​−∑w∈V​exp(uwT​vc​)exp(uoT​vc​)vc​​=vc​−∑w∈V​exp(uwT​vc​)exp(uoT​vc​)​vc​=vc​−P(o∣c)vc​=(1−P(o∣c))vc​​

可以理解,当 P ( o ∣ c ) → 1 P(o|c) \to 1 P(o∣c)→1,即通过中心词 c c c我们可以正确预测上下文词 o o o,此时我们不需要调整 u o u_o uo​,反之,则相应调整 u o u_o uo​。

关于此处的微积分知识,可以查阅ShowMeAI的教程图解AI数学基础文章图解AI数学基础 | 微积分与最优化。

word2vec中的梯度下降训练细节推导

  • 训练模型的过程,实际上是我们在调整参数最小化损失函数。
  • 如下是一个包含2个参数的凸函数,我们绘制了目标函数的等高线。

4.3 训练模型:计算所有向量梯度

训练模型:计算所有向量梯度

θ \theta θ代表所有模型参数,写在一个长的参数向量里。

在我们的场景汇总是 d d d维向量空间的 V V V个词汇。

5.视频教程

可以点击 B站 查看视频的【双语字幕】版本

【双语字幕+资料下载】斯坦福CS224n | 深度学习与自然语言处理(2019·全20讲)

6.参考资料

ShowMeAI 深度学习与自然语言处理教程(完整版)

ShowMeAI 斯坦福NLP名课 CS224n带学详解(20讲·完整版)

ShowMeAI系列教程精选推荐

NLP学习笔记:斯坦福公开课CS224n和自然语言处理简介 本文介绍了CS224n课程的主要内容,并提供了一些相关的源代码示例,包括n-gram语言模型和文本分类器。CS224n课程介绍了词向量的表示方法,包括基于计数的方法(如词频和共现矩阵)和基于预测的方法(如Word2Vec模型)。斯坦福大学的公开课CS224n(自然语言处理与深度学习)是一个备受推崇的课程,为学习NLP提供了很好的起点。神经网络和深度学习基础:课程从神经网络和深度学习的基本概念开始,讲解了前向传播、反向传播、梯度下降等核心算法,为后续的NLP应用打下了基础。 阅读详情

相关推荐

斯坦福CS224n 2019自然语言处理课程精华笔记

自然语言处理是人工智能领域的重要研究方向。它的主要目标是设计能够理解和生成人类语言的算法和模型,包括但不限于语音识别、情感分析、机器翻译等。Seq2Seq模型在机器翻译任务中尤为有用,因为它能够将一种语言的整个句子映射到另一种语言的句子。在实际应用中,为了提高翻译质量,通常会采用注意力机制来增强模型对长句子中不同部分的注意力。文本摘要任务与机器翻译类似,不过其目标是从输入文本中生成一个概括性的摘要,而不必关注语言之间的转换。

weixin_35649491的博客 1040

斯坦福CS224N(NLP)自学笔记——Assignment 3

自学留档,如有错误,恳请批评指正。

weixin_56234126的博客 1695

深入解析YT8521S千兆以太网PHY芯片的设计与调试要点

本文深入解析了YT8521S千兆以太网PHY芯片的设计与调试要点。重点剖析了硬件设计中的电源方案、RGMII接口电平配置(尤其是1.8V电平方案)以及PCB布局布线等关键细节,并提供了从硬件检查、驱动配置到性能测试的完整调试流程,帮助工程师规避常见陷阱,实现稳定可靠的千兆网络连接。

weixin_29190573的博客 690

50个斯坦福NLP视频教程全部放出,干货满满!

Christopher Potts 是斯坦福语言学教授,同时也是计算机科学教授和语言与信息研究中心(CSLI)主任。在研究中,他致力于使用计算方法探索情感如何在语言中表达,以及语言的产生和解释如何受到语篇、语境的影响。他于 2005 年出版了《The Logic of Conventional Implicatures》一书,并发表了大量计算语言学和理论语言学方面的学术论文。课程视频下面的评论中,网友们表达了对课程的喜爱。

机器学习社区 493

Linux下自动化解析q7签名文件的有效期与时间戳

本文详细介绍了在Linux环境下自动化解析q7签名文件有效期与时间戳的方法。通过编写高效脚本,开发者可以批量提取签名时间信息,验证签名有效性,并集成到CI/CD流程中。文章提供了完整的脚本实现,包括错误处理、批量处理功能,并解决了常见环境问题,特别适用于国产操作系统如UOS的开发场景。

weixin_30872499的博客 522

LVGL8.x 实体按键与Keypad驱动的无缝对接实战

本文详细解析了LVGL8.x中实体按键与Keypad驱动的两种对接方案:坐标映射的Button方式与事件驱动的Keypad方式。重点阐述了如何模块化裁剪lv_port_indev.c模板文件,并深入讲解了Keypad驱动与Group焦点管理系统的核心协作机制,为无触摸屏的嵌入式设备提供流畅的UI交互解决方案。

weixin_29164497的博客 449

2021斯坦福CS224N课程笔记~2

2021斯坦福CS224N课程笔记~2 神经分类器

mwcxz的博客 790

SE (3) -Transformers:三维旋转 - 平移等变注意力网络

E (3) 变换器,这是一种用于三维点云和图的自注意力模块变体,在连续三维旋转平移下具有等变性。注意力机制的计算量会随着点云规模的增大呈二次方增长,因此引入邻域的概念是很有必要的:每个点不再关注所有其他点,而只关注其最近的邻点。注意力机制此前已在图的领域中以内部注意力、自注意力、顶点注意力或图注意力等名称被引入 [17, 31, 32, 12, 26]。等变性意味着当输入数据发生旋转或平移时,模型的输出也会以相应的、可预测的方式进行变换,从而保证模型性能的稳定性和可预测性。

qq_49786473的博客 1482

斯坦福CS224N(NLP)自学笔记——Assignment 2

自学留档,如有错误,恳请批评指正。

weixin_56234126的博客 1134

crazyswarm无人机集群搭建笔记(一)资料索引

crazyswarm无人机搭建笔记:资料收集

Coco_range的博客 808

自学ROS完成智能小车路径规划(一)--配置功能包

此系列文章记录本人学习ros的过程,将会尽可能详细以便自己能够看懂 参考系列:古月居老师,CSDN,ROS tutorials,科大讯飞智能车竞赛线上赛 本文章的目标: 比较全局路径规划算法中A*算法与Dijkstra算法在该地图场景下的规划与运行时间 比较局部路径规划算法中DWA算法与TEB算法在该地图场景下的规划与运行时间 在同等参数条件下选择出各自适合的算法进行融合,经过比较,我将选择dijkstra算法作为全局路径规划算法,TEB算法为局部路径规划算法 第一步,按照科大讯飞的教程配置文件 科大讯

weixin_42621524的博客 9366

深度学习与自然语言处理 | 斯坦福CS224n · 课程带学与全套笔记解读(NLP通关指南·完结)

本系列是ShowMeAI组织的斯坦福CS224n《自然语言处理与深度学习》的学习笔记,包含一整套【NLP深度教程】 和【20章课件注释】,是非常TOP的完整学习资料~

ShowMeAI研究中心 1万+

openpi 入门教程(二)droid libero 训练、推理

OpenPI是由物理智能团队发布的机器人领域开源模型与软件平台,提供基于流扩散式(π₀)和自回归式(π₀-FAST)两类视觉-语言-动作模型。平台支持在DROID、ALOHA、UR5等多种机器人系统上部署,包含预训练检查点(1万+小时数据)和微调示例。文档详细说明了各平台部署流程:DROID需启动策略服务器并配置摄像头;ALOHA提供真实机器人任务(取吐司、叠毛巾等)的检查点和场景设置建议;UR5示例展示自定义数据转换方法。实验性验证显示π₀-FAST在LIBERO基准测试中平均得分85.5。平台强调模型适

2506_90492529的博客 1024

cs224n课后作业

推荐: cs224n_exercise 1. 作业1 [NLP] cs224n-2019 Assignment 1 Exploring Word Vectors 2019-CS224n-Assignment1

dev_zyx的博客 1万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

斯坦福NLP名课带学详解 | CS224n 第2讲 - 词向量进阶(NLP通关指南·完结)

NLP课程第2讲内容覆盖ord2vec与词向量、算法优化基础、计数与共现矩阵、GloVe模型、词向量评估、word senses等。

ShowMeAI研究中心 9846

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

CS224N WINTER 2022(一)词向量(附Assignment1答案)

伊始

梦想破三的奔三狗 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

《斯坦福CS224n NLP》 学习大纲&资料&笔记

每周具体学习时间划分为4个部分: 1部分安排周一到周二 2部分安排在周四到周五 3部分安排在周日 4部分作业是本周任何时候空余时间

夏普通 2501

斯坦福NLP名课带学详解 | CS224n 第3讲 - 神经网络知识回顾(NLP通关指南·完结)

NLP课程第3讲主要内容是回顾神经网络知识,并基于NLP场景讲解命名实体识别、基于窗口数据的预测、基于pytorch实现的分类器等。

ShowMeAI研究中心 9265

CS224n 自学指南:cs-self-learning 路线上的 Stanford NLP 入门课,从词向量一路通向 Transformer

本文基于 [cs-self-learning](https://gitcode.com/GitHub_Trending/cs/cs-self-learning/blob/adce8e13789dc16aa6d1fbe163e9541736defae4/README.md?utm_source=gitcode_repo_files) 计算机自学指南仓库中收录的 Stanford **CS224n:

gitblog_00414的博客 938

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

本文为斯坦福大学CS224d课程的中文版内容笔记,已得到斯坦福大学课程@Richard Socher教授的授权翻译与发表

龙心尘 3万+

【CS224n】1斯坦福大学深度学习自然语言处理课程笔记

Natural Language Processing with Deep Learning 课程笔记11. 课程简介2. Introduction and Word Vectors1. The course我们希望教什么?作业计划2. Human language and word meaning同义词集WordNet用离散的符号来表示单词通过上下文来表示词语3. Word2vec introduction (15 mins)4. Word2vec objective function gradients

YoungSeng's Blog 1215

斯坦福 CS224n 2021课后习题答案 assignment1 探索词向量(翻译自用)

翻译和记录CS224N课程的答案,原文来源于:https://github.com/amanchadha/stanford-cs224n-assignments-2021/blob/main/a2/CS224nAssignment2.pdf2021年1月19日欢迎来到CS224N!

loserrrrrr的博客 1万+

【NLP】cs224n课程笔记

作业1 一、前言自然语言是人类智慧的结晶,自然语言处理是人工智能中最为困难的问题之一,而对自然语言处理的研究也是充满魅力和挑战的。 通过经典的斯坦福cs224n教程,让我们一起和自然语言处理共舞!也希望大家能够在NLP领域有所成就!二、先修知识(学习的过程中可以遇到问题后再复习)了解python基础知识了解高等数学、概率论、线性代数知识了解基础机器学习算法:梯度下降、线性回归、逻辑回归、Softm...

Jack_Kuo的博客 1万+

【NLP CS224N笔记】Lecture 1 - Introduction and Word Vectors

本次梳理基于Datawhale 第12期组队学习 -CS224n-预训练模块 详细课程内容参考(2019)斯坦福CS224n深度学习自然语言处理课程 1. 写在前面 自然语言处理( NLP )是信息时代最重要的技术之一,也是人工智能的重要组成部分。NLP的应用无处不在,因为人们几乎用语言交流一切:网络搜索、广告、电子邮件、客户服务、语言翻译、医疗报告等。近年来,深度学习方法在许多不同的NLP任务中获得了非常高的性能,使用了不需要传统的、任务特定的特征工程的单个端到端神经模型。 而【NLP CS224N】是

Miracle8070 2154

斯坦福CS224N自然语言处理课程完整指南:从词向量到Transformer的深度学习之路

想要系统学习自然语言处理技术吗?🎯 ML-Course-Notes项目中的CS224N课程笔记为你提供了最全面的自然语言处理学习资源。这个开源项目汇集了斯坦福大学CS224N: Natural Language Processing with Deep Learning课程的精华内容,是初学者入门NLP的最佳选择。 ## 📚 课程核心内容概览 CS224N自然语言处理课程由斯坦福大学Chr

gitblog_00630的博客 576
上一篇: 深度学习与自然语言处理教程(1) - 词向量、SVD分解与Word2Vec(NLP通关指南·完结)
下一篇: 深度学习与自然语言处理教程(2) - GloVe及词向量的训练与评估(NLP通关指南·完结)
ShowMeAI
博客等级 码龄5年 6514粉丝 672原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShowMeAI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值