Slide 1

Slide 1 text

Dive into 
 Probabilistic Programming ֬཰తϓϩάϥϛϯάͲ͏Ͱ͠ΐ͏ !TPSBNJ +VMJB5PLZP

Slide 2

Slide 2 text

EJTDMBJNFS *`NKVTUBOPWJDFTMJEFTQSPCBCMZDPOUBJOFSSPST 1MFBTFEPIBWFBMPPLBUUIFSFGFSSFENBUFSJBMT

Slide 3

Slide 3 text

1SPCBCJMJTUJD1SPHSBNNJOH ֬཰తϓϩάϥϛϯά

Slide 4

Slide 4 text

1SPCBCJMJTUJD1SPHSBNNJOH ֬཰తϓϩάϥϛϯά

Slide 5

Slide 5 text

https://pycon.jp/2015/ja/schedule/presentation/38/

Slide 6

Slide 6 text

https://pycon.jp/2015/ja/schedule/presentation/38/

Slide 7

Slide 7 text

https://pycon.jp/2015/ja/schedule/presentation/38/ ֬཰తʁ֬཰࿦తʁ

Slide 8

Slide 8 text

1SPHSBNNJOHlQSPCBCJMJTUJDEJTUSJCVUJPOTzʜ ✦ 1SPCBCJMJTUJD1SPHSBNT 4BNQMJOH
 ESBXWBMVFTBUSBOEPNGSPNEJTUSJCVUJPOT $POEJUJPOJOH
 DPOEJUJPOWBMVFTPGWBSJBCMFTJOBQSPHSBNWJBPCTFSWBUJPO 5 ‣ [Gordon+ 2014] "Probabilistic Programming", ICSE Future of Software Engineering ‣ What is probabilistic programming? - The PL Enthusiast ‣ The State of Probabilistic Programming « Some Thoughts on a Mysterious Universe

Slide 9

Slide 9 text

&YBNQMFqJQQJOHDPJOT ✦ 4BZXFIBWFBDPJO XJUIVOLOPXOCFOEJOFTT ✦ 8FqJQJUBDPVQMFUJNFT ✦ 8FUIFOlHVFTTzJU`TCFOEJOFTT 6 ‣ [Gordon+ 2014] "Probabilistic Programming", ICSE Future of Software Engineering ‣ What is probabilistic programming? - The PL Enthusiast ‣ “Probabilistic Models of Cognition” Chapter 3 : Conditioning

Slide 10

Slide 10 text

makeCoin(0.9) #“head”with probability 0.9 makeCoin(0.1) #“tail”with probability 0.9 coin = makeCoin(0.5) # distribution flip(coin) # sampling => “head” flip(coin) => “head” flip(coin) => “tail” …

Slide 11

Slide 11 text

makeCoin(0.9) #“head”with probability 0.9 makeCoin(0.1) #“tail”with probability 0.9 coin = makeCoin(0.5) # distribution flip(coin) # sampling => “head” flip(coin) => “head” flip(coin) => “tail” …

Slide 12

Slide 12 text

makeCoin(0.9) #“head”with probability 0.9 makeCoin(0.1) #“tail”with probability 0.9 coin = makeCoin(0.5) # distribution flip(coin) # sampling => “head” flip(coin) => “head” flip(coin) => “tail” …

Slide 13

Slide 13 text

makeCoin(0.9) #“head”with probability 0.9 makeCoin(0.1) #“tail”with probability 0.9 coin = makeCoin(0.5) # distribution flip(coin) # sampling => “head” flip(coin) => “head” flip(coin) => “tail” …

Slide 14

Slide 14 text

makeCoin(0.9) #“head”with probability 0.9 makeCoin(0.1) #“tail”with probability 0.9 coin = makeCoin(0.5) # distribution flip(coin) # sampling => “head” flip(coin) => “head” flip(coin) => “tail” …

Slide 15

Slide 15 text

coin2 = makeCoin(param) # a coin with unknown parameter result1 = flip(coin2) observe(result1 == head) # conditioning result2 = flip(coin2) observe(result2 == head) result3 = flip(coin2) observe(result3 == head) infer(param) # => probably higher than 0.5

