architecting a stochastic computing unit with molecular
play

Architecting a Stochastic Computing Unit with Molecular Optical - PowerPoint PPT Presentation

Architecting a Stochastic Computing Unit with Molecular Optical Devices Xiangyu (Mike) Zhang, Ramin Bashizade, Craig LaBoda, Chris Dwyer*, Alvin R. Lebeck Duke University *Parabon Labs Stochastic (Probabilistic) Computing [Hamra et al.,


  1. Architecting a Stochastic Computing Unit with Molecular Optical Devices Xiangyu (Mike) Zhang, Ramin Bashizade, Craig LaBoda, Chris Dwyer*, Alvin R. Lebeck Duke University *Parabon Labs

  2. Stochastic (Probabilistic) Computing [Hamra et al., 2013] Image source: mayo.edu [Shin et al., 2015] [Geiger et al., 2012] Medical statistics Earthquake prediction Computer vision Statistical Machine Learning β€’ Probabilistic algorithms (e.g. Markov Chain Monte Carlo): - Key to performance: generating samples. β€’ Problem: Sampling overhead is TOO HIGH: - A sample from a simple distribution: >500 cycles. 2

  3. Using Markov Chain Monte Carlo method π’š π’Ž π’š 𝒔 Left image Right image β€’ Stereo Vision: reconstruct the depth information from image pairs. - Matching corresponding pixels. Calculate disparity: location difference 𝑦 π‘š βˆ’ 𝑦 𝑠 . - 3

  4. Using Markov Chain Monte Carlo method nbr1’s data label value nbr4’s nbr2’s Label label label value value value nbr3’s label value Left image Right image Label dependency Energy function: 𝐹(𝐸𝑏𝑒𝑏, π‘€π‘π‘π‘šπ‘“π‘‘) β€’ Label: disparity on that pixel. while(not converged) { for each pixel { 1) compute probabilities of each possible label; Gibbs Sampling 2) randomly assign new label based on the probabilities; } } 4

  5. Using Markov Chain Monte Carlo method nbr1’s data label value nbr4’s nbr2’s Label label label value value value nbr3’s label value Left image Right image Label dependency Pixel Possible Matchings Energy function: 𝐹(𝐸𝑏𝑒𝑏, π‘€π‘π‘π‘šπ‘“π‘‘) β€’ Label: disparity on that pixel. while(not converged) { for each pixel { 1) compute probabilities of each possible label; 2) randomly assign new label based on the probabilities; } } 4

  6. Using Markov Chain Monte Carlo method Pr: 0.1 0.5 0.2 0.1 nbr1’s data label value nbr4’s nbr2’s Label label label value value value nbr3’s label value Left image Right image Label dependency Pixel Possible Matchings Energy function: 𝐹(𝐸𝑏𝑒𝑏, π‘€π‘π‘π‘šπ‘“π‘‘) β€’ Label: disparity on that pixel. while(not converged) { for each pixel { 1) compute probabilities of each possible label; 2) randomly assign new label based on the probabilities; } } 4

  7. Using Markov Chain Monte Carlo method Pr: 0.1 0.5 0.2 0.1 nbr1’s data label value nbr4’s nbr2’s Label label label value value value nbr3’s label value Left image Right image Label dependency Pixel Possible Matchings Energy function: 𝐹(𝐸𝑏𝑒𝑏, π‘€π‘π‘π‘šπ‘“π‘‘) β€’ Label: disparity on that pixel. while(not converged) { for each pixel { 1) compute probabilities of each possible label; 2) randomly assign new label based on the probabilities; } } 4

  8. Using Markov Chain Monte Carlo method Pr: 0.1 0.5 0.2 0.1 nbr1’s βˆ’ data label value nbr4’s nbr2’s Label label label value value value nbr3’s label value Left image Right image Label dependency Pixel Possible Matchings Energy function: 𝐹(𝐸𝑏𝑒𝑏, π‘€π‘π‘π‘šπ‘“π‘‘) β€’ Label: disparity on that pixel. while(not converged) { for each pixel { 1) compute probabilities of each possible label; 2) randomly assign new label based on the probabilities; } } 4

  9. Using Markov Chain Monte Carlo method source: tricks.co nbr1’s data label value nbr4’s nbr2’s Label label label value value value nbr3’s label value Left image Right image Label dependency Pixel Possible Matchings Energy function: 𝐹(𝐸𝑏𝑒𝑏, π‘€π‘π‘π‘šπ‘“π‘‘) β€’ Label: disparity on that pixel. while(not converged) { for each pixel { 1) compute probabilities of each possible label; 2) randomly assign new label based on the probabilities; } } 4

  10. Using Markov Chain Monte Carlo method nbr1’s data label value nbr4’s nbr2’s Label 1 label label value value value nbr3’s label value Left image Right image Label dependency Pixel Possible Matchings Energy function: 𝐹(𝐸𝑏𝑒𝑏, π‘€π‘π‘π‘šπ‘“π‘‘) β€’ Label: disparity on that pixel. while(not converged) { for each pixel { 1) compute probabilities of each possible label; 2) randomly assign new label based on the probabilities; } } 4

  11. Using Markov Chain Monte Carlo method nbr1’s data label value nbr4’s nbr2’s Label label label value value value nbr3’s label value Left image Right image Disparity map Label dependency (lighter is closer) Energy function: 𝐹(𝐸𝑏𝑒𝑏, π‘€π‘π‘π‘šπ‘“π‘‘) β€’ Label: disparity on that pixel. while(not converged) { for each pixel { 1) compute probabilities of each possible label; 2) randomly assign new label based on the probabilities; } } 4

  12. Using Markov Chain Monte Carlo method nbr1’s data label value nbr4’s nbr2’s Label label label value value value nbr3’s label value Left image Right image Disparity map Label dependency (lighter is closer) Energy function: 𝐹(𝐸𝑏𝑒𝑏, π‘€π‘π‘π‘šπ‘“π‘‘) β€’ Label: disparity on that pixel. while(not converged) { for each pixel { 1) compute probabilities of each possible label; 2) randomly assign new label based on the probabilities; } } 4

  13. Using Markov Chain Monte Carlo method nbr1’s data label value nbr4’s nbr2’s Label label label value value value nbr3’s label value Left image Right image Disparity map Label dependency (lighter is closer) Energy function: 𝐹(𝐸𝑏𝑒𝑏, π‘€π‘π‘π‘šπ‘“π‘‘) β€’ Label: disparity on that pixel. while(not converged) { for each pixel { 1) compute probabilities of each possible label; Emerging Technology + Hardware specialization 2) randomly assign new label based on the probabilities; [Wang et al., 2016] } } 4

  14. Review: Sampling Using Molecules Fluorescence PDF Light Fluorescent Photon Source Molecules Detector 0 t 5

  15. Review: Sampling Using Molecules Fluorescence PDF Light Fluorescent Photon π‘ž 𝑒 = πœ‡π‘“ βˆ’πœ‡π‘’ Source Molecules Detector 0 t β€’ Single fluorophore: exponential distribution. 5

  16. Review: Sampling Using Molecules Fluorescence PDF Light Fluorescent Photon π‘ž 𝑒 = πœ‡π‘“ βˆ’πœ‡π‘’ Source Molecules Detector 0 𝑒 𝑔 t β€’ Single fluorophore: exponential distribution. β€’ Record Time to Fluorescence 𝑒 𝑔 . 16

  17. Review: Sampling Using Molecules Fluorescence PDF Light Fluorescent Photon π‘ž 𝑒 = πœ‡π‘“ βˆ’πœ‡π‘’ Source Molecules Detector 0 𝑒 𝑔 t β€’ Single fluorophore: exponential distribution. β€’ Record Time to Fluorescence 𝑒 𝑔 . β€’ Parameterize distributions by decay rate ( Ξ» ): 1 πœ‡ ∝ 2 intensity Γ— concentration 17

  18. Review: Sampling Using Molecules Fluorescence PDF Light Fluorescent Photon π‘ž 𝑒 = πœ‡π‘“ βˆ’πœ‡π‘’ Source Molecules Detector 0 𝑒 𝑔 t β€’ Single fluorophore: exponential distribution. β€’ Record Time to Fluorescence 𝑒 𝑔 . β€’ Parameterize distributions by decay rate ( Ξ» ): 2 πœ‡ ∝ intensity Γ— concentration 18

  19. Review: Sampling Using Molecules Fluorescence PDF Light Fluorescent Photon π‘ž 𝑒 = πœ‡π‘“ βˆ’πœ‡π‘’ Source Molecules Detector 0 𝑒 𝑔 t β€’ Single fluorophore: exponential distribution. β€’ Record Time to Fluorescence 𝑒 𝑔 . β€’ Parameterize distributions by decay rate ( Ξ» ): πœ‡ ∝ intensity Γ— concentration 19

  20. Review: Sampling Using Molecules Fluorescence PDF Light Fluorescent Photon π‘ž 𝑒 = πœ‡π‘“ βˆ’πœ‡π‘’ Source Molecules Detector RET Circuit 0 𝑒 𝑔 t β€’ Single fluorophore: exponential distribution. β€’ Record Time to Fluorescence 𝑒 𝑔 . β€’ Parameterize distributions by decay rate ( Ξ» ): πœ‡ ∝ intensity Γ— concentration β€’ Implemented in Resonance Energy Transfer (RET) circuit. 20

  21. Review: RET-based Gibbs Sampling Unit (RSU-G) CMOS CMOS RET + CMOS Hybrid Application RET samples values β†’ RET Circuit β†’ RET Circuit Application RET Circuit Probability RET Circuit Values Values Sample generation RSU-G β€’ Accelerates inner loop computation: 1) compute probabilities of each possible label; 2) randomly assign new label based on the probabilities; 6

  22. Review: RET-based Gibbs Sampling Unit (RSU-G) CMOS CMOS RET + CMOS Hybrid Application RET samples Data values β†’ ( 𝐸 ) RET Circuit β†’ RET Circuit Application RET Circuit Probability Labels RET Circuit Values ( 𝑀𝑑 ) Values Sample generation πœ‡ = exp(βˆ’πΉ(𝐸, 𝑀)) β€’ Accelerates inner loop computation: 1) compute probabilities of each possible label; 2) randomly assign new label based on the probabilities; 6

  23. Review: RET-based Gibbs Sampling Unit (RSU-G) CMOS CMOS RET + CMOS Hybrid Application RET samples Data values β†’ ( 𝐸 ) RET Circuit β†’ RET Circuit Application RET Circuit Probability Labels RET Circuit Values ( 𝑀𝑑 ) Values Sample generation πœ‡ = exp(βˆ’πΉ(𝐸, 𝑀)) π‘ž 𝑒 = πœ‡exp(βˆ’πœ‡π‘’) 𝑀 = π‘π‘ π‘•π‘›π‘—π‘œ(𝑒 1 , 𝑒 2 , … ) β€œFirst -to- fire” [Wang et al., 2015] β€’ Accelerates inner loop computation: 1) compute probabilities of each possible label; 2) randomly assign new label based on the probabilities; 6

Recommend


More recommend