From Experience to Understanding

  • 采样技巧和 ReSTIR 渲染算法

    本文是 ReSTIR DI 算法的一些前置知识和论文阅读笔记 更新策略:直接修改本文内容 关于采样技巧 蒙特卡洛积分和重要性采样 蒙特卡洛积分是通过采样来估算积分的方法: \int_x f(x)dx = 1/N \Sigma_{i=1}^N f(x_i)/p(x_i), x_i~p(x_i) 一个性质是,当样本的分布 p 接近 f 的形状时,估计值的方差就小;当…

  • alg: 图论相关算法

    重申一下,alg 系列博文(本文在内)中的伪代码部分复制或改动自清华大学数据结构课程(邓俊辉课堂的)讲义,它可以从这个链接获取。 关键词:最小支撑树 Minimum Spanning Tree:Prim 算法,Kruskal 算法,其中 Kruskal 算法用到了并查集单源最短路径树 Shortest Path Tree / …

  • alg: 单调队列和滑动窗口算法

    单调队列 给定一个长度为 n 的数组,需要输出每连续 k 个数(A[i, i+k-1])中的最大值,可以在 O(n) 时间内做完吗? 一个思路就是动态地维护一个队列,在任何时刻 i 都满足 队列中的元素来自 A[i, i+k-1] A[s] 在队列中,当且仅当 A(s, i+k-1] 中的元素都小于 A[s]。特别地,A[i+k-1] 一定在队尾。…

  • alg: 字符串匹配算法

    这是以 alg 作为标题前缀的数据结构与算法系列。本系列的更新策略:直接更新内容,不标出更新的年月日。 本系列的写作参考了诸多来源,一个重要来源是清华大学数据结构课程(邓俊辉课堂的)讲义和《数据结构(C++语言版)》的内容,有些段落可能 文字复制比 / 伪代码复制比 较高,但不保证相关部分与上述来源完全一致。如果你想要系统性地初学数据结构与算法,推荐从上述两个材料入手,它们可以从…

  • 强化学习中的若干概念

    这是学习我阅读若干在线 RL 教程所作的笔记,比较杂乱无章,不适合作为你的第一个 RL 教程阅读,如果想要找一个入门的 RL 教程推荐从头到尾阅读 OpenAI 的 Spinning Up 再贴一个叶哥的同类博文作为参照,叶哥的博文详尽全面。 Model-free 和 Model-based RL Model-free 的方法不会对环境进行建模。当然,为了训练,代码中至少是要某种程度上建模环境和回报的,但除了定义…

  • paper: 不借助平行语料可以进行机器翻译吗?

    这是以 “paper:” 作为标题前缀的论文速读系列。我如何写作本系列:在接触到令人尤其感兴趣的论文后,总结论文的部分内容,探讨论文之外的相关思想,不作为论文的概括,亦不保证信息或推理全部准确。本系列的更新策略:直接修改博文内容,而不标注”X月X日更新“ UNSUPERVISED MACHINE…

  • 关于部署一个Mastodon站点

    我是如何写作本文的:在应用部署平台和 VPS 上各自建立了一个测试用的 Mastodon 站点后,作技术笔记。自评可靠程度:可靠性中等,全面性中等。 本文适合谁看/怎么看:了解 Mastodon 的设计和使用,并对建立自己的 Mastodon 站点感兴趣的读者。单纯想看关于 Mastodon 的小介绍、VPS 评测、或 Nginx…

  • 机器怎样学习:使用概率统计的视角

    视角的转换:预测取值还是预测分布 泛泛而论,机器学习就是给定一个输入 x,预测一个输出值 y,或者说,逼近目标函数 y = f(x)。回归模型接受输入 x,线性地预测一个输出 y。图像分类器将每个输入的图像分到一个类别中。 如果说上面的论述你全盘接受了的话,那么你本应该提出若干补充和质疑的。卷积神经网络的图像分类器,如果有…

  • LLM + RLHF = Chat Agent

    Large-Scale Language Model + Reinforcement learning from human feedback = Helpful Chat Agent 回顾 OpenAI GPT 的规模升级之路 在对话智能体应用大火的今天,回顾第一个杀手级应用 ChatGPT 被研发出来之前经历的事情格外有趣。从其创造者…

  • 棋盘游戏智能体:从蒙特卡洛树搜索到AlphaGo

    棋盘游戏 vs 街机游戏 智能体行动的环境,很多都可以归入如下两类: 一类是两方博弈的棋盘游戏,不包含随机性,胜负可以由棋盘上的状态一眼看出,比如围棋、象棋; 另一类是智能体适应/对抗环境的“街机游戏”,可能包含随机性,得分可能不是最终状态的函数,而是每一步行动奖励的过程积累,例子包括典型的强化学习测试环境,包括…

  • 从一维回归任务说起

    任务的定义和评价 给定一个输入空间和输出空间,我们想要通过输入空间中的变量预测输出空间中的变量,这就是ML和统计学中的回归任务。让我们考察一个简单的例子,输入空间、输出空间均连续一维的情况,即(单变量单值的)函数 f 的拟合。 我们假设数据按照如下的规律生成:y = f(x) + err, err ~ N(0, sigma),即背后真实的分布…

  • 初识固件接口和磁盘分区:计算机是如何启动的?

    前些时间为了给笔记本上的Arch Linux系统增加存储空间,折腾了一下磁盘分区,借此了解了磁盘分区、固件接口等等与计算机启动过程相关的底层结构,记录如下。 固件与固件接口 (Firmware Interface) 在操作系统之下,直接操作硬件的底层控制软件称为固件(Firmware)。顾名思义,“固”件就是固定在硬件中的软件,按照这个理解,的确有很多固件被存储于ROM、EEPROM之类的只读存储器上,很难变更。然而也有一些固件被存储在磁盘上,没有被定死,一个典型的例子就是引导程序…

AlphaGo Arch Linux bias-variance-tradeoff CA Chat Agent cross-entropy dijkstra diskpartition DNS Docker docker-compose DQN firmware floyd Graphics HTTPS importance-resampling kernel density estimation kl divergence KMP kruskal Mastodon maximum likelihood estimation MCTS misspecified model monotonous-queue OpenAI parametric model prim Q learning REINFORCE reservior-sampling ReSTIR RL RLHF RSA sliding-window TLS topsort WordPress