Slide 16

Slide 16 text

coin2 = makeCoin(param) # a coin with unknown parameter result1 = flip(coin2) observe(result1 == head) # conditioning result2 = flip(coin2) observe(result2 == head) result3 = flip(coin2) observe(result3 == head) infer(param) # => probably higher than 0.5

Slide 17

Slide 17 text

coin2 = makeCoin(param) # a coin with unknown parameter result1 = flip(coin2) observe(result1 == head) # conditioning result2 = flip(coin2) observe(result2 == head) result3 = flip(coin2) observe(result3 == head) infer(param) # => probably higher than 0.5

Slide 18

Slide 18 text

coin2 = makeCoin(param) # a coin with unknown parameter result1 = flip(coin2) observe(result1 == head) # conditioning result2 = flip(coin2) observe(result2 == head) result3 = flip(coin2) observe(result3 == head) infer(param) # => probably higher than 0.5

Slide 19

Slide 19 text

coin2 = makeCoin(param) # a coin with unknown parameter result1 = flip(coin2) observe(result1 == head) # conditioning result2 = flip(coin2) observe(result2 == head) result3 = flip(coin2) observe(result3 == head) infer(param) # => probably higher than 0.5

Slide 20

Slide 20 text

&YBNQMFSBUJOHUIFPOMJOFHBNFQMBZFST ✦ 1MBZFSTIBWFl 5SVF 4LJMMzBOEl1FSGPSNBODFz ✦ 1FSGPSNBODFJTCBTFEPO4LJMMT 
 BOEJUWBSJFTGSPNHBNFUPHBNF ✦ (BNFPVUDPNFDPOEJUJPO4LJMM 9 ‣ TrueSkill™ Ranking System - Microsoft Research (figure from this page) ‣ TrueSkill — trueskill 0.4.4 documentation ‣ [Gordon+ 2014] "Probabilistic Programming", ICSE Future of Software Engineering

Slide 21

Slide 21 text

skillA = Normal(μ=100, σ=10) skillB = Normal(μ=100, σ=10) skillC = Normal(μ=100, σ=10) ### 1st game : A vs B # players have probabilistic performance perfA1 = Normal(skillA, 15) perfB1 = Normal(skillB, 15) # A won => condition the skills observe(perfA1 > perfB1)

Slide 22

Slide 22 text

skillA = Normal(μ=100, σ=10) skillB = Normal(μ=100, σ=10) skillC = Normal(μ=100, σ=10) ### 1st game : A vs B # players have probabilistic performance perfA1 = Normal(skillA, 15) perfB1 = Normal(skillB, 15) # A won => condition the skills observe(perfA1 > perfB1)

Slide 23

Slide 23 text

skillA = Normal(μ=100, σ=10) skillB = Normal(μ=100, σ=10) skillC = Normal(μ=100, σ=10) ### 1st game : A vs B # players have probabilistic performance perfA1 = Normal(skillA, 15) perfB1 = Normal(skillB, 15) # A won => condition the skills observe(perfA1 > perfB1)

Slide 24

Slide 24 text

skillA = Normal(μ=100, σ=10) skillB = Normal(μ=100, σ=10) skillC = Normal(μ=100, σ=10) ### 1st game : A vs B # players have probabilistic performance perfA1 = Normal(skillA, 15) perfB1 = Normal(skillB, 15) # A won => condition the skills observe(perfA1 > perfB1)

Slide 25

Slide 25 text

### 2nd game : B vs C perfB2 = Normal(skillB, 15) perfC2 = Normal(skillC, 15) observe(perfB2 > perfC2) ### 3rd game : A vs C perfA3 = Normal(skillA, 15) perfC3 = Normal(skillC, 15) observe(perfA3 > perfC3) infer(skillA) # => Normal(μ=105.7, σ=0.11) infer(skillB) # => Normal(μ=100.0, σ=0.11) infer(skillC) # => Normal(μ=94.3, σ=0.11)

Slide 26

Slide 26 text

### 2nd game : B vs C perfB2 = Normal(skillB, 15) perfC2 = Normal(skillC, 15) observe(perfB2 > perfC2) ### 3rd game : A vs C perfA3 = Normal(skillA, 15) perfC3 = Normal(skillC, 15) observe(perfA3 > perfC3) infer(skillA) # => Normal(μ=105.7, σ=0.11) infer(skillB) # => Normal(μ=100.0, σ=0.11) infer(skillC) # => Normal(μ=94.3, σ=0.11)

Slide 27

Slide 27 text

### 2nd game : B vs C perfB2 = Normal(skillB, 15) perfC2 = Normal(skillC, 15) observe(perfB2 > perfC2) ### 3rd game : A vs C perfA3 = Normal(skillA, 15) perfC3 = Normal(skillC, 15) observe(perfA3 > perfC3) infer(skillA) # => Normal(μ=105.7, σ=0.11) infer(skillB) # => Normal(μ=100.0, σ=0.11) infer(skillC) # => Normal(μ=94.3, σ=0.11)

Slide 28

Slide 28 text

4JNJMBSFYBNQMF
 UIBUZPVDBOQMBZJUXJUIPOUIFCSPXTFS 1SPCBCJMJTUJD.PEFMTPG$PHOJUJPO$IBQUFS$POEJUJPOJOH 5VHPG8BST

Slide 29

Slide 29 text

4JNJMBSFYBNQMF
 UIBUZPVDBOQMBZJUXJUIPOUIFCSPXTFS 1SPCBCJMJTUJD.PEFMTPG$PHOJUJPO$IBQUFS$POEJUJPOJOH 5VHPG8BST

Slide 30

Slide 30 text

)PXEPXFNBLFUIBUQPTTJCMF ✦ 4UBUJD*OGFSFODF ✦ .FTTBHF1BTTJOH ✦ #FMJFG1SPQBHBUJPO ʜ ✦ %ZOBNJD*OGFSFODF ✦ 4BNQMJOH ✦ .$.$ ʜ 13 ‣ [Gordon+ 2014] "Probabilistic Programming", ICSE Future of Software Engineering ‣ The Design and Implementation of Probabilistic Programming Languages ‣ “Probabilistic Models of Cognition” Chapter 7. Algorithms for inference

