Skip to content

Latest commit

 

History

History
executable file
·
57 lines (41 loc) · 4.32 KB

ppl.md

File metadata and controls

executable file
·
57 lines (41 loc) · 4.32 KB

Note for topic: Probabilistic programming language

Can be found in repository: paper-on-AI.

Our minds are able to explore vast spaces of possible thoughts, perceptions, and explanations, and identify the probable ones in milliseconds. To emulate these capacities, we are building a new generation of computing systems that integrate probability and randomness into the basic building blocks of software and hardware. We have discovered that this approach leads to surprising new AI capabilities...MIT probabilistic computing project

Probabilistic programming is not about making what you already do faster or somehow better but instead about making it possible to do things that would otherwise be nearly impossible to do...

What is probabilistic programming

The goal of probabilistic programming is to enable probabilistic modeling and machine learning to be accessible to the working programmer, who has sufficient domain expertise, but perhaps not enough expertise in probability theory or machine learning.


Probabilistic program is to represent (and model) a probability distribution

  1. assigns to variables from a “prior” distribution
  2. constrains the relationships between variables using observe statements
  3. to represent a “posterior” distribution obtained by conditioning the prior distribution using observations.

An expample: Skill Rating in Online Games
Online gaming systems such as Microsoft’s Xbox Live rate relative skills of players playing online games so as to match players with comparable skills for game playing.

The implementation in Tabular:(a new probabilistic programming language whose most distinctive feature is that programs are written as annotated relational schemas)

The goal of a probabilistic inference is to compute appropriate representations of this posterior distributions

Probabilistic programs are usual functional or imperative programs with two added constructs:

  • the ability to draw values at random from distributions, and
  • the ability to condition values of variables in a program via observations.

What is probabilistic programming
A more detailed introduction

Let's read some papers to get a main idea

  • Human-level concept learning through probabilistic program induction (Note)
  • Picture: A Probabilistic Programming Language for Scene Perception (Note)
  • Probabilistic programming will unlock narrative explanations of data
  • Probabilistic programming decouples modeling and inference
  • Probabilistic programming enables more general, abstract reasoning

books:

notes:

slices: