CS224N Natural Language Processing with Deep Learning Assignment 2
课程主页:https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1194/
视频地址:https://www.bilibili.com/video/av46216519?from=search&seid=13229282510647565239
这里回顾CS224N Assignment 2的内容,Assignment 1比较基础,这里从略。
1.Understanding word2vec(a)注意只有当$w= o$时,我们才有$y_w =1$,其余情形均为$0$,所以
-\sum_{w \in V o c a b} y_{w} \log \left(\hat{y}_{w}\right)=-\log \left(\hat{y}_{o}\right)(b)
\begin{aligned}
J_{\text {naive-softmax} }\left(\boldsymbol{v}_{c}, o, \boldsymbol{U}\right)
&=-\log P(O=o | C=c) \\
&= -\log \frac{ ...
CS236 Deep Generative Models Lecture 4
课程主页:https://deepgenerativemodels.github.io/
课件资料:https://github.com/Subhajit135/CS236_DGM,https://github.com/deepgenerativemodels/notes
视频地址:https://www.bilibili.com/video/av81625948?from=search&seid=4636291486683332935
这里回顾CS236 Lecture 4的课程内容,这一讲介绍了自回归模型以及KL散度。
RNN: Recursive Neural Nets在模型$p\left(x_{t} | x_{1: t-1} ; \boldsymbol{\alpha}^{t}\right)$中,历史$x_{1:t-1}$会越来越长,这样会产生内存和计算上的负担,解决该问题的思想是对之前的历史进行总结然后递归的更新它,根据该思想产生了RNN,其结构如下:
\begin{aligned}
\text{Summary update rule}: h_{t+1}&=\ta ...
CS236 Deep Generative Models Lecture 3
课程主页:https://deepgenerativemodels.github.io/
课件资料:https://github.com/Subhajit135/CS236_DGM,https://github.com/deepgenerativemodels/notes
视频地址:https://www.bilibili.com/video/av81625948?from=search&seid=4636291486683332935
这里回顾CS236 Lecture 3的课程内容,这一讲介绍了自回归模型。
Autoregressive Models例子:MNIST考虑MNIST数据集$\mathcal D$:
每个图片有$n=28 \times 28 =784$个像素,每个像素为$0$或$1$。我们希望学习一个概率分布$p(v)=p\left(v_{1}, \cdots, v_{784}\right)$,其中$v \in\{0,1\}^{784}$;该概率分布应该有如下效果:如果$v \sim p(v)$,那么$v$看起来像数字。具体思路是定义模型族$\left\{p ...
CS236 Deep Generative Models Lecture 2
课程主页:https://deepgenerativemodels.github.io/
课件资料:https://github.com/Subhajit135/CS236_DGM,https://github.com/deepgenerativemodels/notes
视频地址:https://www.bilibili.com/video/av81625948?from=search&seid=4636291486683332935
这里回顾CS236 Lecture 2的课程内容,这一讲简单介绍了Representation。
Representation学习生成模型
我们给定了一组训练样本,例如狗的图片
我们希望学习关于图像$x$的概率分布$p(x)$,使得我们可以进行如下任务:
生成:如果我们进行采样$x_{\text{new}} \sim p(x)$,那么$x_{\text{new}}$应该看起来像狗
密度估计:如果$x$像狗,那么$p(x)$应该较大;如果不像狗,$p(x)$应该比较小
无监督表示学习:我们应该能够学习图像的共同特点(特征),例如耳朵,尾巴 ...
CS224N Natural Language Processing with Deep Learning Lecture 4
课程主页:https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1194/
视频地址:https://www.bilibili.com/video/av46216519?from=search&seid=13229282510647565239
这里回顾CS224N Lecture 4的课程内容,这一讲介绍了矩阵微积分以及反向传播。
反向传播雅克比矩阵假设我们有函数$f: \mathbb{R}^{n} \rightarrow \mathbb{R}^{m}$,其中
\boldsymbol{f}(\boldsymbol{x})=\left[f_{1}\left(x_{1}, \dots, x_{n}\right), f_{2}\left(x_{1}, \dots, x_{n}\right), \dots, f_{m}\left(x_{1}, \dots, x_{n}\right)\right]那么雅克比矩阵为如下矩阵
\frac{\partial \boldsymbol{f}}{\partial \boldsymbol ...
CS224N Natural Language Processing with Deep Learning Lecture 3
课程主页:https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1194/
视频地址:https://www.bilibili.com/video/av46216519?from=search&seid=13229282510647565239
这里回顾CS224N Lecture 3的课程内容,这一讲介绍了神经网络以及分类问题。
分类问题的介绍假设我们有训练集
\left\{x_{i}, y_{i}\right\}^{N}_{i=1}其中$x_i\in \mathbb R^d$为输入,$y_i$为标签(离散值)。
传统的方法是使用softmax分类器,即
p(y | x)=\frac{\exp \left(W_{y\cdot } x\right)}{\sum_{c=1}^{C} \exp \left(W_{c\cdot } x\right)}其中
W_{y \cdot }x=\sum_{i=1}^{d} W_{y i} x_{i}=f_{y}度量上述概率的方式是使用交叉熵:
H(p, q)=-\sum_{c= ...
CS224N Natural Language Processing with Deep Learning Lecture 2
课程主页:https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1194/
视频地址:https://www.bilibili.com/video/av46216519?from=search&seid=13229282510647565239
这里回顾CS224N Lecture 2的课程内容,这一讲介绍了GloVe。
Global Vectors for Word Representation (GloVe)Co-occurrence Matrix记$X_{ij}$表示单词$j$出现在单词$i$的上下文的频数,那么
X_{i}=\sum_{k} X_{i k}表示单词$i$的上下文所有单词的数量,$P_{i j}=P\left(w_{j} | w_{i}\right)=\frac{X_{i j}}{X_{i}}$表示单词$j$出现在单词$i$上下文的概率。
Least Squares Objective类似skip-gram model,我们利用下式计算单词$j$出现在单词$i$的上下文的概率
Q_{i j}= ...
CS224N Natural Language Processing with Deep Learning Lecture 1
课程主页:https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1194/
视频地址:https://www.bilibili.com/video/av46216519?from=search&seid=13229282510647565239
这里回顾CS224N Lecture 1的课程内容,这一讲简单介绍了Word2vec,CBOW以及Skip-Gram Model。
如何表示单词one-hot最直接的方式是使用one-hot向量,即除了一个位置为$1$,其余位置为$0$的向量,但这个方式有个明显的问题,无法表示单词的相似性,因为任意两个不同的one-hot向量正交,例如
\begin{aligned}
\text { motel }&=[000000000010000]\\
\text { hotel }&=[000000010000000]
\end{aligned}motel和hotel意思相近,但是该表示无法体现这点。
Co-occurrence Matrix该方法的思想很简单,给定一个单词,统计在某个 ...
CS236 Deep Generative Models Lecture 1
课程主页:https://deepgenerativemodels.github.io/
课件资料:https://github.com/Subhajit135/CS236_DGM,https://github.com/deepgenerativemodels/notes
视频地址:https://www.bilibili.com/video/av81625948?from=search&seid=4636291486683332935
这里回顾CS236 Lecture 1的课程内容,这一讲简单介绍了生成模型。
统计生成模型统计生成模型是一个概率分布$p(x)$,它由数据和先验生成:
数据:样本(例如卧室的图像)
先验知识:参数形式,损失函数,优化算法等等
该课程所介绍的深度生成模型主要靠数据驱动。
判别 VS 生成判别模型生成条件概率$P(Y|X)$,例如:
生成模型生成联合分布$P(X,Y)$,所以它比判别模型更强,因为可以利用贝叶斯公式计算条件概率:
因为判别模型需要给定$X$,所以无法处理缺失数据的情形。
条件生成模型给定$Y$(少量信息,例如描述),生成$ ...
David silver 强化学习 Lecture 5
课程主页:https://www.davidsilver.uk/teaching/
这里回顾David silver 强化学习 Lecture 5的课程内容,这一讲简单介绍了不基于模型的控制。
介绍上一讲介绍不基于模型的预测,即对未知的MDP预测其价值函数;这一讲介绍不基于模型的控制,即对于未知的MDP优化其价值函数。
On-Policy Monte-Carlo Control
关于$V(s)$做策略提升需要MDP模型:
\pi^{\prime}(s)=\underset{a \in \mathcal{A}}{\operatorname{argmax}} \mathcal{R}_{s}^{a}+\mathcal{P}_{s s^{\prime}}^{a} V\left(s^{\prime}\right)
关于$Q(s,a)$做策略提升不需要模型
\pi^{\prime}(s)=\underset{a \in \mathcal{A}}{\operatorname{argmax}} Q(s, a)
$\epsilon-$贪婪搜索这里老师举了一个例子:
有两扇门在我们面前
打开左门 ...
David silver 强化学习 Lecture 4
课程主页: https://www.davidsilver.uk/teaching/
这里回顾David silver 强化学习 Lecture 4的课程内容,这一讲简单介绍了不基于模型的预测。
介绍上一讲介绍了如何通过DP进行规划,那里假设MDP已知;这一讲介绍不基于模型的预测,即对未知的MDP预测其价值函数。
蒙特卡洛学习
目标:通过策略$\pi$下的信息学习$v_\pi$
S_{1}, A_{1}, R_{2}, \ldots, S_{k} \sim \pi
注意回报(return)是折扣奖励:
G_{t}=R_{t+1}+\gamma R_{t+2}+\ldots+\gamma^{T-1} R_{T}
回报价值函数是回报(return)的期望:
v_{\pi}(s)=\mathbb{E}_{\pi}\left[G_{t} | S_{t}=s\right]
蒙特卡洛策略评估使用经验均值回报而非期望回报
具体方式如下:
为了评估状态$s$
在一幕(episode)中访问状态$s$的第一个(每一个)时间戳$t$
增加计数器$N(s) \leftarrow N(s)+1$ ...
David silver 强化学习 Lecture 3
课程主页: https://www.davidsilver.uk/teaching/
这里回顾David silver 强化学习 Lecture 3的课程内容,这一讲简单介绍了通过动态规划进行控制。
介绍DP的要求动态规划用于解决满足以下条件的问题:
最优子结构
重叠子问题
而MDP同时满足以上两个特性。
通过DP规划
DP假设有MDP的完全信息
DP用于MDP的规划
对于预测:
输入:MDP $\langle\mathcal{S}, \mathcal{A}, \mathcal{P}, \mathcal{R}, \gamma\rangle$和策略$\pi$
或:MRP $\left\langle\mathcal{S}, \mathcal{P}^{\pi}, \mathcal{R}^{\pi}, \gamma\right\rangle$
输出:价值函数$v_\pi$
对于控制:
输入:MDP $\langle\mathcal{S}, \mathcal{A}, \mathcal{P}, \mathcal{R}, \gamma\rangle$
输出:最有价值函数$v_\star$
...