Slide 31

Slide 31 text

-BUFOU%JSJDIMFU"MMPDBUJPOJOWBSJPVTGPSNT 14 ‣ [Tang+ 2014] Understanding the Limiting Factors of Topic Modelling via Posterior Contraction Analysis // Speaker Deck ‣ example-models/lda.stan at master · stan-dev/example-models ‣ Latent Dirichlet Allocation - Forest

Slide 32

Slide 32 text

8IZTIPVMEXFDBSF ✦ 8FDPNNVOJDBUFBCPVUUIFNPEFMTJO
 OBUVSBMMBOHVBHFT NBUIT QMBUFOPUBUJPOT QSPHSBNT ʜ ✦ lVOJGZJOHHFOFSBMQVSQPTFQSPHSBNNJOH
 XJUIQSPCBCJMJTUJDNPEFMJOHz ✦ .BDIJOF-FBSOJOHGPS%PNBJO&YQFSUT
 TDJLJUMFBSOJTDPPM CVUZPVDBO`UDPOTUSVDUOPWFMNPEFMTXJUIJUEJGGFSFOUVTFDBTFT 15 ‣ PROBABILISTIC-PROGRAMMING.org ‣ Why Probabilistic Programming Matters, Beau Cronin, March 2013, (Japanese translation) ‣ The State of Probabilistic Programming « Some Thoughts on a Mysterious Universe

Slide 33

Slide 33 text

%"31"11".- ✦ l5IF1SPCBCJMJTUJD1SPHSBNNJOHGPS"EWBODJOH.BDIJOF-FBSOJOHz l4IPSUFS3FEVDF-0$CZYGPS.-BQQMJDBUJPOTz l'BTUFS3FEVDFEFWFMPQNFOUUJNFCZYz l.PSF*OGPSNBUJWF%FWFMPQNPEFMTUIBUBSFYNPSFTPQIJTUJDBUFEz l8JUI-FTT&YQFSUJTF&OBCMFYNPSFQSPHSBNNFSTz ✦ 4VNNFS4DIPPMT 16 ‣ Probabilistic Programming for Advancing Machine Learning (PPAML), Dr. Suresh Jagannathan ‣ PPAML Wiki ‣ PPAML Kickoff Overview Slides (pdf), November 2013

Slide 34

Slide 34 text

14 • Application • Code Libraries • Programming Language • Compiler • Hardware The Probabilistic Programming Revolution • Model • Model Libraries • Probabilistic Programming Language • Inference Engine • Hardware Traditional Programming Probabilistic Programming Code models capture how the data was generated using random variables to represent uncertainty Libraries contain common model components: Markov chains, deep belief networks, etc. PPL provides probabilistic primitives & traditional PL constructs so users can express model, queries, and data Inference engine analyzes probabilistic program and chooses appropriate solver(s) for available hardware Hardware can include multi-core, GPU, cloud-based resources, GraphLab, UPSIDE/Analog Logic results, etc. High-level programming languages facilitate building complex systems Probabilistic programming languages facilitate building rich ML applications Approved for Public Release; Distribution Unlimited From PPAML Kickoff Overview Slides (pdf), November 2013

Slide 35

Slide 35 text

"OEUIFSF`SFTPNBOZ MBOHVBHFTTZTUFNTʜ

