distributed algorithms for mcmc sampling
play

Distributed Algorithms for MCMC Sampling Yitong Yin Nanjing - PowerPoint PPT Presentation

Distributed Algorithms for MCMC Sampling Yitong Yin Nanjing University Shonan Meeting No. 162: Distributed Graph Algorithms Outline Distributed Sampling Problem Gibbs Distribution (distribution defined by local constraints)


  1. Distributed Algorithms for MCMC Sampling Yitong Yin Nanjing University Shonan Meeting No. 162: Distributed Graph Algorithms

  2. Outline • Distributed Sampling Problem • Gibbs Distribution (distribution defined by local constraints) • Algorithmic Ideas MCMC • Local Metropolis Algorithm • LOCAL Jerrum-Valiant-Vazirani • Local Rejection Sampling MCMC • Distributed Simulation of Metropolis (with ideal parallelism) MCMC: Markov chain Monte Carlo

  3. Single-Site Markov Chain Start from an arbitrary coloring ∈ [ q ] V at each step: for a uniform random vertex v v propose a random color c ∈ [ q ] ; v change v ’s color to c if it’s proper; Metropolis Algorithm ( q -coloring)

  4. Single-Site Markov Chain in 1960s Each vertex holds an independent rate- 1 Poisson clock. When the clock at v rings: ring! v propose a random color c ∈ [ q ] ; v change v ’s color to c if it’s proper; Metropolis Algorithm ( q -coloring) discrete time continuous time T θ ( nT ) sequential steps

  5. Distributed Simulation of Continuous-Time Process Goal : Give a distributed algorithm that perfect simulates the time T continuous Markov chain. (Have the same behavior given the same random bits.) do NOT allow adjacent vertices update their colors in the same round: O( Δ T ) rounds [Feng, Hayes, Y. ’19]: O( T + log n ) rounds w.h.p. (under some mild condition)

  6. 2-Phase Paradigm for each vertex : v ∈ V Phase I : • locally generate all update times 0 < t 1 < t 2 < ⋯ < t M v < T and proposed colors ; c 1 , c 2 , …, c M v ∈ [ q ] • send the initial color and all to all neighbors; ( t i , c i ) 1 ≤ i ≤ M v Phase II : • For do: i = 1,2,…, M v once having received enough information : resolve the i -th update of v and send the result (“ Accept / Reject ”) to all neighbors;

  7. for each vertex v ∈ V : • For do: i = 1,2,…, M v once having received enough information : resolve the i -th update of v and send the result (“ Accept / Reject ”) to all neighbors; t 7 “enough info” to resolve t 6 t 5 the i -th update at v : ( t v i , c v i ) t 4 t 3 curr-color = all adjacent updates before � t v t 2 ✗ i t 1 ✓ have been resolved and received by v u 0 ∃ a path v 1 , v 2 , …, v L v #rounds > L T > t v 1 i 1 > t v 2 i 2 > ⋯ > t v L i L > 0 which occurs w.p. < (e T / L ) L #rounds = O( ∆ T + log n ) w.h.p.

  8. Resolve Update In Advance “enough info” to resolve the i -th update at v : ( t , c ) c ∉ ⋃ : “ Accept! ” If S u ( t ) u ∼ v t 7 t 6 t } S u ( t ) t 5 : set of possible colors t 4 t 3 curr-color = of u at time t t 2 ✗ t 1 ✓ u 0 v c =

  9. Resolve Update In Advance “enough info” to resolve the i -th update at v : ( t , c ) c ∉ ⋃ : “ Accept! ” If S u ( t ) u ∼ v t 7 t 6 t 5 t } t 4 t 3 S u ( t ) : set of possible colors curr-color = t 2 ✓ of u at time t t 1 ✓ u 0 v If ∃ u ∼ v s.t. S u ( t ) = { c } : c = “ Reject! ”

  10. to resolve the i -th update at v : ( t , c ) Construct � for every neighbor u of v ; S u ( t ) c ∉ ⋃ upon : S u ( t ) u ∼ v send “ Accept! ” to all neighbors and i++ ; upon ∃ u ∼ v s.t. S u ( t ) = { c } : send “ Reject! ” to all neighbors and i++ ; upon receiving “ Accept! ” or “ Reject! ” from neighbor u : update � accordingly; S u ( t ) t 7 t 6 t } S u ( t ) t 5 : current set of t 4 t 3 curr-color = possible colors of t 2 ✗ u at time t t 1 ✓ u 0 v

  11. to resolve the i -th update at v : ( t , c ) Construct � for every neighbor u of v ; S u ( t ) c ∉ ⋃ upon : S u ( t ) u ∼ v send “ Accept! ” to all neighbors and i++ ; upon ∃ u ∼ v s.t. S u ( t ) = { c } : send “ Reject! ” to all neighbors and i++ ; upon receiving “ Accept! ” or “ Reject! ” from neighbor u : update � accordingly; S u ( t ) #paths ≤ ∆ L #round > L ∃ a path : v 1 , v 2 , …, v L Pr < O ( { T > t v 1 i 1 > t v 2 i 2 > ⋯ > t v L L i L > 0 qL ) T along the path: “good events” do not happen q>C ∆ #rounds = O( T + log n ) w.h.p. for constant C >0

  12. The Metropolis Algorithm Each vertex holds an independent rate- 1 poisson clock. Start from an arbitrary X ∈ [ q ] V When the clock at v rings: ring! v v let b=X v and propose a random c ∈ [ q ] ; change X v to c with prob. f v ; b , c ( X N ( v ) ) Metropolis filter: b , c : [ q ] N ( v ) → [0,1] f v b ∈ [ q ] : current color of v c ∈ [ q ] : proposed color of v

  13. 2-Phase Paradigm for each vertex : v ∈ V Phase I : • locally generate all update times 0 < t 1 < t 2 < ⋯ < t M v < T and proposed colors ; c 1 , c 2 , …, c M v ∈ [ q ] • send the initial color and all to all neighbors; ( t i , c i ) 1 ≤ i ≤ M v Phase II : • For do: i = 1,2,…, M v once having received enough information : resolve the i -th update of v and send the result (“ Accept / Reject ”) to all neighbors;

  14. to resolve the i -th update at v : ( t , c ) to execute the • For do: i = 1,2,…, M v Metropoli filter once having received enough information : ^ resolve the i -th update of v and send the result (“ Accept / Reject ”) to all neighbors; t 7 t 6 t } t 5 S u ( t ) : set of possible colors t 4 t 3 curr-color = of u at time t t 2 ✗ t 1 ✓ u ∀ τ ∈ ⨂ 0 S u ( t ) u ∼ v v curr-color = b proposal = c f v gives a biased coin b , c ( τ ) Idea: Couple all these coins!

  15. to resolve the i -th update at v : ( t , c ) Construct � for every neighbor u of v ; S u ( t ) let b be v ’s current color and: ; P 𝖡𝖽𝖽 ≜ τ ∈⨁ u ∼ v S u ( t ) f b , c ( τ ) min P 𝖲𝖿𝗄 ≜ 1 − ; τ ∈⨁ u ∼ v S u ( t ) f b , c ( τ ) max sample a uniform random ; β ∈ [0,1] upon : β ≤ P 𝖡𝖽𝖽 send “ Accept! ” to all neighbors and i++ ; upon : β ≥ 1 − P 𝖲𝖿𝗄 send “ Reject! ” to all neighbors and i++ ; upon receiving “ Accept! ” or “ Reject! ” from neighbor u : update � accordingly and recalculate and ; P 𝖡𝖽𝖽 P 𝖲𝖿𝗄 S u ( t )

  16. Universal Distributed Simulation of Metropolis Algorithm Metropolis Algorithm: let b=X v and propose a random c ∈ [ q ] ; continuous-time T change X v to c with prob. ; f v b , c ( X N ( v ) ) Lipschitz condition: ∃ constant C >0 : b , c ] < C ∀ ( u , v ) ∈ E , ∀ a , a ′ � , b ∈ [ q ] : 𝔽 c [ δ u , a , a ′ � f v Δ where δ u , a , a ′ � f v b , c ≜ | f v b , c ( σ ) − f v max b , c ( τ ) | σ , τ 𝖾𝗃𝗀𝗀𝖿𝗌 𝗉𝗈𝗆 , 𝖻𝗎 u σ u = a , τ u = b #rounds = O( T + log n ) w.h.p.

  17. Necessary condition model Lipschitz condition for mixing ∃ constant C> 0 q ≥ ∆ +2 q -coloring q>C ∆ ∃ constant C> 0 1 − e − 2 | β | < 2 Ising model with 1 − e − 2 | β | < C temperature β Δ Δ ∃ constant C> 0 λ < ( Δ − 1) Δ− 1 hardcore model e ≈ with fugacity λ λ < C ( Δ − 2) Δ Δ − 2 Δ

  18. Summary • Universal distributed perfect simulation of Metropolis algorithms, with ideal parallelism under mild Lipschitz condition for Metropolis filter. • Open problem : distributed simulation of general class of single-site Markov chains.

  19. Outline • Distributed Sampling Problem • Gibbs Distribution (distribution defined by local constraints) • Algorithmic Ideas [Feng, Hayes, Y., ’19] • Local Metropolis Algorithm [Feng, Sun, Y., PODC’17] • LOCAL Jerrum-Valiant-Vazirani [Feng, Y., PODC’18] • Local Rejection Sampling [Feng, Vishnoi, Y., STOC’19] • Distributed Simulation of Metropolis

  20. Local Computation Locally Checkable Labeling ( LCL ) problems: • CSPs with local constraints. • Construct a feasible solution: vertex/edge coloring, Lovász local lemma • Find local optimum: MIS, MM • Approximate global optimum: network G ( V , E ) maximum matching, minimum vertex cover, minimum dominating set Quest: “Find a solution to the locally defined problem.”

  21. “What can be sampled locally?” • CSP with local constraints. • Sample a uniform random solution. • Distribution µ (over solutions) described by local rules. • uniform LCL solution • Ising model / RBM / network G ( V , E ) tensor network… Quest: “Generate a sample from the locally defined distribution.”

  22. Markov Random Fields • Each vertex corresponds to a network G ( V , E ): variable with finite domain [ q ] . • Each edge ( u , v ) ∈ E imposes a X v ∈ [ q ] binary constraint: A u,v v u A u , v : [ q ] 2 → {0,1} • Gibbs distribution µ : ∀ σ ∈ [ q ] V : μ ( σ ) ∝ ∏ X ∈ [ q ] V follows µ A u , v ( σ u , σ v ) ~ ( u , v ) ∈ E • local conflict colorings: [Fraigniaud, Heinrich, Kosowski ’16]

  23. Markov Random Fields • Gibbs distribution µ : network G ( V , E ): μ ( σ ) ∝ ∏ ∀ σ ∈ [ q ] V : A u , v ( σ u , σ v ) ( u , v ) ∈ E X v ∈ [ q ] • vertex q -coloring: A u,v v u 1 0 A u , v = 1 0 ⋱ 0 • independent set: A u , v = [ 0 ] 1 1 X ∈ [ q ] V follows µ ~ 1 • local conflict colorings: A u , v ∈ {0,1} q × q [Fraigniaud, Heinrich, Kosowski ’16]

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend