0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Facebook为人工智能研究开放轻量级交互式可视化库/工具HiPlot

倩倩 来源:读芯术 2020-03-27 14:52 次阅读

不久前,Facebook为人工智能研究开放了自家的轻量级交互式可视化库/工具HiPlot。它使机器学习研究人员和数据科学家可以大量使用平行绘图来分析相关性并观察高维数据中的模式。

什么是平行图?

平行图是将高维或多元数据可视化的便捷方法之一。

· 对于n个维度,绘制n条平行线,垂直且等间隔。这些用作轴。

· 每个数据点由一条折线表示,在平行轴上具有顶点。

以下是使用ML 101 Iris数据集的直观示例。观察代表一个数据点的蓝色折线,并查看该数据点下面的表格记录。

为什么选择HiPlot?

机器学习的超参数调整

这就是Facebook构建HiPlot的目的。

由于神经网络需要调整从几个到数十个任意位置的超参数,因此可视化分析训练运行的能力对于进一步微调和构建性能模型至关重要。

HiPlot:过滤20个“历元”后获得的数据点,然后通过“有效ppl”轴进行切片。它表明,更高的学习率可以带来更好的表现。

多元数据探索性分析

以探索房屋数据这一熟悉场景为例。

· 可以使用HiPlot的交互式绘图对图表进行过滤和切片,从而快速查看昂贵的属性是否聚集在特定的邮政编码或城市内。

· 可以分析各种属性与房价之间的关系。

由于具有挖掘和分析高维数据点的能力,这些图比静态2D热力图或相关系数表具有更高的透明度和灵活性。

简单性和可扩展性

能够选择将HiPlot用作notebook中的python库或网络应用程序,就可以马上开始对其进行使用。有了支持自定义解析器、过滤和切片可视化内容的可共享URL之类的功能,HiPlot会优先考虑灵活性和协作性,还与Facebook的其他开源AI库的日志兼容。

入门

安装

pip install hiplot

安装后,可以通过两种方式使用Hiplot。

· 作为Jupyter Notebooks中的python库

import hiplot as hip

· 通过在终端/ 命令行中启动Web服务器,作为Flask Web应用程序:

(To launch as localhost)

》》》 hiplot(To enable sharing plot URLs)

》》》 hiplot --host 0.0.0.0

注意:要使用网络应用程序,必须实现附带实验提取器,这将在后文的“高级功能”部分中概述。

Notebook中的日常简单场景

以下是利用HiPlot分析各种学习率,辍学率和优化器如何影响训练损失的日常使用案例。

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)

图表及表格呈现如下。

是的,就是这么简单。

进阶能力

树与关系

看一个示例,这个例子希望通过指定后代关系来关联相关数据点。由于正在处理高维数据点,这使得可视化突然变得复杂。但是HiPlot帮你搞定了。

观察以下基于人口的训练示例,这是一种遗传算法,其中可以使用不同的超参数将训练任务多次分叉。属于同一训练代的数据点被连接起来。

在上面的示例中,平行图下方的关系图显示了数据点之间的关系。在关系图中,每条折线代表一组连接的数据点,而折线中的每个顶点代表一个数据点。是的,它仍然是交互式的!因此,当鼠标悬停在关系图中的顶点上时,平行图中将突出显示相应的数据点。

下面是生成上面曲线的代码。关系随机分配,但要点很好把握。

exp = hip.Experiment()

exp.display_data(hip.Displays.XY).update({

‘axis_x’: ‘generation’,

‘axis_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)

实验提取器

将实验提取器视为美化的解析器,允许以可迭代和可绘制的形式提取,转换和加载数据。

如打算在网络应用程序模式下使用HiPlot,则必须实现实验提取器。如果是在notebook操作,只要对可视化数据采用表格形式或可迭代形式,就可不用读取器。

下面是一个实现实验提取器的示例。

提取程序:fetch_local_csv_experiment

提取程序前缀:localcsvxp://

目的:从本地文件系统加载CSV数据文件以进行可视化

import hiplot as hip

deffetch_local_csv_experiment(uri):

# Only apply this fetcher if the URI starts with webxp://

PREFIX=“localcsvxp://”

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)

使用网络应用程序

一旦实现了如上所述的实验提取器,就可以启动网络应用程序。

