Pezzotti Nicola, Thijssen Julian, Mordvintsev Alexander, Hollt Thomas, Van Lew Baldur, Lelieveldt Boudewijn P F, Eisemann Elmar, Vilanova Anna
IEEE Trans Vis Comput Graph. 2020 Jan;26(1):1172-1181. doi: 10.1109/TVCG.2019.2934307. Epub 2019 Aug 23.
In recent years the t-distributed Stochastic Neighbor Embedding (t-SNE) algorithm has become one of the most used and insightful techniques for exploratory data analysis of high-dimensional data. It reveals clusters of high-dimensional data points at different scales while only requiring minimal tuning of its parameters. However, the computational complexity of the algorithm limits its application to relatively small datasets. To address this problem, several evolutions of t-SNE have been developed in recent years, mainly focusing on the scalability of the similarity computations between data points. However, these contributions are insufficient to achieve interactive rates when visualizing the evolution of the t-SNE embedding for large datasets. In this work, we present a novel approach to the minimization of the t-SNE objective function that heavily relies on graphics hardware and has linear computational complexity. Our technique decreases the computational cost of running t-SNE on datasets by orders of magnitude and retains or improves on the accuracy of past approximated techniques. We propose to approximate the repulsive forces between data points by splatting kernel textures for each data point. This approximation allows us to reformulate the t-SNE minimization problem as a series of tensor operations that can be efficiently executed on the graphics card. An efficient implementation of our technique is integrated and available for use in the widely used Google TensorFlow.js, and an open-source C++ library.
近年来,t分布随机邻域嵌入(t-SNE)算法已成为高维数据探索性数据分析中使用最广泛且最具洞察力的技术之一。它能揭示不同尺度下高维数据点的聚类,同时只需对其参数进行最少的调整。然而,该算法的计算复杂度限制了它在相对较小数据集上的应用。为解决这个问题,近年来已开发出t-SNE的几种改进版本,主要集中在数据点间相似度计算的可扩展性上。然而,在可视化大型数据集的t-SNE嵌入演变时,这些改进不足以实现交互式速率。在这项工作中,我们提出了一种全新的方法来最小化t-SNE目标函数,该方法严重依赖图形硬件且具有线性计算复杂度。我们的技术将在数据集上运行t-SNE的计算成本降低了几个数量级,并保持或提高了以往近似技术的准确性。我们建议通过为每个数据点平铺内核纹理来近似数据点之间的排斥力。这种近似使我们能够将t-SNE最小化问题重新表述为一系列可在图形卡上高效执行的张量运算。我们技术的高效实现已集成到广泛使用的谷歌TensorFlow.js以及一个开源C++库中,可供使用。