CMU 15-213 Intro to Computer Systems Lecture 4
课程主页:http://www.cs.cmu.edu/afs/cs/academic/class/15213-f15/www/schedule.html
课程资料:https://github.com/EugeneLiu/translationCSAPP
课程视频:https://www.bilibili.com/video/av31289365/
这一讲的主题是浮点数。
背景:小数二进制数二进制小数
转换成十进制的结果为
\sum_{k=-j}^{i} b_{k} \times 2^{k}例子
值
表示
$5\frac 3 4$
$101.11_2$
$2\frac 7 8$
$10.111_2$
$1\frac{7 }{16}$
$1.0111_2$
不难得到如下结果
右移(无符号)相当于除以$2$
左移(无符号)相当于乘以$2$
$0.111111 \ldots _2$比$1.0$略小,因为
$1 / 2+1 / 4+1 / 8+\ldots+1 / 2^{i}+\ldots \rightarrow 1.0$
表示为$1.0-\epsilon$ ...
CS224N Natural Language Processing with Deep Learning Lecture 14
课程主页:https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1194/
视频地址:https://www.bilibili.com/video/av46216519?from=search&seid=13229282510647565239
这里回顾CS224N Lecture 14的课程内容,这一讲主要介绍了attention和transformer。
备注:图片均来自课程课件。
Self-Similarity, Image and Music Generation图像,音乐中有很多自相似性:
ImageProbabilistic Image Generation
模拟像素的联合分布,把它变成一个序列建模问题,通过概率可以衡量泛化性。
RNN和CNN是概率图像生成的最新技术(PixelRNN,PixelCNN),包含门控的CNN现在在质量上与RNN相匹配,并且由于并行化,CNN更快
远程依赖关系对图像很重要(例如对称性),并且随着图像尺寸的增加,可能越来越重要。
使用CNN建模远程依赖关系需要多层结构,或者更 ...
CS224N Natural Language Processing with Deep Learning Lecture 13
课程主页:https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1194/
视频地址:https://www.bilibili.com/video/av46216519?from=search&seid=13229282510647565239
这里回顾CS224N Lecture 13的课程内容,这一讲主要介绍了上下文词表示法和预训练。
备注:图片均来自课程课件。
Pre-trained word vectors我们可以从随机词向量开始,然后对它们进行我们感兴趣的任务的训练,预训练可以产生一定的效果:
Tips for unknown words with word vectors
简单的方法
训练时间:词汇表是\{\text { words occurring} \geq 5 \text { times }\} \cup\{\}
将所有较稀有出现频率$(\le 5)$的单词映射到$<\text{UNK}>$,为其训练一个词向量
运行时:如果出现不在词汇表中的单词,那么用$<\text{UNK}& ...
CMU 15-213 Intro to Computer Systems Lecture 3
课程主页:http://www.cs.cmu.edu/afs/cs/academic/class/15213-f15/www/schedule.html
课程资料:https://github.com/EugeneLiu/translationCSAPP
课程视频:https://www.bilibili.com/video/av31289365/
这一讲的主题是整型数的其他操作以及指针的内容。
整型加法无符号加法
无符号加法的方式为按正常加法运算,然后不考虑溢出位
最终的结果为取模运算
s=\text {UAdd}_{w}(u, v)=u+v \bmod 2^{w}
=\left\{\begin{array}{ll}
u+v, & u+v=0 \quad \Rightarrow \quad-\mathbf x>31=-1错误,例如取$\mathbf x =0$,那么得到的结果为$0$。注意取非零$\mathbf x$,上述结论均成立,因为$\mathbf x |-\mathbf x$第一位一定是$1$,右移$31$位后会得到全部为$1$的二进制数,即$-1$
11.
\ma ...
Michael Collins NLP Homework 3
课程主页:http://www.cs.columbia.edu/~cs4705/
课程网盘地址:
链接:https://pan.baidu.com/s/1KijgO7yjL_MVCC9zKZ7Jdg提取码:t1i3
这一次回顾Michael Collins NLP作业3。
Quesion 1(a)假设法语单词的数量为$|F|$
初始化$p=1$
$\text{for }j=1,\ldots,m:$
$p=\max_{f_j,a_j} p\times t\left(f_{j} | e_{a_{j}}\right) \times q\left(a_{j} | j, l, m\right)$
$f_j,a_j=\arg\max_{f_j,a_j} p\times t\left(f_{j} | e_{a_{j}}\right) \times q\left(a_{j} | j, l, m\right)$
$\text{return } p,f_j,a_j,j=1,\ldots,m$
不难看出时间复杂度为
|F|\times (l+1)\times m(b)注意恒等式
\begin ...
David silver 强化学习 Lecture 10
课程主页: https://www.davidsilver.uk/teaching/
这里回顾David silver 强化学习 Lecture 10的课程内容,这一讲简单介绍了经典游戏。
Game TheoryOptimality in Games
第$i$个玩家的最佳策略$\pi^i$是什么,如果其他的玩家固定他们的策略$\pi^{-i}$?
最优响应$\pi_{*}^{i}\left(\pi^{-i}\right)$为对抗这些策略的最优策略
纳什均衡是所有玩家的共同策略,其中
\pi^{i}=\pi_{*}^{i}\left(\pi^{-i}\right)使得每个玩家的策略都是最佳响应
即没有玩家会选择偏离纳什
Single-Agent and Self-Play Reinforcement Learning
最优响应是解决单智能体RL问题
其他参与者成为环境的一部分
游戏简化为MDP
最佳响应是此MDP的最佳策略
纳什均衡是self-play RL的不动点
经验是通过在智能之间玩游戏而产生的
a_{1} \sim \pi^{1}, a_{2} \sim ...
David silver 强化学习 Lecture 9
课程主页: https://www.davidsilver.uk/teaching/
这里回顾David silver 强化学习 Lecture 9的课程内容,这一讲简单介绍了Exploration(探索) and Exploitation(开发)。
IntroductionExploration vs. Exploitation Dilemma
在线决策涉及一个基本选择:
利用当前信息做出最佳决策
探索收集更多信息
最佳的长期策略可能涉及短期牺牲
收集足够的信息以做出最佳的总体决策
以多臂赌博机的例子讨论上述问题。
The Multi-Armed Bandit
多臂赌博机是元组$\langle\mathcal{A}, \mathcal{R}\rangle$
$\mathcal A$是已知的$m$个动作
$\mathcal{R}^{a}(r)=\mathbb{P}[r | a]$是未知的概率分布
在每个时间$t$,智能体选择动作$a_t\in \mathcal A$
环境生成奖励$r_t\sim \mathcal R^{a_t}$
目标是最大化累计收益$\sum_{\tau=1 ...
CS50 Introduction to Artificial Intelligence with Python Lecture 7
第七讲的主题是Lauguage,这里总结第七讲以及第七次作业。
课程地址:https://cs50.harvard.edu/ai/
备注:图片均来自课程课件。
Natural Language ProcessingContext-Free GrammarContext-Free Grammar指定语法规则,例如
NP → N | D NN → she | city | car | Harry | …D → the | a | an | …V → saw | ate | walked | …P → to | on | over | …ADJ → blue | busy | old | …
利用Context-Free Grammar会产生解析树:
nltk$n-$gram文本中连续$n$项,例如连续$n$个单词或者字母。
tokenization将字符序列拆分为多个部分(tokens)的任务,常见的token有word token以及sentence token。
bag-of-words model将文本表示为单词的无序集合的模型。
Naive Bayes考虑文本分类问题,例如
...
CS50 Introduction to Artificial Intelligence with Python Lecture 6
第六讲的主题是Neural Networks,这里总结第六讲以及第六次作业。
课程地址:https://cs50.harvard.edu/ai/
备注:图片均来自课程课件。
由于这一讲主要是神经网络的内容,课程内容的回顾在此从略,主要回顾project。
ProjectTrafficdef load_data(data_dir):
"""
Load image data from directory `data_dir`.
Assume `data_dir` has one directory named after each category, numbered
0 through NUM_CATEGORIES - 1. Inside each category directory will be some
number of image files.
Return tuple `(images, labels)`. `images` should be a list of all
of the images in the ...
CMU 15-213 Intro to Computer Systems Lecture 2
课程主页:http://www.cs.cmu.edu/afs/cs/academic/class/15213-f15/www/schedule.html
课程资料:https://github.com/EugeneLiu/translationCSAPP
课程视频:https://www.bilibili.com/video/av31289365/
这一讲的主题是比特,字节和整型数。
用比特表示信息比特
每个比特是0或1
为什么要用比特?因为电子器件上容易实现
易于存储的双稳态元素
可靠地通过嘈杂的电线传输
比特可以用来表示二进制数,例如
$15213_{10}=11101101101101_{2}$
字节
一个字节等于8个比特
比特级别的操作布尔代数
对比特向量同样可以使用上述运算:
上述操作均可以在C语言中使用,分别为$\&, 1, \sim, \wedge$
上述操作可以对任意“整型”数据类型使用
long, int, short, char, unsigned
将参数视为比特向量
按位操作
注意上述操作要和C语言中的逻辑操作$\& \& ...
CMU 15-213 Intro to Computer Systems Lecture 1
课程主页:http://www.cs.cmu.edu/afs/cs/academic/class/15213-f15/www/schedule.html
课程资料:https://github.com/EugeneLiu/translationCSAPP
课程视频:https://www.bilibili.com/video/av31289365/
这一讲主要介绍了课程概述。
课程主旨课程的主旨是:抽象是好的,但不要忘记现实。
大多数CS和CE课程都强调抽象
抽象数据类型
渐近分析
这些抽象有局限性
特别是在修改bug的时候需要了解底层实现的详细信息
学习了该课程的有如下效果
成为更有效率的程序员
能够有效地发现和消除错误
能够理解和调优程序性能
为CS&ECE的“系统”课程做准备
老师还提到计算机中5个重要的事实。
五个重要的事实1.整型数不是整数,浮点数不是实数
例1:$x^2\ge 0$不一定成立
对浮点数上述事实成立
对整型上述事实不一定成立
50000 * 50000 \rightarrow ? ?
例2:$(x+y)+z=x+(y+z) ?$ ...
CS50 Introduction to Artificial Intelligence with Python Lecture 5
第五讲的主题是Learning,这里总结第五讲以及第五次作业。
课程地址:https://cs50.harvard.edu/ai/
备注:图片均来自课程课件。
由于这一讲主要是机器学习的内容,课程内容的回顾在此从略,主要回顾project。
ProjectShoppingdef load_data(filename):
"""
Load shopping data from a CSV file `filename` and convert into a list of
evidence lists and a list of labels. Return a tuple (evidence, labels).
evidence should be a list of lists, where each list contains the
following values, in order:
- Administrative, an integer
- Administrative_Duration, a f ...