不久前,F(xiàn)acebook為人工智能研究開(kāi)放了自家的輕量級(jí)交互式可視化庫(kù)/工具HiPlot。它使機(jī)器學(xué)習(xí)研究人員和數(shù)據(jù)科學(xué)家可以大量使用平行繪圖來(lái)分析相關(guān)性并觀察高維數(shù)據(jù)中的模式。

什么是平行圖?
平行圖是將高維或多元數(shù)據(jù)可視化的便捷方法之一。
· 對(duì)于n個(gè)維度,繪制n條平行線,垂直且等間隔。這些用作軸。
· 每個(gè)數(shù)據(jù)點(diǎn)由一條折線表示,在平行軸上具有頂點(diǎn)。
以下是使用ML 101 Iris數(shù)據(jù)集的直觀示例。觀察代表一個(gè)數(shù)據(jù)點(diǎn)的藍(lán)色折線,并查看該數(shù)據(jù)點(diǎn)下面的表格記錄。

為什么選擇HiPlot?
機(jī)器學(xué)習(xí)的超參數(shù)調(diào)整
這就是Facebook構(gòu)建HiPlot的目的。
由于神經(jīng)網(wǎng)絡(luò)需要調(diào)整從幾個(gè)到數(shù)十個(gè)任意位置的超參數(shù),因此可視化分析訓(xùn)練運(yùn)行的能力對(duì)于進(jìn)一步微調(diào)和構(gòu)建性能模型至關(guān)重要。

HiPlot:過(guò)濾20個(gè)“歷元”后獲得的數(shù)據(jù)點(diǎn),然后通過(guò)“有效ppl”軸進(jìn)行切片。它表明,更高的學(xué)習(xí)率可以帶來(lái)更好的表現(xiàn)。
多元數(shù)據(jù)探索性分析
以探索房屋數(shù)據(jù)這一熟悉場(chǎng)景為例。
· 可以使用HiPlot的交互式繪圖對(duì)圖表進(jìn)行過(guò)濾和切片,從而快速查看昂貴的屬性是否聚集在特定的郵政編碼或城市內(nèi)。
· 可以分析各種屬性與房?jī)r(jià)之間的關(guān)系。
由于具有挖掘和分析高維數(shù)據(jù)點(diǎn)的能力,這些圖比靜態(tài)2D熱力圖或相關(guān)系數(shù)表具有更高的透明度和靈活性。
簡(jiǎn)單性和可擴(kuò)展性
能夠選擇將HiPlot用作notebook中的python庫(kù)或網(wǎng)絡(luò)應(yīng)用程序,就可以馬上開(kāi)始對(duì)其進(jìn)行使用。有了支持自定義解析器、過(guò)濾和切片可視化內(nèi)容的可共享URL之類(lèi)的功能,HiPlot會(huì)優(yōu)先考慮靈活性和協(xié)作性,還與Facebook的其他開(kāi)源AI庫(kù)的日志兼容。
入門(mén)
安裝
pip install hiplot
安裝后,可以通過(guò)兩種方式使用Hiplot。
· 作為Jupyter Notebooks中的python庫(kù)
import hiplot as hip
· 通過(guò)在終端/ 命令行中啟動(dòng)Web服務(wù)器,作為Flask Web應(yīng)用程序:
(To launch as localhost)
》》》 hiplot(To enable sharing plot URLs)
》》》 hiplot --host 0.0.0.0
注意:要使用網(wǎng)絡(luò)應(yīng)用程序,必須實(shí)現(xiàn)附帶實(shí)驗(yàn)提取器,這將在后文的“高級(jí)功能”部分中概述。
Notebook中的日常簡(jiǎn)單場(chǎng)景
以下是利用HiPlot分析各種學(xué)習(xí)率,輟學(xué)率和優(yōu)化器如何影響訓(xùn)練損失的日常使用案例。
import hiplot as hip
data = [
{‘dropout’:0.1,
‘learning_rate’: 0.001,
‘optimizer’: ‘SGD’,
‘loss’: 10.0
},
{‘dropout’:0.15,
‘learning_rate’: 0.01,
‘optimizer’: ‘Adam’,
‘loss’: 3.5
},
{‘dropout’:0.3,
‘learning_rate’: 0.1,
‘optimizer’: ‘Adam’,
‘loss’: 4.5
}]hip.Experiment.from_iterable(data).display(force_full_width=True)
圖表及表格呈現(xiàn)如下。
是的,就是這么簡(jiǎn)單。

進(jìn)階能力
樹(shù)與關(guān)系
看一個(gè)示例,這個(gè)例子希望通過(guò)指定后代關(guān)系來(lái)關(guān)聯(lián)相關(guān)數(shù)據(jù)點(diǎn)。由于正在處理高維數(shù)據(jù)點(diǎn),這使得可視化突然變得復(fù)雜。但是HiPlot幫你搞定了。
觀察以下基于人口的訓(xùn)練示例,這是一種遺傳算法,其中可以使用不同的超參數(shù)將訓(xùn)練任務(wù)多次分叉。屬于同一訓(xùn)練代的數(shù)據(jù)點(diǎn)被連接起來(lái)。

