请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 231|回复: 0

使用 TensorFlow.js 进行实时 tSNE 可视化

[复制链接]

545

主题

0

回帖

1677

积分

金牌会员

积分
1677
发表于 2024-12-12 00:16:18 | 显示全部楼层 |阅读模式
近年来,t 分布随机邻域嵌入(tSNE) 算法已成为高维数据探索性数据分析最常用和最具洞察力的技术之一。tSNE 用于解释TensorFlow Embedding Projector和TensorBoard等工具中的深度神经网络输出,其强大功能在于它可以揭示不同尺度的高维数据点聚类,同时仅需对其参数进行最少的调整。尽管具有这些优势,但 tSNE 算法的计算复杂性限制了其在相对较小的数据集中的应用。虽然已经开发了几种 tSNE 的演变来解决这个问题(主要侧重于数据点之间相似度计算的可扩展性),但迄今为止,它们还不足以在可视化大型数据集的 tSNE 嵌入演变时提供真正的交互式体验。
在“面向 Web 的线性 tSNE 优化”中,我们介绍了一种严重依赖现代图形硬件的 tSNE 新方法。考虑到新方法的线性复杂性,我们的方法生成嵌入的速度比同类技术更快,甚至可以通过WebGL利用 GPU 功能在 Web 浏览器的客户端上执行。这两个因素的结合实现了大型高维数据集的实时交互式可视化。此外,我们将这项工作作为TensorFlow.js系列中的开源库发布,希望更广泛的研究社区发现它很有用。
使用我们的技术实时演化完整 MNIST 数据集的 tSNE 嵌入。该数据集包含 60,000 个手写数字的图像。您可以在此处找到现场演示。
tSNE 的目的是对相似数据点的小“邻域”进行聚类,同时降低数据的整体维度,使其更容易可视化。换句话说,tSNE目标函数衡量这些相似数据的邻域在二维或三维空间中的保存程度,并相应地将它们排列成簇。在之前的工作中,tSNE 目标的最小化是作为N 体模拟
问题 执行的,其中点随机放置在嵌入空间中,并且对每个点施加两种不同类型的力。引力使点更接近高维空间中最相似的点,而排斥力则将它们推离嵌入中的所有邻居。 虽然引力作用于一小部分点(即相似的邻居),但排斥力对所有点对都有效。因此,tSNE 需要大量计算和目标函数的多次迭代,这将可能的数据集大小限制为几百个数据点。为了改进蛮力解决方案,我们使用Barnes-Hut算法来近似排斥力和目标函数的梯度。这允许将计算扩展到数万个数据点,但在 C++ 实现中计算MNIST嵌入需要超过 15 分钟的时间。 在我们的论文中,我们提出了一种解决此扩展问题的方法,即使用在 WebGL 中生成的纹理近似目标函数的梯度。我们的技术在每次最小化迭代中使用三通道纹理绘制一个“排斥场”,其中 3 个分量被视为颜色并绘制在 RGB 通道中。每个点都会获得排斥场,以表示该点产生的水平和垂直排斥力,第三个分量用于归一化。直观地说,归一化项确保偏移的幅度与高维空间中的相似性度量相匹配。此外,纹理的分辨率会自适应地改变,以保持绘制的像素数不变。
然后将每个点的贡献添加到 GPU 上,从而产生类似于下面 GIF 中所示的纹理,这些纹理近似于排斥场。这种创新的排斥场方法比更常用的点对点相互作用计算更加适合 GPU。这是因为可以在 GPU 中一次非常快速地计算多个点的排斥力。此外,我们在 GPU 中实现了点之间吸引力的计算。
此外,我们还将嵌入的更新从临时实现修改为一系列标准张量运算,这些运算在TensorFlow.js中计算,TensorFlow.js 是一个用于在 Web 浏览器中执行张量计算的 JavaScript 库。我们的方法作为TensorFlow.js 系列中的开源库发布,使我们能够完全在 GPU 上计算 tSNE 嵌入的演变,同时具有更好的计算复杂度。
有了这个实现,过去需要 15 分钟才能计算的内容(在 MNIST 数据集上),现在可以在 Web 浏览器中实时可视化。此外,这允许实时可视化更大的数据集,这一功能在分析深度神经输出时特别有用。我们工作的一个主要限制是这种技术目前仅适用于 2D 嵌入。然而,2D 可视化通常比 3D 可视化更受欢迎,因为它们需要更多的交互才能有效地理解聚类结果。
未来的工作
我们相信,拥有一个在浏览器中运行的快速且交互式的 tSNE 实现将为数据分析系统的开发人员提供力量。我们特别感兴趣的是探索如何将我们的实现用于深度神经网络的解释。此外,我们的实现展示了如何使用 GPU 计算的横向思维(使用 RGB 纹理近似梯度)来显著加快算法计算。未来,我们将探索如何将这种梯度近似应用于加速其他降维算法,以及如何使用 TensorFlow.js 在 Web 浏览器中实现其他N 体模拟。
致谢
我们要感谢 Alexander Mordvintsev、Yannick Assogba、Matt Sharifi、Anna Vilanova、Elmar Eisemann、Nikhil Thorat、Daniel Smilkov、Martin Wattenberg、Fernanda Viegas、Alessio Bazzica、Boudewijn Lelieveldt、Thomas Höllt、Baldur van Lew、Julian Thijssen 和 Marvin Ritter。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|绿色天空实验室

GMT+8, 2025-1-22 05:13 , Processed in 0.073962 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表