Slide 36

Slide 36 text

#6(4GBNJMZ ✦ #6(4l#BZFTJBOJOGFSFODF6TJOH(JCCT4BNQMJOHz d ✦ 8JO#6(4d 0QFO#6(4d ✦ +"(4l+VTUBOPUIFS(JCCTTBNQMFSz d ✦ HPFENBO+BHTKM ✦ PMPGTFO+"(4KM 19 ‣ [Lunn+ 2009] “The BUGS project: Evolution, critique and future directions” ‣ (ja) ୈ1ճBUGS/StanษڧձΛ։࠵͠·ͨ͠ - Analyze IT., September 2013 ‣ (ja) “ؠ೾σʔλαΠΤϯε Vol.1” [ಛू] ϕΠζਪ࿦ͱMCMCͷϑϦʔιϑτ

Slide 37

Slide 37 text

45"/ ✦ *NQFSBUJWFQSPCBCJMJTUJDQSPHSBNNJOHMBOHVBHF ✦ /VN'PDVTQSPKFDU ✦ *OUFSGBDFT3 1ZUIPO TIFMM ."5-"# 4UBUB +VMJB 20 ‣ Stan, official website (logo from this page) ‣ Bob Carpenter: Stan.jl - Statistical Modeling and Inference Made Easy - YouTube, JuliaCon 2015 ‣ Stan is Turing Complete. So what? - Statistical Modeling, Causal Inference, and Social Science

Slide 38

Slide 38 text

1Z.$ ✦ 1ZUIPO ✦ 1Z.$ 1Z.$ ✦ l#BZFTJBO.FUIPETGPS)BDLFSTz 21 ‣ pymc-devs/pymc: PyMC: Bayesian Stochastic Modelling in Python ‣ Probabilistic Programming & Bayesian Methods for Hackers (figure from this page) ‣ (ja) “ؠ೾σʔλαΠΤϯε Vol.1” [ಛू] ϕΠζਪ࿦ͱMCMCͷϑϦʔιϑτ

Slide 39

Slide 39 text

KB ؠ೾σʔλαΠΤϯε7PM <ಛू>ϕΠζਪ࿦ͱ.$.$ͷϑϦʔιϑτ Image from sites.google.com/site/iwanamidatascience/

Slide 40

Slide 40 text

$IVSDI ✦ 4DIFNFCBTFE/BNFEBGUFS"MPO[P$IVSDI ✦ (SFBUSFTPVSDFT ✦ l1SPCBCJMJTUJD.PEFMTPG$PHOJUJPOz˒ ✦ l'PSFTUBSFQPTJUPSZGPSHFOFSBUJWFNPEFMTz ✦ 0OMJOFQMBZTQBDF ✦ $PHOJUJWF4DJFODF ✦ $PNQVUBUJPOBOE$PHOJUJPOUIF1SPCBCJMJTUJD"QQSPBDI 1TZDI$4 'BMM 4UBOGPSE$P$P-BC ✦ KB ࢲͷϒοΫϚʔΫܭࢉ࿦తೝ஌Պֶcਓ޻஌ೳֶձ7PM/P ߴڮୡೋ 23 ‣ Church Wiki ‣ Probabilistic Models of Cognition ‣ Forest - A Repository for Generative Models

