geometric data analysis beyond convolutions
play

Geometric data analysis, beyond convolutions Jean Feydy, under the - PowerPoint PPT Presentation

Geometric data analysis, beyond convolutions Jean Feydy, under the supervision of Alain Trouv and Michael Bronstein. Geometry, ML and Health workshop at UCL, online September 25, 2020. ENS Paris, ENS Paris-Saclay, Imperial College London.


  1. Geometric data analysis, beyond convolutions Jean Feydy, under the supervision of Alain Trouvé and Michael Bronstein. Geometry, ML and Health workshop at UCL, online — September 25, 2020. ENS Paris, ENS Paris-Saclay, Imperial College London. Joint work with B. Charlier, J. Glaunès (numerical foundations), T. Séjourné, F.-X. Vialard, G. Peyré (optimal transport theory), P. Roussillon, P. Gori (applications to neuroanatomy).

  2. The medical imaging pipeline [Ptr19, EPW + 11] Valuable information Statistics High-level description Computational anatomy Raw image Signal processing Sensor data 1

  3. Computational anatomy [CSG19, LSG + 18, CMN14] Three main problems: Spot patterns Analyze variations Fit models 2

  4. 2010–2020: the deep learning revolution Wavelet/Radiomics-like architectures + data-driven optimization ⇒ Convolutional Neural Networks. = A revolution for feature detection and texture models. Segmentation with U-nets [RFB15]: → → Architecture Input Output 3

  5. Over the last 30 years, robust methods have been designed to answer these questions. Today, we want to improve them with data-driven insights. This is challenging. To replicate the deep learning revolution in this field, we need to revamp our numerical toolbox . Geometric problems are becoming increasingly relevant Geometric questions on segmented shapes : • Is this heart beating all right? • How should we reconstruct this mandible ? • Has this brain grown or shrunk since last year? • Can we link these anatomical changes to other signals ? 4

  6. Geometric problems are becoming increasingly relevant Geometric questions on segmented shapes : • Is this heart beating all right? • How should we reconstruct this mandible ? • Has this brain grown or shrunk since last year? • Can we link these anatomical changes to other signals ? Over the last 30 years, robust methods have been designed to answer these questions. Today, we want to improve them with data-driven insights. This is challenging. To replicate the deep learning revolution in this field, we need to revamp our numerical toolbox . 4

  7. Motivations Geometric data analysis, beyond convolutions: • Focus on geometric data : segmentation maps, point clouds, surface meshes, etc. • Focus on geometric methods : K-nearest neighbors, kernel methods, optimal transport, etc. • Provide new computational routines : expand the toolbox for data sciences. We usually work with 10 3 -10 6 points in dimension 2 to 10. We focus on geometry and speed. 5

  8. Outline of the talk Today , we will talk about: 1. Fast geometry with symbolic matrices. 2. Scalable optimal transport . 3. Applications and references . 6

  9. Fast geometry with symbolic matrices. Benjamin Charlier Joan Glaunès

  10. Deep learning frameworks: unlocking GPUs for research TensorFlow and PyTorch combine: + Array-centric Python interface . + CPU and GPU backends. + Automatic differentiation engine. + Excellent support for imaging (convolutions) and linear algebra. ⇒ Ideally suited for research. = 7

  11. RuntimeError: cuda runtime error (2) : out of memory at /opt/conda/.../THCStorage.cu:66 Efficient algorithms still rely on C++ foundations Explicit C++/CUDA implementations with a Python interface for: • Linear algebra (cuBLAS). • Convolutions (cuDNN). • Fourier (cuFFT) and wavelet transforms (Kymatio). Geometric algorithms do not benefit from the same level of integration. Researchers can either: • Work directly in C++/CUDA – cumbersome for data sciences. • Rely on sparse matrices and graphs with small neighborhoods . • Rely on explicit distance matrices . 8

  12. pip install pykeops We provide efficient support for distance-like matrices M [ i , j ] ( i n , j n , M n ) F ( x i , y j ) Dense matrix Sparse matrix Symbolic matrix Coefficients only Coordinates + coeffs Formula + data = ⇒ ⇐ = “KErnel OPerationS” 9

  13. # x_i is a "column" # (N, N) symbolic import torch N, D = 10**6, 50 x = torch.rand(N, D).cuda() # (1M, 50) array # Compute the nearest neighbor of every point: from pykeops.torch import LazyTensor # -> (N,) dense indices_i = D_ij.argmin(dim=1) x_j = LazyTensor(x.view(1, N, D)) # x_j is a "line" D_ij = ((x_i - x_j)**2).sum(dim=2) KeOps works with PyTorch, NumPy, Matlab and R # Large point cloud in R 50 : x_i = LazyTensor(x.view(N, 1, D)) On par with reference C++/CUDA libraries (FAISS-GPU). 10

  14. H_ij = D_ij / (x_i[...,0] * x_j[...,0]) # Hyperbolic D_ij = ((x_i - x_j) ** 2).sum(dim=2) # Euclidean M_ij = (x_i - x_j).abs().sum(dim=2) # Manhattan C_ij = 1 - (x_i | x_j) # Cosine Combining performance and flexibility We can work with arbitrary formulas: ⇒ × 200 acceleration for UMAP on hyperbolic spaces. = KeOps supports: • Reductions: sum, log-sum-exp, K-min, matrix-vector product, etc. • Operations: + , × , sqrt, exp, neural networks, etc. • Advanced schemes: block-wise sparsity, numerical stability, etc. • Automatic differentiation: seamless integration with PyTorch. 11

  15. KeOps (GPU) NumPy (CPU) PyTorch (GPU) Scaling up to large datasets a i ← � M j = 1 exp( −� x i − y j � 2 / 2 σ 2 ) b j , ∀ i ∈ [ [ 1 , N ] ] � �� � k ( x i , y j ) Gaussian kernel product in 3D (RTX 2080 Ti GPU) 10 1 10 0 10 − 1 Time (sec) out of memory! 10 − 2 10 − 3 10 2 10 3 10 4 10 5 10 6 Number of points N = M 12

  16. www.kernel-operations.io The KeOps library + Cross-platform : C++, R, Matlab, NumPy and PyTorch. + Versatile : many operations, variables, reductions. + Efficient : O ( N ) memory, competitive runtimes. + Powerful : automatic differentiation, block-sparsity, etc. + Transparent : interface with SciPy , GPytorch, etc. + Fully documented : → Kriging, splines, Gaussian processes, kernel methods. → Geometry processing, geometric deep learning. (More illustrations at the end of the talk!) 13

  17. Computational optimal transport Thibault Séjourné F.-X. Vialard Gabriel Peyré

  18. We need robust loss functions for shape analysis Working with point clouds is now easier than ever . We can protoype new geometric algorithms in minutes. But how should we measure success and errors ? ⇒ We must develop geometric loss functions = to compute distances between shapes. High-quality gradients will improve the robustness of registration or training algorithms and allow us to focus on our models . 14

  19. Life is easy when you have landmarks… Anatomical landmarks from A morphometric approach for the analysis of body shape in bluefin tuna , Addis et al., 2009. 15

  20. Life is easy when you have landmarks… Anatomical landmarks from A morphometric approach for the analysis of body shape in bluefin tuna , Addis et al., 2009. 15

  21. Unfortunately, medical data is often weakly labeled [EPW + 11] Surface meshes Segmentation masks 16

  22. Encoding unlabeled shapes as measures Let’s enforce sampling invariance: N M � � A − B − → α = α i δ x i , → β = β j δ y j . i = 1 j = 1 → → 17

  23. N M i x i j y j i 1 j 1 N M 1 i j i 1 j 1 1 Display v i x i Loss i Seamless extensions to: • j , outliers [CPSV18], i i j • curves and surfaces [KCC17], • variable weights i . A baseline setting: density registration 18

  24. N M 1 i j i 1 j 1 1 Display v i x i Loss i Seamless extensions to: • j , outliers [CPSV18], i i j • curves and surfaces [KCC17], • variable weights i . A baseline setting: density registration N M � � α = α i δ x i , β = β j δ y j . i = 1 j = 1 18

  25. 1 Display v i x i Loss i Seamless extensions to: • j , outliers [CPSV18], i i j • curves and surfaces [KCC17], • variable weights i . A baseline setting: density registration N M � � α = α i δ x i , β = β j δ y j . i = 1 j = 1 N M � � α i = 1 = β j i = 1 j = 1 18

  26. Seamless extensions to: • j , outliers [CPSV18], i i j • curves and surfaces [KCC17], • variable weights i . A baseline setting: density registration N M � � α = α i δ x i , β = β j δ y j . i = 1 j = 1 N M � � α i = 1 = β j i = 1 j = 1 Display v i = − 1 α i ∇ x i Loss ( α, β ) . 18

  27. A baseline setting: density registration N M � � α = α i δ x i , β = β j δ y j . i = 1 j = 1 N M � � α i = 1 = β j i = 1 j = 1 Display v i = − 1 α i ∇ x i Loss ( α, β ) . Seamless extensions to: • � i α i � = � j β j , outliers [CPSV18], • curves and surfaces [KCC17], • variable weights α i . 18

  28. N 1 2 x i y i 2 N N i 1 N 1 2 OT x i y i 2 N i 1 Simple toy example in 1D : x 1 x 2 x 3 x 4 x 5 source assignment 1 5 1 5 target y 3 y 5 y 2 y 4 y 1 The Wasserstein distance We need clean gradients , without artifacts. 19

  29. N 1 2 x i y i 2 N N i 1 N 1 2 OT x i y i 2 N i 1 x 1 x 2 x 3 x 4 x 5 source assignment 1 5 1 5 target y 3 y 5 y 2 y 4 y 1 The Wasserstein distance We need clean gradients , without artifacts. Simple toy example in 1D : 19

  30. N 1 2 x i y i 2 N N i 1 assignment 1 5 1 5 target y 3 y 5 y 2 y 4 y 1 N 1 2 OT x i y i 2 N i 1 The Wasserstein distance We need clean gradients , without artifacts. Simple toy example in 1D : δ x 1 δ x 2 δ x 3 δ x 4 δ x 5 source 19

Recommend


More recommend