在上面的示例中,平行圖下方的關(guān)系圖顯示了數(shù)據(jù)點(diǎn)之間的關(guān)系。在關(guān)系圖中,每條折線代表一組連接的數(shù)據(jù)點(diǎn),而折線中的每個(gè)頂點(diǎn)代表一個(gè)數(shù)據(jù)點(diǎn)。是的,它仍然是交互式的!因此,當(dāng)鼠標(biāo)懸停在關(guān)系圖中的頂點(diǎn)上時(shí),平行圖中將突出顯示相應(yīng)的數(shù)據(jù)點(diǎn)。
下面是生成上面曲線的代碼。關(guān)系隨機(jī)分配,但要點(diǎn)很好把握。
exp = hip.Experiment()
exp.display_data(hip.Displays.XY).update({
‘a(chǎn)xis_x’: ‘generation’,
‘a(chǎn)xis_y’: ‘loss’,
})
for i in range(200):
dp = hip.Datapoint(
uid=str(i),
values={
‘generation’: i,
‘param’: 10 ** random.uniform(-1, 1),
‘loss’: random.uniform(-5, 5)
})
if i 》 10:
from_parent = random.choice(exp.datapoints[-10:])
# Connecting the parent to the child
dp.from_uid = from_parent.uid dp.values[‘loss’] += from_parent.values[‘loss’]
dp.values[‘param’] *= from_parent.values[‘param’]
exp.datapoints.append(dp)
實(shí)驗(yàn)提取器
將實(shí)驗(yàn)提取器視為美化的解析器,允許以可迭代和可繪制的形式提取,轉(zhuǎn)換和加載數(shù)據(jù)。
如打算在網(wǎng)絡(luò)應(yīng)用程序模式下使用HiPlot,則必須實(shí)現(xiàn)實(shí)驗(yàn)提取器。如果是在notebook操作,只要對(duì)可視化數(shù)據(jù)采用表格形式或可迭代形式,就可不用讀取器。
下面是一個(gè)實(shí)現(xiàn)實(shí)驗(yàn)提取器的示例。
提取程序:fetch_local_csv_experiment
提取程序前綴:localcsvxp://
目的:從本地文件系統(tǒng)加載CSV數(shù)據(jù)文件以進(jìn)行可視化
import hiplot as hip
deffetch_local_csv_experiment(uri):
# Only apply this fetcher if the URI starts with webxp://
PREFIX=“l(fā)ocalcsvxp://”
ifnot uri.startswith(PREFIX):
# Let other fetchers handle this one
raise hip.ExperimentFetcherDoesntApply()
# Parse out the local file path from the uri
local_path = uri[len(PREFIX):] # Remove the prefix
# Return the hiplot experiment to render
return hip.Experiment.from_csv(local_path)
使用網(wǎng)絡(luò)應(yīng)用程序
一旦實(shí)現(xiàn)了如上所述的實(shí)驗(yàn)提取器,就可以啟動(dòng)網(wǎng)絡(luò)應(yīng)用程序。
在示例中,fetch_local_csv_experiment提取程序(前綴localcsvxp://)存儲(chǔ)在fetchers.py文件中。
可以在終端/命令行中以如下方式啟動(dòng)HiplotWeb服務(wù)器:
》》》 hiplotfetchers.fetch_local_csv_experiment --host 0.0.0.0
服務(wù)器將在一秒鐘內(nèi)啟動(dòng)。將URL復(fù)制到Web瀏覽器。
在突出顯示的輸入框中,用以下格式輸入文件路徑:
《fetcher_prefix》《file path》

可以與其他人共享過(guò)濾后的視圖的URL。為此,需要使用“--host 0.0.0.0”標(biāo)志啟動(dòng)Web服務(wù)器。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4842瀏覽量
108178 -
Facebook
+關(guān)注
關(guān)注
3文章
1432瀏覽量
59354 -
人工智能
+關(guān)注
關(guān)注
1820文章
50325瀏覽量
266967
發(fā)布評(píng)論請(qǐng)先 登錄
高質(zhì)量可視化大屏應(yīng)該這樣設(shè)計(jì)
3D系統(tǒng)可視化
可視化AR巡檢:工業(yè)智能化發(fā)展的新引擎
工業(yè)數(shù)字孿生:圖撲可視化技術(shù)架構(gòu)與行業(yè)應(yīng)用解析
OBOO鷗柏丨98英寸觸摸屏信息發(fā)布系統(tǒng)一體機(jī)交通軌道可視化終端數(shù)字化
工業(yè)物聯(lián)網(wǎng)可視化平臺(tái)是什么?有什么功能?
工業(yè)可視化平臺(tái)是什么
【產(chǎn)品介紹】Altair HyperView用于仿真和CAE分析的后處理和數(shù)據(jù)可視化
智慧用電安全解決方案:打造全流程可視化管控
商湯科技與中智集團(tuán)合作成果入選首批中央企業(yè)人工智能戰(zhàn)略性高價(jià)值場(chǎng)景
挖到寶了!人工智能綜合實(shí)驗(yàn)箱,高校新工科的寶藏神器
挖到寶了!比鄰星人工智能綜合實(shí)驗(yàn)箱,高校新工科的寶藏神器!
如何使用協(xié)議分析儀進(jìn)行數(shù)據(jù)分析與可視化
如何實(shí)現(xiàn)光伏數(shù)字孿生可視化?
Facebook為人工智能研究開(kāi)放輕量級(jí)交互式可視化庫(kù)/工具HiPlot
評(píng)論