Slide 41

Slide 41 text

probmods.org

Slide 42

Slide 42 text

forestdb.org

Slide 43

Slide 43 text

8FC11- QSPOPVODFEbXFCQFPQMF` ✦ +BWB4DSJQUCBTFE QVSFMZGVODUJPOBM ✦ (SFBUSFTPVSDFT ✦ 5IF%FTJHOBOE*NQMFNFOUBUJPOPG1SPCBCJMJTUJD1SPHSBNNJOH-BOHVBHFT ✦ 11".-4VNNFS4DIPPM ✦ 8FC11-%PDVNFOUBUJPOŠXFCQQMEPDVNFOUBUJPO ✦ .PEFMJOH"HFOUTXJUI1SPCBCJMJTUJD1SPHSBNT 26

Slide 44

Slide 44 text

#BZFT%#7FOUVSF ✦ 5IF.*51SPCBCJMJTUJD$PNQVUJOH1SPKFDU ✦ #BZFT%# ✦ #2- #BZFTJBO2VFSZ-BOVBHF FYUFOTJPOPG42-&45*."5& 4*.6-"5& ʜ ✦ 7FOUVSF ✦ QSPCBCJMJTUJDDPNQVUJOHQMBUGPSN
 )PTUTBQQMJDBUJPOTMJLF#BZFT%#1SPHSBNNFEQSJNBSJMZJOl7FOUVSF4DSJQUz 27 ‣ The MIT Probabilistic Computing Project ‣ "An Overview of Probabilistic Programming" by Vikash K. Mansinghka - YouTube, Strange Loop 2015 ‣ MIT Media Lab | Vikash Mansinghka on Probabilistic Programming for Augmented Intelligence, 2016

Slide 45

Slide 45 text

*OGFS/&5'VO5BCVMBS ✦ .JDSPTPGU3TFBSDI ✦ *OGFS/&5'VO ✦ 'QSPCBCJMJTUJDNPEFMJOHMBOHVBHF ✦ 5BCVMBSTDIFNBESJWFOBQQSPBDI ✦ BWBJMBCMFBTBO&YDFMBEEJO 28 ‣ ETAPS 2016 - Structure and Interpretation of Probabilistic Programs - Andrew D. Gordon - YouTube ‣ Infer.NET Fun - Microsoft Research ‣ [Gordon+ 2014] "Probabilistic Programming", ICSE Future of Software Engineering (figure from this paper)

Slide 46

Slide 46 text

'JHBSP ✦ 4DBMBCBTFE0CKFDU0SJFOUFE ✦ 5IFSF`TBCPPL 29 ‣ Avi Pfeffer “Practical Probabilistic Programming” (Manning, 2016) (figure from this page) ‣ Probabilistic Programming Language | Probabilistic Modeling ‣ Avi Pfeffer - Practical Probabilistic Programming with Figaro - MLconf SEA 2016 - YouTube, slide

Slide 47

Slide 47 text