在示例中,fetch_local_csv_experiment提取程序(前缀localcsvxp://)存储在fetchers.py文件中。

可以在终端/命令行中以如下方式启动HiplotWeb服务器:

》》》 hiplotfetchers.fetch_local_csv_experiment --host 0.0.0.0

服务器将在一秒钟内启动。将URL复制到Web浏览器。

在突出显示的输入框中,用以下格式输入文件路径:

《fetcher_prefix》《file path》

可以与其他人共享过滤后的视图的URL。为此,需要使用“--host 0.0.0.0”标志启动Web服务器。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4774

    浏览量

    100899
  • Facebook
    +关注

    关注

    3

    文章

    1429

    浏览量

    54812
  • 人工智能
    +关注

    关注

    1792

    文章

    47432

    浏览量

    238975
收藏 人收藏

    评论

    相关推荐

    嵌入人工智能究竟是什么关系?

    嵌入人工智能究竟是什么关系? 嵌入系统是一种特殊的系统,它通常被嵌入到其他设备或机器中,以实现特定功能。嵌入系统具有非常强的适应性和灵活性,能够根据用户需求进行定制
    发表于 11-14 16:39

    AI for Science:人工智能驱动科学创新》第4章-AI与生命科学读后感

    阅读这一章后,我深感人工智能与生命科学的结合正引领着一场前所未有的科学革命,以下是我个人的读后感: 1. 技术革新与生命科学进步 这一章详细阐述了人工智能如何通过其强大的数据处理和分析能力,加速生命科学研究
    发表于 10-14 09:21

    《AI for Science:人工智能驱动科学创新》第一章人工智能驱动的科学创新学习心得

    人工智能:科学研究的加速器 第一章清晰地阐述了人工智能作为科学研究工具的强大功能。通过机器学习、深度学习等先进技术,AI能够处理和分析海量
    发表于 10-14 09:12

    如何实现三维地图可视化交互系统

    三维地图可视化 交互系统是一种基于三维地图技术的交互式应用程序,可以呈现地理信息和空间数据的立体展示,并提供用户友好的交互功能。以下是古河
    的头像 发表于 07-19 18:20 886次阅读

    大屏数据可视化 开源

    在当今信息爆炸的时代,数据已经成为各个行业决策制定和业务发展的关键。为了更直观、准确地理解和利用海量数据, 大屏数据可视化 成为一种强大的工具。通过将数据以图表、图形等形式展示在大屏幕上,不仅
    的头像 发表于 06-27 16:06 428次阅读
    大屏数据<b class='flag-5'>可视化</b> 开源

    c语言怎么做可视化界面

    C语言是一种通用的编程语言,广泛应用于系统编程、嵌入开发等领域。虽然C语言本身并不支持直接创建可视化界面,但通过结合一些图形工具,我们可以为C语言程序开发出直观、易用的
    的头像 发表于 06-06 10:46 2406次阅读

    中国企业级交互式人工智能市场潜力巨大,声通科技积极拓展市场份额

    随着人工智能、云计算、大数据、5G等新一代信息技术的迅猛发展,企业正迎来数字转型的浪潮。在这一浪潮中,企业级交互式人工智能的商业应用成为
    的头像 发表于 05-24 09:46 390次阅读

    深耕交互式人工智能领域,声通科技为用户提供更加智能的解决方案

    在数字浪潮席卷全球的今天,人工智能已成为推动社会进步的重要力量。作为中国交互式人工智能(CoAI)领域的开拓者与领军者,上海声通信息科技股份有限公司(以下简称“声通科技”)凭借其创新
    的头像 发表于 05-16 09:42 369次阅读

    声通科技:Voicecomm Suites引领企业交互式人工智能新风尚

    随着科技的快速发展,人工智能和通信技术不断融合,为企业级用户带来了前所未有的商业机遇。在这个大背景下,上海声通信息科技股份有限公司(以下简称“声通科技”)凭借其在交互式人工智能领域的深厚积累和持续
    的头像 发表于 04-12 12:02 289次阅读

    市场前景向好,交互式人工智能提供商声通科技迎广阔发展空间

    根据艾瑞咨询报告,2022年中国企业级交互式人工智能解决方案的市场渗透率仅为10.4%,美国市场渗透率为16.7%。目前中国企业级交互式人工智能解决方案的市场渗透率仍有巨大提升空间,预
    的头像 发表于 04-11 14:12 357次阅读

    西门子和英伟达深化合作,基于生成 AI 实现实时的沉浸可视化

    APIs 的沉浸可视化功能引入西门子 Xcelerator,推动以人工智能(AI)驱动的数字孪生技术的应用,持续构建工业元宇宙
    的头像 发表于 03-27 14:57 577次阅读

    声通科技全栈交互式人工智能,助力企业智能化升级

    在数字浪潮席卷全球的今天,人工智能已经成为企业转型升级、提升竞争力的关键力量。上海声通信息科技股份有限公司(以下称:声通科技或公司)作为中国第二大企业级全栈交互式人工智能解决方案提供
    的头像 发表于 03-20 09:56 371次阅读

    以人才为核心,声通科技加速推动企业级全栈交互式人工智能发展

    源源不断的创新活力。 据声通科技IPO招股书显示,公司成立于2005年,是以人工智能和大数据融合通讯为技术基座,定位于复杂实时交互场景(人、物、信息之间的交互)的企业级全栈交互式
    的头像 发表于 03-19 10:04 297次阅读

    嵌入人工智能的就业方向有哪些?

    于工业、农业、医疗、城市建设、金融、航天军工等多个领域。在新时代发展背景下,嵌入人工智能已是大势所趋,成为当前最热门的AI商业途径之一。
    发表于 02-26 10:17

    数据可视化的未来:2024 年及以后

    随着我们进入数据驱动决策的下一个时代,数据可视化领域即将迎来一场变革性革命。随着信息的不断涌入和数据的复杂性不断增加,传统的可视化方法需要帮助跟上步伐。人工智能、机器学习和增强现实等新兴技术正在为新一代实时数据
    的头像 发表于 01-25 11:52 555次阅读