David silver 强化学习 Lecture 8
课程主页: https://www.davidsilver.uk/teaching/
这里回顾David silver 强化学习 Lecture 8的课程内容,这一讲简单介绍了结合学习和规划。
Introduction首先介绍基本概念:
Model-Based and Model-Free RL
不基于模型的RL
没有模型
从经验中学习价值(策略)函数
基于模型的RL
从经验中学习模型
从模型中规划价值(策略)函数
Model-Based RL基于模型的RL图示如下:
优点:
可以通过监督学习方法有效地学习模型
可以推理出模型不确定性
缺点:
首先学习一个模型,然后构造一个值函数,所以有两种近似误差来源
Model-Based Reinforcement LearningWhat is a Model?
模型$\mathcal M$通过参数$\eta$表示MDP $\langle\mathcal{S}, \mathcal{A}, \mathcal{P}, \mathcal{R}\rangle$
我们假设状态空间$\mathcal S$和动作空间$\mathcal ...
CS224N Natural Language Processing with Deep Learning Lecture 12
课程主页:https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1194/
视频地址:https://www.bilibili.com/video/av46216519?from=search&seid=13229282510647565239
这里回顾CS224N Lecture 12的课程内容,这一讲主要介绍了Subword模型。
备注:图片均来自课程课件。
Fully Character-Level Neural Machine Translation without Explicit Segmentation这里介绍Character-Level(也称为Sub-word models)的机器翻译模型,该模型使用了卷积层:
Sub-word models: two trendsSub-word models有两个趋势:
与单词级模型相同的体系结构,但是使用较小的单位:“单词片段”
混合架构,主模型使用单词,其他的部分使用字母
Byte Pair Encoding该方法的思路是将出现频率最高的byte对变成一 ...
David silver 强化学习 Lecture 7
课程主页: https://www.davidsilver.uk/teaching/
这里回顾David silver 强化学习 Lecture 7的课程内容,这一讲简单介绍了策略梯度算法。
上一讲介绍了如何使用参数$\theta$近似价值函数:
\begin{aligned}
V_{\theta}(s) & \approx V^{\pi}(s) \\
Q_{\theta}(s, a) & \approx Q^{\pi}(s, a)
\end{aligned}然后从价值函数中推导策略。
这一讲将直接近似策略:
\pi_{\theta}(s, a)=\mathbb{P}[a | s, \theta]这一讲的重点仍然是不基于模型的强化学习。
Policy Objective Functions我们要找到好的策略$\pi_{\theta}(s, a)$,就需要一个判断好坏的损失函数:
在离散环境,我们可以使用初始价值
J_{1}(\theta)=V^{\pi_{\theta}}\left(s_{1}\right)=\mathbb{E}_{\pi_{\theta}}\left[v_{ ...
CS50 Introduction to Artificial Intelligence with Python Lecture 4
第四讲的主题是Optimization,这里总结第四讲以及第四次作业。
课程地址:https://cs50.harvard.edu/ai/
备注:图片均来自课程课件。
Optimization从选择集合内选择最佳选择。
Hill Climbing爬山法的思路是查看当前状态的相邻节点,如果比当前状态更好,则将当前状态更新为相邻节点,否则直接返回当前节点;伪代码如下:
function HILL-CLIMB(problem):
current = initial state of problem
repeat:
neighbor = highest valued neighbor of current
if neighbor not better than current:
return current
current = neighbor
Hill Climbing Variants
变量
定义
steepest-ascent
选择价值最高的邻居
stochastic
...
CS50 Introduction to Artificial Intelligence with Python Lecture 3
第三讲的主题是Uncertainty,这里总结第三讲以及第三次作业。
课程地址:https://cs50.harvard.edu/ai/
备注:图片均来自课程课件。
这节课前面大部分内容是概率论的基本内容,这里略过,从贝叶斯网络开始回顾。
Bayesian Networks贝叶斯网络是表示随机变量之间依赖性的数据结构,几个特点如下:
有向图
每个节点代表一个随机变量
从$X$到$Y$的箭头表示$X$是$Y$的父节点
每个节点$X$都有概率分布$\mathbf{P}(X | \text { Parents }(X))$
来看一个具体例子:
然后对上图分别指定条件分布即可构成贝叶斯网络。
Inference
查询$\mathrm X$:要为其计算分布的变量
证据变量$\mathrm E$:事件$\mathrm e$的观察变量
隐藏变量$\mathrm Y$:无证据,没有被查询的变量。
目标:计算$\mathbf{P}(\mathrm{X} | \mathbf{e})$
具体方式如下
\mathbf{P}(\mathrm{X} | \mathbf{e})=\alpha \math ...
CS224N Natural Language Processing with Deep Learning Lecture 11
课程主页:https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1194/
视频地址:https://www.bilibili.com/video/av46216519?from=search&seid=13229282510647565239
这里回顾CS224N Lecture 11的课程内容,这一讲主要介绍了CNN在NLP中的应用。
备注:图片均来自课程课件。
From RNNs to Convolutional Neural NetsRNN很难捕捉词组信息,但是CNN可以捕捉词组信息,这便是在NLP中使用CNN的原始思想。
卷积定义1维离散卷积
(f * g)[n]=\sum_{m=-M}^{M} f[n-m] g[m]2维卷积
A 1D convolution for text将句子中每个单词的词向量拼接起来组成矩阵(可以填充0),然后对其使用卷积,一个例子如下:
可以增加滤波器,得到如下结果:
对卷积的结果使用池化操作可以起到降采样的作用:
还可以将CNN中的stride设置为非$1$值:
以及局部 ...
David silver 强化学习 Lecture 6
课程主页: https://www.davidsilver.uk/teaching/
这里回顾David silver 强化学习 Lecture 6的课程内容,这一讲简单介绍了价值函数的近似。
Value Function Approximation
前几节介绍的方法都是使用查表法计算价值函数,即对每个状态计算$V(s),Q(s,a)$
大型MDP中,状态太多,不太可能穷举所有状态,一个思路是使用函数近似价值函数,即
\begin{aligned}
\hat{v}(s, \mathbf{w}) & \approx v_{\pi}(s) \\
\hat{q}(s, a, \mathbf{w}) & \approx q_{\pi}(s, a)
\end{aligned}
从可见状态到不可见状态
使用MC或TD学习更新参数w
Which Function Approximator?现在要对函数近似器进行选择,由于使用梯度方法进行优化,比较好的近似器为
特征的线性组合
神经网络
其实第一种是第二种的特殊情形。
Gradient Descent
假设$J(\mathrm w)$是 ...
CS224N Natural Language Processing with Deep Learning Lecture 10
课程主页:https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1194/
视频地址:https://www.bilibili.com/video/av46216519?from=search&seid=13229282510647565239
这里回顾CS224N Lecture 10的课程内容,这一讲主要介绍了Question answering。
备注:图片均来自课程课件。
Question answeringQuestion answering类似于阅读理解,给定原文P和问题Q,我们希望给出回答A,模式如下:
Stanford Question Answering Dataset (SQuAD)SQuAD是问答系统的一个经典数据集:
每个问题有3个答案,下面介绍两种评估结果的方式:
Exact match:如果和3个答案之一相同则为$1$,否则为$0$
$F_1$:把系统和每个答案作为bag of words,计算
\text { Precision }=\frac{T P}{T P+F P}, \t ...
CS224N Natural Language Processing with Deep Learning Lecture 9
课程主页:https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1194/
视频地址:https://www.bilibili.com/video/av46216519?from=search&seid=13229282510647565239
这里回顾CS224N Lecture 9的课程内容,这一讲主要介绍了Project以及机器翻译的剩余内容。
备注:图片均来自课程课件。
机器翻译完成之后,自然需要一个评估手段,这里介绍最常用的BLEU:
Bilingual Evaluation Understudy (BLEU)给定机器翻译结果MT,以及多个参考翻译,记
p_{n}=\#\text{matched n-grams}/ \#\text{n-grams in candidate translation}记
\beta=e^{\min \left(0,1-\frac{\operatorname{len}_{\mathrm{ref}}}{\operatorname{len} \mathrm{MT}}\right)} ...
Michael Collins NLP Homework 2
课程主页:http://www.cs.columbia.edu/~cs4705/
课程网盘地址:
链接:https://pan.baidu.com/s/1KijgO7yjL_MVCC9zKZ7Jdg提取码:t1i3
这一次回顾Michael Collins NLP作业2。
Question 1(a)只需要指出变化的部分即可,其余部分保持不变:
\begin{aligned}
f(\text{S} \to \text{NP NP VP}) &=\text{S} \to \text{NP NP}_1 ,p=0.3\\
f(\text{VP}\to\text{Vt NP PP})&=\text{VP}\to\text{Vt NP}_2,p=0.2\\
f(\text{NP}\to \text{DT NN NN}) & =
\text{NP}\to \text{DT NN}_1 ,p=0.3
\end{aligned}增加如下规则:
\begin{aligned}
\text{NP}_1&\to\text{NP VP},p=1\\
\text{NP}_2&\to\text{NP P ...
CS50 Introduction to Artificial Intelligence with Python Lecture 2
第二讲的主题是Knowledge,这里总结第二讲以及第二次作业。
课程地址:https://cs50.harvard.edu/ai/
备注:图片均来自课程课件。
这一讲介绍的知识是指逻辑知识,其目标是让AI具有逻辑推断能力。
Sentence对世界的断言,该断言用知识语言描述。
命题符号我们用大写字母表示命题符号,例如$P,Q,R$
逻辑连接词
模型将真值赋值给每个命题逻辑,例如:
蕴含
\alpha \vDash \beta当$\alpha$为true时,$\beta$总是true。
推断从旧的sentence中推断新sentence的过程。
下面介绍一些推断算法。
Model Checking
要确定$\mathrm{KB} \vDash \alpha$:
列举所有可能的模型。
如果在每个模型中$\text{KB}$为真时$α$也为真,则$\text{KB}$蕴含$α$。
否则,$\text{KB}$不蕴含$α$。
Model Checking其实就是穷举法,来看一个具体例子:
推断法则这里给出几个常用的推断法则:
条件
结论
$\alpha \righ ...
CS236 Deep Generative Models Lecture 8
课程主页: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 8的课程内容,这一讲继续介绍了Normalizing Flow Models。
NICE(Nonlinear Independent Components Estimation)NICE由两种可逆变换组成:分别是加法层和伸缩层,后面具体介绍这两部分。
NICE - Additive coupling layers将变量划分为两个不相交子集:$\mathbf{z}_{1: d},\mathbf{z}_{d+1: n},1\le d<n$
前向映射$\mathbf z \mapsto \mathbf x ...