"OHMJDBOJOUFHSBUFEXJUI$MPKVSF .-445VUPSJBM1SPCBCJMJTUJD$ &EXBSEl"MJCSBSZGPSQSPCBCJMJTUJDNPEFMJOH JOGFSFODF BOEDSJUJDJTNz 1ZUIPO5FOTPS'MPX 4UBO 1Z.$ ✦ l&YJTUJOHQSPCBCJMJTUJDQSPHSBNNJOHTZTUFNTz130#"#*-*45*$130(3"..*/(PSH ✦ l-JTUPGQSPCBCJMJTUJDQSPHSBNNJOHMBOHVBHFTz1SPCBCJMJTUJDQSPHSBNNJOHMBOHVBHF8JLJQFEJB UIFGSFFFODZDMPQFEJB l7FOUVSF .*5 'JHBSP $IBSMFT3JWFS"OBMZUJDT BOE#-0( #FSLFMFZ XFSFHJWFOUIFMJPO`TTIBSFPGBUUFOUJPOEVFUPUIFJS SFMBUJWF NBUVSJUZ CVUPUIFSMBOHVBHFTQSFTFOUJODMVEFE$IVSDI 4UBOGPSE )BSBLV 6OJWFSTJUZPG*OEJBOB BOE$IJNQMF%JNQMF (BNBMPO 5IJT JTCZOPNFBOTBGVMMBDDPVOUJOHPGUIFTQBDFPG114T XIJDIJODMVEFT4UBO $PMVNCJB *OGFS/&5 .JDSPTPGU BOEWFSZNBOZPUIFSTz
 RVPUFGSPN5IF4UBUFPG1SPCBCJMJTUJD1SPHSBNNJOHm4PNF5IPVHIUTPOB.ZTUFSJPVT6OJWFSTF FNQIBTJTBEEFE BOENPSFʜ 30 ‣ http://www.robots.ox.ac.uk/~fwood/anglican/ (figure from this page) ‣ http://edwardlib.org/ (figure from this page)

Slide 48

Slide 48 text

+VMJB

Slide 49

Slide 49 text

