AI 与机器学习2018arxiv.org
概率编程导论
An Introduction to Probabilistic Programming
入门 · 约 120 分钟读完前置知识:概率论基础、贝叶斯推断、基本编程
导读
这是一份概率编程的入门教材(arXiv 讲义),通过一个精心设计的一阶概率编程语言(FOPPL)讲解概率编程的核心思想,涵盖条件语句、基本运算和用户自定义函数等常见语言特性,并介绍如何自动化贝叶斯推断。FOPPL 限制函数不可递归、不可高阶,使模型描述有限个随机变量上的分布,表达能力与现有图模型推断库相当。
HN 关注点:HN 读者对概率编程的实际用途和本质一直存有困惑,讨论集中在它与普通编程的区别、与其他教材/语言的比较上。
后来怎么样
这份讲义成为概率编程领域被广泛采用的入门教材,其配套的 FOPPL 语言设计也被后续教学和教材沿用。
HN 评论精选
这几条评论里:质疑 2 补充 1 亲历 1
亲历推荐该教材,并指出 Anglican 适合 JVM 用户
我是通过 Frank Wood 和 Brooks Paige 在 DARPA 的 PPAML 项目中接触概率编程的,他们是非常出色的老师,强烈推荐这份资源。Anglican 是嵌入在 Clojure 中的优秀语言,对 JVM 用户尤其合适。
tbenst查看英文原文
I was introduced to probabilistic programming by Frank Wood and Brooks Paige at DARPA’s PPAML program, and they are excellent teachers. Highly recommend this resource! Anglican is a great language embedded in Clojure so this is particularly good for those on JVM
质疑质疑概率编程是否只是表达贝叶斯模型的设计选择,而非更深刻的技术
每次听到"概率编程"我总觉得自己漏掉了更深的东西——如果把它理解为一种用 OOP 式语言优雅地表达贝叶斯模型的方式,我错了吗?营销层面总暗示有更深刻的东西,但我没看到超出良好设计选择之外的深层联系。
__skeptic查看英文原文
I always feel like I'm missing something deeper when I hear / read about "Probabilistic Programming" - am I wrong in thinking that it's a well thought way of expressing Bayesian Models through the language of OOP? I always feel like the marketing side of this is hinting at something greater, but I haven't seen any deeper connections past a good design choice.
质疑困惑于概率编程的实际用途,认为概率与编程的确定性本质相冲突
能否举个实际应用的例子?表面上概率似乎与编程明确、良定义的确定性相悖。
xvilka查看英文原文
There is also ProbLog (Probabilistic Prolog)[1][2] and even extension of it with a deep learning - DeepProbLog[3]. Personally, though, I hope that new ISO Prolog implementation in Rust, aiming for the performance, Scryer Prolog[4] will add the probabilistic capability [5]. [1] https://dtai.cs.kuleuven.be/problog/ [2] https://github.com/ML-KULeuven/problog [3] https://github.com/ML-KULeuven/deepproblog [4] http://github.com/mthom/scryer-prolog/ [5] https://github.com/mthom/scryer-prolog/issues/69
补充引用 FOPPL 的设计说明,并追问其表达能力是否过于受限
我喜欢这段:FOPPL 包含编程语言的大多数常见特性(if、+/-、用户自定义函数),但限制函数必须是一阶的(不能接受函数作为参数)且不能递归。这两个限制使模型描述有限个随机变量上的分布,表达能力与许多现有的有限图图模型自动推断语言和库相当。这很好地说明了发生了什么。不过这是否意味着最终你基本上只是在一个分布上做几种固定的全局变换?
joe_the_user查看英文原文
I like this passage: In this and the next two chapters of this introduction we will present the key ideas of probabilistic programming using a carefully designed first-order probabilistic programming language (FOPPL). The FOPPL includes most common features of programming languages, such as conditional statements (e.g. if), primitive operations (e.g. +,-, etc.), and user-defined functions. The restrictions that we impose are that functions must be first order, which is to say that functions cannot accept other functions as arguments, and that they cannot be recursive. These two restrictions result in a language where models describe distributions over a finite number of random variables. In terms of expressivity, this places the FOPPL on even footing with many existing languages and libraries for automating inference in graphical models with finite graphs. This gives a nice picture of what's happening. At the same time, does this mean that in the end, you're basically operating on a single distribution with only a few canned global transformations?
相关资源
从这篇论文所有 HN 讨论帖的全部评论里整理出来的链接。
历次讨论
- 2018Hacker News 讨论帖269 分 · 14 评
- 2021Hacker News 讨论帖209 分 · 41 评
同领域还值得读
DeepSeek-R1:通过强化学习激励 LLM 的推理能力
DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via RL
研究如何用强化学习激励大语言模型的推理能力,提出 DeepSeek-R1,并探讨 RL 训练对模型推理表现的影响。
AI 与机器学习2025 · 1,351 分 · 1,056 评 · 引用 30进阶 · 约 80 分钟编辑精选1-bit LLM 时代:面向低成本计算的三值参数
The Era of 1-bit LLMs: ternary parameters for cost-effective computing
提出用三值参数 {-1, 0, 1} 替代 LLM 中的浮点权重,即所谓“1-bit LLM”。
AI 与机器学习2024 · 1,040 分 · 447 评 · 引用 19进阶 · 约 45 分钟编辑精选DeepSeek-V3.2:推进开放大语言模型的前沿
DeepSeek-v3.2: Pushing the frontier of open large language models
这是 DeepSeek-V3.2 的技术报告,延续了 DeepSeek 开源权重模型的路线,目标是让开放模型继续逼近甚至追平前沿闭源模型。
AI 与机器学习2025 · 982 分 · 465 评进阶 · 约 90 分钟编辑精选通过自我对弈与通用强化学习掌握国际象棋和将棋(AlphaZero)
Mastering Chess and Shogi by Self-Play with General Reinforcement Learning
DeepMind 的 AlphaZero 论文:用通用强化学习算法(自我博弈 + MCTS + 神经网络),从零开始仅数小时训练便在国际象棋和将棋上击败了世界顶级引擎 Stock…
AI 与机器学习2017 · 539 分 · 270 评 · 引用 13进阶 · 约 90 分钟编辑精选用强化学习发现更快的矩阵乘法算法
Discovering faster matrix multiplication algorithms with reinforcement learning
论文提出 AlphaTensor,用强化学习搜索矩阵乘法算法。
AI 与机器学习2022 · 518 分 · 111 评专业 · 约 90 分钟编辑精选