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., 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
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
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
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
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
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
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
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
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
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
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
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
Review: Sampling Using Molecules Fluorescence PDF Light Fluorescent Photon Source Molecules Detector 0 t 5
Review: Sampling Using Molecules Fluorescence PDF Light Fluorescent Photon π π’ = ππ βππ’ Source Molecules Detector 0 t β’ Single fluorophore: exponential distribution. 5
Review: Sampling Using Molecules Fluorescence PDF Light Fluorescent Photon π π’ = ππ βππ’ Source Molecules Detector 0 π’ π t β’ Single fluorophore: exponential distribution. β’ Record Time to Fluorescence π’ π . 16
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
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
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
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
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
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
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