Voronoi tessellation, also known as Voronoi diagram, is an important computational geometry technique that has applications in various scientific disciplines. It involves dividing a given space into regions based on the proximity to a set of points. Autodifferentiation is a powerful tool for solving optimization tasks. Autodifferentiation assumes constructing a computational graph that allows to compute gradients using backpropagation algorithm. However, often the Voronoi tessellation remains the only non-differentiable part of a pipeline, prohibiting end-to-end differentiation. We present the method for autodifferentiation of the 2D Voronoi tessellation. The method allows one to construct the Voronoi tessellation and pass gradients, making the construction end-to-end differentiable. We provide the implementation details and present several important applications. To the best of our knowledge this is the first autodifferentiable realization of the Voronoi tessellation providing full set of Voronoi geometrical parameters in a differentiable way.
翻译:Voronoi剖分,亦称Voronoi图,是一种重要的计算几何技术,在众多科学领域具有广泛应用。该方法依据一组给定点的邻近关系将空间划分为若干区域。自动微分是解决优化问题的有力工具,其核心在于构建可通过反向传播算法计算梯度的计算图。然而,在计算流程中,Voronoi剖分往往成为唯一不可微分的环节,阻碍了端到端的微分计算。本文提出了一种针对二维Voronoi剖分的自动微分方法。该方法支持构建Voronoi剖分并传递梯度,使得整个构建过程实现端到端可微分。我们提供了具体的实现细节,并展示了若干重要应用场景。据我们所知,这是首个以可微分方式提供完整Voronoi几何参数集的自动微分Voronoi剖分实现方案。