DIFFERENTIABLE BINARY EMBEDDING USING FERNS Learning to map between ferns with differentiable binary embedding networks Maximilian Blendowski & Mattias P. Heinrich Institute of Medical Informatics University of Lรผbeck Short paper @ MIDL 2020
DIFFERENTIABLE BINARY EMBEDDING USING FERNS Random Fern Basics Ozuysal , Mustafa, et al. "Fast keypoint recognition using random ferns." IEEE transactions on pattern analysis and machine intelligence 32.3 (2009): 448-461. Dimension Threshold depth binary code ๐บ๐๐ ๐ ๐ , โฆ , ๐ ๐ ๐บ๐๐ ๐ ๐ ๐บ๐๐ ๐ ๐ , โฆ , ๐ข ๐ ๐บ๐๐ ๐ ๐ 0 1 2 3 4 5 ๐ = 2 ๐ 1 ๐ข 1 ๐บ๐๐ ๐ ๐ ๐ ๐ธ๐๐ +4 -2 +10 -6 +8 +1 โ2 < โ3 ? , +10 < 1? ๐๐๐๐ข๐ฃ๐ ๐ ๐ ๐บ๐๐ ๐ 1 1,2 โ3,1 ๐๐ 1 ๐ ๐บ๐๐ ๐ 2 5,0 2,0 +1 < +2 ? , +4 < 0? +8 < +3 ? , โ6 < โ3? ๐บ๐๐ ๐ 3 4,3 3, โ1 ๐๐ ๐ฎ๐๐๐ ๐ Class A ๐ฎ๐๐๐ ๐ Class A ๐ฎ๐๐๐ ๐ Class A 0.5 0.5 0.5 0.25 0.25 0.25 ๐ ๐|๐ต = 0.5 โ 0.25 โ 0.5 = 0.0625 0.0 0.0 0.0 ๐ ๐|๐ถ = 0.25 โ 0.4 โ 0.125 = 0.0125 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 ๐ฎ๐๐๐ ๐ Class B ๐ฎ๐๐๐ ๐ Class B ๐ฎ๐๐๐ ๐ Class B 0.5 0.5 0.5 ๐ ๐|๐ต > ๐ ๐|๐ถ โ ๐๐๐๐ก๐ก๐๐๐ง ๐ ๐๐ก ๐ต 0.25 0.25 0.25 0.0 0.0 0.0 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1
DIFFERENTIABLE BINARY EMBEDDING USING FERNS Standard convolution ๐ ๐ (: ) ๐ ๐ (: ) ๐ ๐ 1) unfold ๐ท๐๐๐ค๐๐๐ฃ๐ข๐๐๐ ๐ ๐บ๐๐๐ข๐๐ ๐ ๐ ๐ ๐ ๐ (: ) ๐ ๐ (: ) ๐ 2 โ ๐ ๐๐ ๐ ๐ฃ ๐๐๐๐โ๐ข๐ก ๐ ๐ ๐ ๐๐บ๐ โ ๐๐ ๐ ๐ 2 โ ๐ ๐๐ ๐ฅ ๐๐ ๐ ๐๐ฃ๐ข ๐๐ฃ๐ข ๐๐๐๐ข ๐ Matrix Multiplication ๐๐ฃ๐ข ๐๐๐๐ข ๐ 4) fold โ ๐๐ฃ๐ข ๐ ๐๐ฃ๐ข ๐ฅ ๐๐ฃ๐ข 3
DIFFERENTIABLE BINARY EMBEDDING USING FERNS Drop-in replacement > 0 ? โ 01 โฆ 0 + ๐ก ๐ = ๐๐๐ฆ ๐ ๐ ๐ (: ) ๐ = tanh ๐๐บ๐ ๐ ๐ ๐ (: ) 2) Generate ๐ , โฆ , ๐ ๐ ๐ ๐ , โฆ , ๐ข ๐ ๐ ๐ ๐ ๐ ๐ 1 โ ๐ข 1 ๐ ๐ Binary codes on ๐ LUT 1) unfold > 0 ? โ 00 โฆ 1 + ๐ก ๐ = ๐๐๐ฆ ๐ ๐ = tanh ๐๐บ๐ ๐ ๐ , โฆ , ๐ ๐ ๐ ๐ , โฆ , ๐ข ๐ ๐ ๐ ๐ ๐ ๐ 1 โ ๐ข 1 codes ๐ > 0 ? โ 01 โฆ 0 + ๐ก ๐ = ๐๐๐ฆ ๐ ๐ ๐ ๐ ๐ = tanh ๐๐บ๐ ๐ ๐ , โฆ , ๐ ๐ ๐ ๐ , โฆ , ๐ข ๐ ๐ ๐ ๐ ๐ 1 โ ๐ข 1 ๐บ๐๐ ๐ ๐ ๐ ๐ (: ) ๐ ๐ (: ) ๐ Binary codes on ๐ ๐ ๐ฃ > 0 ? โ 01 โฆ 1 + ๐ก ๐ = ๐๐๐ฆ ๐ ๐ = tanh ๐๐บ๐ ๐ ๐ , โฆ , ๐ ๐ ๐ ๐ , โฆ , ๐ข ๐ ๐ ๐ ๐บ๐๐ ๐ ๐ ๐ ๐ 1 โ ๐ข 1 ๐ ๐ ๐ ๐ ๐๐บ๐ combination 3) weigthed โ ๐๐ LUT entry ๐ ๐ ๐ ๐ ๐ ๐ 1 ๐ ๐ ๐ 1 ๐ ๐ ๐ 2 โ ๐ ๐๐ Differentiable ferns ๐ฅ ๐๐ ๐ ๐ + โฏ + ๐๐๐ ๐๐๐ฆ ๐ ๐ ๐ ๐ ๐๐๐ฆ ๐ = ๐๐๐ ๐๐๐ฆ ๐ โ ๐ฅ ๐ โ ๐ฅ ๐ ๐๐ฃ๐ข ๐๐๐๐ข ๐ ๐ ๐๐๐ฆ ๐ #๐๐๐ ๐๐ก โ 2 ๐๐๐๐ขโ ๐ + โฏ + ๐๐๐ ๐๐๐ฆ ๐ ๐๐๐ ๐ ๐ ๐ ๐๐ฃ๐ข = ๐๐๐ ๐๐๐ฆ ๐ โ ๐ฅ โ ๐ฅ ๐๐๐๐ข ๐ ๐ ๐ 4) fold ๐ ๐๐๐ฆ ๐ โ ๐๐ฃ๐ข ๐ ๐๐๐ฆ ๐ trainable ๐ ๐๐ฃ๐ข ๐ฅ ๐๐ฃ๐ข weights ๐ ๐๐ฃ๐ข 4
DIFFERENTIABLE BINARY EMBEDDING USING FERNS Evaluation c in : 3 c in : 64 c in : 64 c in : 64 Global Input c out : 64 c out : 64 c out : 64 c out : 2 Tumor: Average Patch Yes/no? Kernelsize: 5 Kernelsize: 3 Kernelsize: 3 Kernelsize: 1 Pooling Stride: 2 Stride: 2 Stride: 2 Stride: 1 BatchNorm BatchNorm BatchNorm --- [1] [2] [3] [1] Hubara, Itay, et al. "Binarized neural networks." Advances in neural information processing systems . 2016. [2] Rastegari, Mohammad, et al. "Xnor-net: Imagenet classification using binary convolutional neural networks." European conference on computer vision . Springer, Cham, 2016. [3] Veta, Mitko, et al. "Predicting breast tumor proliferation from whole-slide images: the TUPAC16 challenge." Medical image analysis 54 (2019): 111-121. 5
Recommend
More recommend