3.4k words 3 mins.

# Basic Blocks and Traces # Canonical Form IR 存在一些与机器语言不能完全对应的情况,和与编译优化分析相冲突的情况。 CJUMP 能够转移到 t 或者 f,但是真正的机器语言在条件为假的时候直接下降至下一条指令(条件为真才跳转) 在表达式中使用 ESEQ 不太方便,会使子树不同的计算顺序产生不同的计算结果 CALL 调用 CALL 作为参数的时候会有寄存器冲突、语句副作用(修改全局变量、改变堆内存,etc.)等问题 三种方法: Linearize: Transform trees into a list of canonical trees...
1.5k words 1 mins.

# 指令选择 找出实现一个给定的 IR Tree 的恰当机器指令序列。Mapping IR into abstract assembly code Abstract assembly = assembly with infinite registers Invent new temporaries for intermediate results Map to actual registers later Tree pattern, 也叫 tile 本质上是 pattern matching, 我们使用 tree covering 来实现 我们 Jouette...
1.1k words 1 mins.

# 深度学习 # 前馈神经网络 神经元 感知机(多一个激活函数) 激活函数: .RelU, Sigmoid, Softmax, tanh… 损失函数: MSE, Cross Entropy…s 参数优化: BP, 梯度下降 具体懒得写了,都说烂了 记一下这几个激活函数的形状和应用: tanh 和 sigmoid 大多用于二分类,RelU 一般用在隐藏层,Softmax 用在多分类而且概率和为 1 # CNN 了解卷积操作和操作之后的结果 池化操作(最大池化、平均池化) 卷积层负责提取图像中的局部特征; 池化层用来大幅降低参数量级...
3.4k words 3 mins.

# 强化学习 根据环境所提供的奖罚反馈来学习所处状态可施加的最佳行动,在 “探索(未知空间)- 利用(已有经验)(exploration vs. exploitation)”...
1.6k words 1 mins.

# 人工智能博弈 # 博弈论 博弈的要素: player strategy payoff rule # 博弈策略求解 # 遗憾最小化算法(Regret Minimization) 下一步选择策略Σi\Sigma_iΣi​ 的概率 P: P(σiT+1)={RegretiT,+(σi)∑σi′∈ΣiRegretiT,+(σi′)if ∑σi′∈ΣiRegretiT,+(σi′)>01∣Σi∣otherwiseP(\sigma_i^{T+1}) =...
3.9k words 4 mins.

# IR Intermediate Representation 解决高级语言和目标机器汇编语言之间的转化 为什么需要 IR: 更模块化、可迁移 分层分析和优化 IR 可以有好多层:IR1->IR2->…->IRn 编译流程划分 前端:源代码 -> 词法分析 -> 语法分析 -> 语义分析(IR 之前的都是) 中端:基于 IR 的分析与变换(可能生成新 IR,可以做一些机器无关优化比如循环展开等) 后端:指令选择 -> 寄存器分配 -> 指令调度 -> 机器码(IR...
3.1k words 3 mins.

# K-Means 问题描述:如何将 n 个数据依据其相似度大小将它们分别聚类到 k 个集合,使得每个数据仅属于一个聚类集合。 初始化质心:随机选择 k 个数据点作为初始质心c1,c2,...,ckc_1, c_2, ..., c_kc1​,c2​,...,ck​。 分配数据点:对于每个数据点xix_ixi​,计算它与所有质心的距离,并将其分配到距离最近的质心所在的簇中 更新质心:对于每个簇,计算该簇内所有数据点的平均值,将该平均值作为新的质心。 迭代过程:重复执行分配和更新步骤,直到质心不再发生变化或达到预设的最大迭代次数。 # 主成分分析 (PCA) 输入:n 个 d...
2k words 2 mins.

# Activation Record/Stack Frame 函数的栈帧是栈上用来放函数的局部变量、参数、返回地址以及其他临时变量的区域 stack 一般从高地址向低地址,heap 从低地址向高地址 layout: incoming arguments: 存储 caller 传递给 callee 的参数 frame pointer: 帧指针,用来访问 incoming arguments,从低向高是 argument 1, argument 2, … local variables: 存储函数的局部变量(还有一些保存在寄存器里) return address: 存储需要返回 caller...
6.4k words 6 mins.

# Ch4 机器学习 # 监督学习 标注数据 学习模型 损失函数 典型的损失函数 经验风险 (empirical risk) 训练集中数据产生的损失。 经验风险越小说明学习模型对训练数据拟合程度越好。 期望风险 (expected risk): 当测试集中存在无穷多数据时产生的损失。 期望风险越小,学习所得模型越好。 经验风险最小化 min⁡f∈Φ1n∑i=1nLoss(yi,f(xi))\min_{f \in \Phi} \frac{1}{n} \sum_{i=1}^{n} Loss(y_i,...
947 words 1 mins.

#Ch3 搜索算法 # 无信息搜索 BFS DFS 略 # 启发式搜索 贪婪优先搜索 每次取最短的;缺点:不一定是最优的 时间和空间复杂度均为 O(bm)O(b_m)O(bm​),b 是搜索树分支因子,m 是最大深度 每次取当前节点的下一个节点到终点中直线距离最短的 A * 算法 评价函数:f (n) = g (n) + h (n) 代价函数 g (n) 表示从起始结点到结点 n 的开销代价值 启发函数 h (n) 表示从结点 n 到目标结点路径中所估算的最小开销代价值。 评价函数 f (n) 可视为经过结点 n、具有最小开销代价值的路径。 在最短路径问题中,g (?)...