HackerPapers

HN 二十年,最值得读的论文。

从 Hacker News 2006 年以来的全部投稿里,挑出链接本身就是论文的帖子:arXiv、期刊、会议论文、技术报告。每篇附中文标题,讨论最热的那些再加上中文导读和高赞评论翻译。

从必读开始
  • 8,000+篇被 HN 讨论过的论文

Essential

必读 30 篇

在论文库里看全部精选

编辑精选里 HN 讨论最热的 30 篇,每篇都有中文导读。不知道从哪读起,就从这里开始。

  1. 正在载入论文…

Archive

论文库

点柱子按年份筛选。注:源数据里 2023 年的帖子分数记录不全,2026 年尚未过完,这两年收录偏少。

难度
排序

    About

    这些论文是怎么挑出来的

    1. 01

      全量扫一遍

      读取 Hacker News 自 2006 年以来的全部 446 万条链接投稿,找出指向 arXiv、期刊、会议、技术报告和学术 PDF 的帖子。

    2. 02

      只留论文本身

      由 AI 逐条判断,剔除介绍论文的新闻、博客和幻灯片,同一篇论文的多次投稿合并计算,并统计它在评论区被引用的次数。

    3. 03

      写导读、译评论

      讨论最热的 1,500 篇配上中文导读,并精选、翻译 HN 高赞评论。导读由 AI 生成,可能有误,请以原文为准。

    算法与理论计算机2025arxiv.org编辑精选

    多臂老虎机导论

    Introduction to Multi-Armed Bandits (2019)

    进阶 · 约 90 分钟读完前置知识:概率论基础、贝叶斯统计基础、机器学习基础

    读论文 HN 讨论
    143HN 得分
    33条评论
    1次被评论区引用

    导读

    这篇 2019 年的教程/综述系统介绍多臂老虎机(multi-armed bandits)问题:在探索新选项与利用已知最优选项之间权衡,以最大化长期收益。内容涵盖常见算法(如 UCB、Thompson sampling)、理论保证以及应用场景。

    HN 关注点:是因为多位从业者分享了在生产环境部署 bandit 的经验,尤其是它与 A/B 测试、实验独立性和跨团队指标权衡之间的冲突。

    关键词 multi-armed bandits探索-利用权衡A/B testingproduction ML

    HN 评论精选

    这几条评论里:亲历 3

    亲历生产中使用 bandit 效果不错,但会破坏依赖独立性的 A/B 实验,需按 cohort 隔离并接受探索带来的短期性能损失。

    我在一个产品里用过 bandit,用来在特定场景选择展示哪条内容并优化点击。效果很好,但有些影响我们希望一开始就理解。新内容(也就是新的 arm)不断涌入,bandit 能比手动实验(如 A/B 测试)更快采样新选项并找到新的最优组合。但我们还想对 bandit 管理的内容周边做实验(如 UI 流程、整体布局、其他算法等),结果 bandit 会显著复杂化这些实验:任何上下文变化都会让 bandit 更多转向探索以寻找新最优组合,从而在一段时间内损害表现。我们面临选择:把所有流量当作一个整体让 bandit 管理,或为每个 cohort 单独设置 bandit 统计。合并后就不能用假设 cohort 独立的实验设计(如 A/B 测试),因为 bandit 打破了独立性;但不同 cohort 的最优组合很可能不同,所以为了实验有效性,最好按 cohort 隔离 bandit。

    rented_mule查看英文原文

    We employed bandits in a product I worked on. It was selecting which piece of content to show in a certain context, optimizing for clicks. It did a great job, but there were implications that I wish we understood from the start. There was a constant stream of new content (i.e., arms for the bandits) to choose from. Instead of running manual experiments (e.g., A/B tests or other designs), the bandits would sample the new set of options and arrive at a new optimal mix much more quickly. But we did want to run experiments with other things around the content that was managed by the bandits (e.g., UI flow, overall layout, other algorithmic things, etc.). It turns out bandits complicate these experiments significantly. Any changes to the context in which the bandits operate lead them to shift things more towards exploration to find a new optimal mix, hurting performance for some period of time. We had a choice we could make here... treat all traffic, regardless of cohort, as a single universe that the bandits are managing (so they would optimize for the mix of cohorts as a whole). Or we could setup bandit stats for each cohort. If things are combined, then we can't use an experiment design that assumes independence between cohorts (e.g., A/B testing) because the bandits break independence. But the optimal mix will likely look different for one cohort vs. another vs. all of them combined. So it's better for experiment validity to isolate the bandits for each cohort. Now small cohorts can take quite a while to converge before we can measure how well things work. All of this puts a real limit on iteration speed. Things also become very difficult to reason about because their is state in the bandit stats that are being used to optimize things. You can often think of that as a black box, but sometimes you need to look inside and it can be very difficult. Much (all?) of this comes from bandits being feedback loops - these same problems are present in other approaches where feedback loops are used (e.g., control theory based approaches). Feedback mechanisms are incredibly powerful, but they couple things together in ways that can be difficult to tease apart.

    亲历bandit 算法本身不难,难的是生产化后的报表、沟通和可持续迭代。

    实现玩具级多臂老虎机很容易,放进生产代码也不算太难;真正快速变难的是报表、教育和在不破坏现有功能的前提下加新特性。

    Normal_gaussian查看英文原文

    Its very easy to implement toy multi-armed bandits, and even getting them into production code isn't so bad. Its the reporting, education, and adding features without breaking everything that gets very hard very quick.

    亲历生产经验是 MAB 能提升指标,但最大难点是跨指标权衡的人事共识,且用于 A/B 测试时要单独设 treatment 以免污染数据。

    这是我实际工作和生产使用的领域!我们的 MAB 在 A/B 指标上有提升。经验总结:我们只有一个优化目标(要最大化或最小化的指标)。难点不是定义目标,而是识别利益相关者真正想要的指标间权衡;如果有目标 A 和更激进的 B,让他们就哪个更好达成一致很难,这是人的问题。MAB 很适合作为可优化方向的概念验证,但不是“终局”优化路径。把 MAB 用于 A/B 测试会搅乱 A/B 数据并让一切更难;应该有一个用 MAB 算法的 treatment 和一个不用的 treatment。以上都针对非上下文 MAB。我目前在学不同 MAB 算法,它们其实很相似,基本都可视为线性/逻辑回归,区别在探索机制和不确定性表示:epsilon greedy 没有不确定性,按固定比例探索;UCB 对不确定性乐观,乐观程度控制探索;Thompson sampling 用统计(beta)分布表示不确定性,对某组选项越有信心探索越少。总之是个好玩的领域。

    Brystephor查看英文原文

    Hey, an area I actually work on and use in production! MAB in our case has shown improvements in our A/B metrics. My general takeaways for my experience with MAB: * we have a single optimization goal (e.g the metric to minimize or maximize). The hard part isnt defining a optimization goal. The hard part is identifying what stakeholders actually want the tradeoff between different metrics. If you have goal A and goal B, where B is more aggressive than A, then getting agreement on which is better is hard. This is a people problem. * MAB seems to be a good proof of concept that something that can be optimized but isnt an "end game" optimization path. * MAB for A/B testing is going to mess up your AB data and make everything more difficult. You should have a treatment that uses the MAB algorithm and a treatment that doesnt. All of the above is for non contextual MAB. I am currently learning about different MAB algorithms although each of them are pretty similar. The ones ive read about are all effectively linear/logistic regression and tbe differences come from exploration mechanism and how uncertainty is represented. Epsilon greedy has no uncertainty, exploration just happens a fixed percentage of time. UCB is optimistic about uncertainty, and the amount of optimism controls exploration. Thompson sampling uses statistical (beta) distributions about uncertainty, exploration happens less as confidence about a particular set of options increases. Overall its a fun area to work in that is quite different from your typical CRUD development which is a nice change of pace.

    相关资源

    从这篇论文所有 HN 讨论帖的全部评论里整理出来的链接。

    代码
    视频与演讲

    历次讨论

    同领域还值得读

    1. 哲学家为何应关注计算复杂性

      Why Philosophers Should Care About Computational Complexity (2011)

      Scott Aaronson 的这篇长文论证计算复杂性理论(如 P vs NP、停机问题的复杂度视角)对哲学问题(如知识的本质、中文房间、水槽论证等)具有实质意义,而不仅是技术细…

      算法与理论计算机2015 · 552 分 · 120 评进阶 · 约 90 分钟编辑精选
    2. 通信的数学理论

      A Mathematical Theory of Communication

      是香农1948年的《通信的数学理论》,为通信建立数学框架:把信息量定义为不确定性或自由度(信息熵),并讨论信源编码、信道容量与可靠传输。

      算法与理论计算机2020 · 495 分 · 91 评进阶 · 约 120 分钟编辑精选
    3. 物理、拓扑、逻辑与计算:罗塞塔石碑

      Physics, Topology, Logic and Computation: A Rosetta Stone (2009)

      用范畴论充当“罗塞塔石碑”,试图在量子物理、拓扑、逻辑与计算四个领域之间建立统一的结构性类比:物理中的量子过程、拓扑中的配边、逻辑中的证明和计算中的程序,都可被视为某类范畴中的态…

      算法与理论计算机2009 · 390 分 · 55 评 · 引用 13专业 · 约 180 分钟编辑精选
    4. 一种快速、极小内存的一致性哈希算法

      A Fast, Minimal Memory, Consistent Hash Algorithm

      论文给出一种快速、省内存的一致哈希方案,目标是在桶数量变化时保持较小的键迁移成本,同时降低计算和内存开销。

      算法与理论计算机2014 · 327 分 · 57 评 · 引用 4进阶 · 约 25 分钟编辑精选
    5. 第五个 Busy Beaver 值的确定

      Determination of the fifth Busy Beaver value

      宣布确定了第五个 Busy Beaver 值 BB(5):即 5 状态图灵机中停机前运行步数最多的机器(Champion)在 47,176,870 步后停机。

      算法与理论计算机2025 · 288 分 · 116 评 · 引用 1专业 · 约 75 分钟编辑精选

    打赏支持

    打赏二维码

    觉得有用,请作者喝杯咖啡。

    WeChat

    关注向阳乔木

    微信公众号「向阳乔木推荐看」

    微信公众号「向阳乔木推荐看」二维码

    微信扫一扫;在微信里打开本页时,长按二维码识别。