近年來,t 分布隨機(jī)鄰域嵌入(tSNE) 算法已成為高維數(shù)據(jù)探索性數(shù)據(jù)分析中最常用和最具洞察力的技術(shù)之一。tSNE 用于解釋TensorFlow Embedding Projector和TensorBoard等工具中的深度神經(jīng)網(wǎng)絡(luò)輸出,它的強(qiáng)大特性之一是,只需對(duì)參數(shù)進(jìn)行最少量的調(diào)整即可顯示不同規(guī)模的高維數(shù)據(jù)點(diǎn)聚類。盡管有這些優(yōu)點(diǎn),但受限于計(jì)算復(fù)雜性,tSNE 算法只能應(yīng)用于相對(duì)較小的數(shù)據(jù)集。為解決這一問題,已相繼開發(fā)出幾個(gè) tSNE 演化版本(主要關(guān)注數(shù)據(jù)點(diǎn)之間相似性計(jì)算的可擴(kuò)展性),但迄今為止,這些版本還不足以在可視化 tSNE 大數(shù)據(jù)集嵌入的演化時(shí)提供真正的交互式體驗(yàn)。在 “Linear tSNE Optimization for the Web” (https://nicola17.github.io/tfjs-tsne-demo)一文中,我們提出了一種高度依賴現(xiàn)代圖形硬件的全新 tSNE 方法。考慮到新方法的線性復(fù)雜性,我們的方法生成嵌入的速度比同類技術(shù)更快,甚至可以通過WebGL利用 GPU 功能在客戶端的網(wǎng)絡(luò)瀏覽器中執(zhí)行。在這兩種因素的共同作用下,大型高維數(shù)據(jù)集的實(shí)時(shí)交互式可視化得以實(shí)現(xiàn)。
用我們的技術(shù)實(shí)時(shí)演化完整 MNIST 數(shù)據(jù)集的 tSNE 嵌入。數(shù)據(jù)集包含 60000 個(gè)手寫數(shù)字的圖像
tSNE 的目標(biāo)是對(duì)相似數(shù)據(jù)點(diǎn)的小 “鄰域” 進(jìn)行聚類,同時(shí)降低數(shù)據(jù)的整體維數(shù),使其更易于可視化。換句話說,tSNE目標(biāo)函數(shù)測量相似數(shù)據(jù)的這些鄰域在二維或三維空間中的保存程度,并相應(yīng)地將它們組成聚類。在此前的研究中,tSNE 目標(biāo)函數(shù)的最小化作為N 體模擬問題來執(zhí)行,其中,點(diǎn)被隨機(jī)放置在嵌入空間中,并且在每個(gè)點(diǎn)上施加兩種不同類型的力。吸引力使點(diǎn)更靠近高維空間中最相似的點(diǎn),而排斥力則使它們遠(yuǎn)離嵌入中的所有鄰近點(diǎn)。吸引力只作用于一小部分點(diǎn)(即相似的鄰近點(diǎn)),而排斥力對(duì)所有點(diǎn)對(duì)都起作用。因此,tSNE 需要大量的計(jì)算和多次的目標(biāo)函數(shù)迭代,使得數(shù)據(jù)集大小局限為僅數(shù)百個(gè)數(shù)據(jù)點(diǎn)。為改進(jìn)蠻力解決方案,采用了Barnes-Hut算法近似計(jì)算排斥力和目標(biāo)函數(shù)的梯度。這使得計(jì)算能力擴(kuò)展到數(shù)萬個(gè)數(shù)據(jù)點(diǎn),但是計(jì)算 C++ 實(shí)現(xiàn)中的MNIST嵌入需要超過 15 分鐘。在論文中,我們針對(duì)上述擴(kuò)展問題提出了一種解決方案,使用在 WebGL 中生成的紋理來近似計(jì)算目標(biāo)函數(shù)的梯度。這一技術(shù)在每次最小化迭代中使用三通道紋理繪制 “排斥場”,其中 3 個(gè)分量被視為顏色并在 RGB 通道中繪制。為每個(gè)點(diǎn)獲取排斥場,以表示該點(diǎn)產(chǎn)生的水平和垂直排斥力,以及用于歸一化的第三分量。直觀地說,歸一化期用于確保移位的幅度與高維空間中的相似性度量值相匹配。此外,紋理的分辨率會(huì)根據(jù)情況自動(dòng)改變,以便保持繪制的像素?cái)?shù)量恒定。
三個(gè)函數(shù)的渲染,用于近似計(jì)算單點(diǎn)產(chǎn)生的排斥效應(yīng)。在上圖中,排斥力表示藍(lán)色區(qū)域中的點(diǎn)被向左/向下推動(dòng),而紅色區(qū)域中的點(diǎn)被向右/向上推動(dòng),而白色區(qū)域中的點(diǎn)不動(dòng)
然后,將每個(gè)點(diǎn)的作用添加到 GPU 上,從而產(chǎn)生與下面 GIF 中呈現(xiàn)的近似排斥場的圖像相似的紋理。相對(duì)于更常用的點(diǎn)間相互作用計(jì)算方法,這種新型排斥場方法對(duì) GPU 更加友好。這是因?yàn)樵?GPU 中可以同時(shí)且非常快速地計(jì)算多個(gè)點(diǎn)的排斥力。另外,我們在 GPU 中實(shí)現(xiàn)了點(diǎn)間吸引力的計(jì)算。
此動(dòng)畫顯示了 tSNE 嵌入(左上)和用于使用歸一化期(右上)、水平移位(左下)和垂直移位(右下)來近似計(jì)算梯度的標(biāo)量場的演化
我們還將臨時(shí)實(shí)現(xiàn)中的嵌入更新修改為一系列在TensorFlow.js(一種 JavaScript 庫,用于在網(wǎng)絡(luò)瀏覽器中執(zhí)行張量計(jì)算)中計(jì)算的標(biāo)準(zhǔn)張量操作。我們的方法已在 TensorFlow.js 系列中以開放源代碼庫形式發(fā)布,通過該方法,我們可以完全基于 GPU 來計(jì)算 tSNE 嵌入的演化,同時(shí)計(jì)算復(fù)雜性大大降低。通過這種實(shí)現(xiàn),以前需要 15 分鐘計(jì)算的內(nèi)容(在 MNIST 數(shù)據(jù)集上),現(xiàn)在可以在網(wǎng)絡(luò)瀏覽器中實(shí)現(xiàn)實(shí)時(shí)可視化。此外,更大數(shù)據(jù)集的實(shí)時(shí)可視化也隨之成為可能,此功能在分析深度神經(jīng)輸出時(shí)特別有用。我們研究的主要局限在于,這種技術(shù)目前只適用于 2D 嵌入。然而,2D 可視化通常比 3D 可視化更受歡迎,因?yàn)樗鼈冃枰嗟慕换碛行Ю斫饩垲惤Y(jié)果。
-
嵌入式
+關(guān)注
關(guān)注
5144文章
19575瀏覽量
315790 -
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4811瀏覽量
103046 -
tensorflow
+關(guān)注
關(guān)注
13文章
330瀏覽量
61071
原文標(biāo)題:使用 TensorFlow.js 實(shí)現(xiàn)實(shí)時(shí) tSNE 可視化
文章出處:【微信號(hào):tensorflowers,微信公眾號(hào):Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評(píng)論請先 登錄
如何實(shí)現(xiàn)光伏數(shù)字孿生可視化?

VirtualLab Fusion應(yīng)用:3D系統(tǒng)可視化
可視化組態(tài)物聯(lián)網(wǎng)平臺(tái)是什么

VirtualLab Fusion中的可視化設(shè)置
VirtualLab Fusion應(yīng)用:光波導(dǎo)k域布局可視化(“神奇的圓環(huán)”)
七款經(jīng)久不衰的數(shù)據(jù)可視化工具!
光學(xué)系統(tǒng)的3D可視化
什么是大屏數(shù)據(jù)可視化?特點(diǎn)有哪些?
如何找到適合的大屏數(shù)據(jù)可視化系統(tǒng)
智慧能源可視化監(jiān)管平臺(tái)——助力可視化能源數(shù)據(jù)管理

智慧樓宇可視化的優(yōu)點(diǎn)
智慧地鐵站可視化建設(shè)的意義
如何實(shí)現(xiàn)三維地圖可視化交互系統(tǒng)
大屏數(shù)據(jù)可視化 開源

評(píng)論