+VMJB4UBUT ✦ 4FUPGQBDLBHFT$PNNVOJUZ ✦ l4UBUJTUJDTBOE.BDIJOF-FBSOJOHNBEFFBTZJO+VMJBz ✦ %JTUSJCVUJPOTKMTBNQMJOH ʜ ✦ "UISFBEPO+VMJB4UBUTNBJMJOHMJTU
 1SPCBCJMJTUJD1SPHSBNNJOHJO+VMJB(PPHMF(SPVQT 32 ‣ https://github.com/JuliaStats (figure from this page) ‣ JuliaStats.org ‣ mailing list : julia-stats - Google Groups

Slide 50

Slide 50 text

.$.$ ✦ +VMJB4UBUT.$.$KMDVSSFOUMZBQMBDFIPMEFSSFQPTJUPSZ ✦ +VMJB4UBUT-PSBKM ✦ CSJBOKTNJUI.BNCBKM ✦ HPFENBO4UBOKM ✦ HPFENBO+BHTKM ✦ PMPGTFO+"(4KM ✦ -BVSFODF"TEpPVTEGKM QSFWJPVTMZLOPXOBT5VSJOHKM 33 ‣ scidom (Theodore Papamarkou) (figure from this page), Lora User Guide — Lora 0.5.3 documentation ‣ Names of Existing MCMC Packages · Issue #1 · JuliaStats/MCMC.jl ‣ JuliaTokyo #2 ͰϞϯςΧϧϩ๏ʹ͍ͭͯ࿩͖ͯ͠·ͨ͠ - ΓΜ͕͝Ͱ͍ͯΔ

Slide 51

Slide 51 text

4JHNBKM ✦ 1SPCBCJMJTUJDQSPHSBNNJOHFOWJSPONFOUJO+VMJB ✦ 5BMLTJO+VMJB$PO 4USBOHF-PPQ ✦ l+VMJBBTB1SPCBCJMJTUJD1SPHSBNNJOH-BOHVBHFzCZ;FOOB5BWBSFT OPWJEFP ✦ l1SPCBCJMJTUJD1SPHSBNT8IJDI.BLF $PNNPO 4FOTFzCZ;FOOB5BWBSFT :PV5VCF 34 ‣ https://github.com/zenna/Sigma.jl ‣ Sigma.jl’s documentation — Sigma 0.0.1 documentation ‣ "Probabilistic Programs Which Make (Common) Sense" by Zenna Tavares - YouTube, Strange Loop 2015

Slide 52

Slide 52 text

TPNFNPSF ✦ ZFCBJ5VSJOHKM ✦ l3FKVWFOBUJOHQSPCBCJMJTUJDQSPHSBNNJOHJO+VMJBz ✦ 4UJMMZPVOHJOJUJBMDPNNJUJO"QSJM ✦ (F )POH "EBN4DJCJPS BOE;PVCJO(IBISBNBOJ5VSJOHSFKVWFOBUJOHQSPCBCJMJTUJDQSPHSBNNJOHJO+VMJB *OTVCNJTTJPO ✦ OVMMB4UPDIZKMzOPMPOHFSVOEFSEFWFMPQNFOUz ✦ -BVSFODF"$IVSDIKMPCTPMFUF ✦ ʜ 35 ‣ The Turing Language — Turing.jl 0.0.1 documentation ‣ Julia.jl/Statistics.md at master · svaksha/Julia.jl

Slide 53

Slide 53 text

1JDUVSF ✦ "1SPCBCJMJTUJD1SPHSBNNJOH-BOHVBHFGPS4DFOF1FSDFQUJPO ✦ #BTFEPO+VMJB ✦ .*51SPC$PNQ1SPKFDU 7FOUVSF #BZFT%# ʜ ✦ <,VMLBSOJ>l1JDUVSFBQSPCBCJMJTUJDQSPHSBNNJOHMBOHVBHFGPSTDFOFQFSDFQUJPOz
 $713 #FTU1BQFS)POPSBCMF.FOUJPO ✦ l1SPCBCJMJTUJDQSPHSBNNJOHEPFTJOMJOFTPGDPEFXIBUVTFEUPUBLFUIPVTBOETz 36 ‣ Picture: A Probabilistic Programming Language for Scene Perception (figure from this page) ‣ Short probabilistic programming machine-learning code replaces complex programs for computer-vision tasks | KurzweilAI ‣ Picture: A Probabilistic Programming Language for Scene Perception - TechTalks.tv, prezi slide

Slide 54

Slide 54 text

0QFO11-
 "1SPQPTBMGPS1SPCBCJMJTUJD1SPHSBNNJOHJO+VMJB 37 ‣ OpenPPL: A Proposal for Probabilistic Programming in Julia — OpenPPL 0.1.0 documentation ‣ JuliaStats/PGM.jl: A Julia framework for probabilistic graphical models. ‣ Probabilistic Programming in Julia - Google Groups

Slide 55

Slide 55 text

8IFSFUPTUBSU

Slide 56

Slide 56 text

8IFSFUPTUBSU ✦ 3FBEJOHT ✦ 8IBUJTQSPCBCJMJTUJDQSPHSBNNJOH 5IF1-&OUIVTJBTU ✦ 5IF4UBUFPG1SPCBCJMJTUJD1SPHSBNNJOHm4PNF5IPVHIUTPOB.ZTUFSJPVT6OJWFSTF ✦ *OUFSBDUJWF5VUPSJBMT ✦ 1SPCBCJMJTUJD.PEFMTPG$PHOJUJPO $IVSDI ✦ 5IF%FTJHOBOE*NQMFNFOUBUJPOPG1SPCBCJMJTUJD1SPHSBNNJOH-BOHVBHFT 8FC11- 39 ‣ PROBABILISTIC-PROGRAMMING.org ‣ Resources – PPAML

Slide 57

Slide 57 text

4PNFQBQFST ✦ <(PSEPO>1SPCBCJMJTUJD1SPHSBNNJOHz
 *$4&'VUVSFPG4PGUXBSF&OHJOFFSJOH ✦ <(PPENBO>l$IVSDIBMBOHVBHFGPSHFOFSBUJWFNPEFMTz
 6ODFSUBJOUZJO"SUJpDJBM*OUFMMJHFODF 6"* ✦ 1I%5IFTFT ✦ "OESFBT4UVIMNÛMMFS l.PEFMJOH$PHOJUJPOXJUI1SPCBCJMJTUJD1SPHSBNT3FQSFTFOUBUJPOTBOE"MHPSJUINTz ✦ %BOJFM.3PZ l$PNQVUBCJMJUZ JOGFSFODFBOENPEFMJOHJOQSPCBCJMJTUJDQSPHSBNNJOHz ✦ 7JLBTI.BOTJOHILB l/BUJWFMZ1SPCBCJMJTUJD$PNQVUBUJPOz 40 ‣ Research articles on probabilistic programming: PROBABILISTIC-PROGRAMMING.org