博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Uber开源AI Ludwig不用写程序就能达到训练深度学习模型
阅读量:6802 次
发布时间:2019-06-26

本文共 1695 字,大约阅读时间需要 5 分钟。

Uber AI实验室开源释出训练和测试深度学习模型的AI工具箱Ludwig,该工具箱建立于深度学习框架TensorFlow上,标榜不需要写程序就能完成模型的训练和测试工作,提供一系列的AI模型开发工具,像是透过可视化的方式,呈现评估模型、比较模型效能和预测结果,目前于GitHub平台以Apache License 2.0授权释出。Uber表示,目前市面上有许多深度学习相关的函式库,像是TensorFlow、PyTorch、CNTK、MXNET,以及Chainer,Uber决定避免重复开发性质类似的工具,因而在这些开源函式库的根基上,打造AI开发工具箱Ludwig。Uber曾开源释出在PyTorch上建立的深度机率程序语言Pyro,以及允许在多个GPU和计算机分散训练深度学习模型的框架Horovod。

近几年来,深度学习模型已被证实能够高效执行多种不同机器学习任务,包含计算机视觉、语音识别、自然语言处理等,而在Uber内部,深度模型也被用在多种任务中,像是客户服务、物体辨识、优化地图、串流聊天沟通服务、预测和防范诈骗等,为了简化深度学习模型的测试和训练工作,AI工具箱Ludwig已经在Uber内部开发超过2年,主要用于Uber的多项项目,像是从驾驶人驾照萃取资料、从对话撷取客户兴趣、预测餐点送达时间等。Uber指出,Ludwig特别的地方是能够让非AI专家更容易理解深度学习模型,对于经验丰富的AI开发和研究人员而言,也能透过Ludwig缩短模型的开发周期,简化开发原型过程和处理串流数据的工作。Uber将Ludwig设计为一种通用型的工具箱,主要用于处理新的机器学习问题时,能够简化模型开发和比较模型架构过程,设计的核心原则包含免写程序、具有通用、灵活性和扩展性,并能够透过可视化的方式,让开发者更能理解模型。在通用性的部分,Ludwig允许开发者使用CSV的表格文件和数据序列格式YAML配置文件,来训练深度学习模型,YAML配置文件能够加快模型原型设计的速度,将编码的时间从数小时缩短至数分钟,若有超过一个输出目标变量,Ludwig会执行多任务学习,也就是同时预测所有的输出。

而针对灵活和扩展性的部分,在模型定义中通常会包含额外的信息,特别是对每个特征属性预先处理信息的时候,每个特征属性都需要个别的编码器、译码器和训练参数,而编码和译码器也都需要个别的架构参数,在预先处理和训练的部分,Uber透过经验和现有的学术文献,为多种模型架构参数建立默认值,让新手也能训练复杂的模型,同时,能够个别设定模型配置文件的功能,提供AI专家在训练模型时有更多弹性。此外,每个在Ludwig训练的模型都能够保存,若开发者要用新数据执行模型得到预测结果时,就能重载模型。其中,Ludwig一项主要的新概念是为特定的数据类型提供独立的编码和译码器,也就是说,每种数据类型都有特定的预先处理函式,像是文字、图像和类别(category),如此一来,Ludwig就能够提供高效率的模块化和可扩展架构,藉由不同数据种类组件的组合,开发者可以用Ludwig训练多种类的任务,举例来说,文字编码器和类别译码器的组合,就能得到文字分类器,而链接图像编码器和文字译码器就能得到生成图像标题模型。(图片来源:Uber)

除此之外,每个数据种类可以有超过一个的编码器和译码器,例如,文字类型的数据可以用卷积神经网络、递归神经网络或是其他编码器来编码,接着,开发者可以选定要用哪个编码器并设置超参数,过程中不需要写任何一行程序,目前Ludwig提供开发者训练模型,包含文字分类、物体分类、图像标题生成、时间预测、序列标注、回归、语言模型、机器翻译、问题回答等,对于没有经验的开发新手而言,该工具为他们提供开发用于多种应用案例模型的机会,而有经验的开发者,也能藉由该工具箱研究更多新领域。AI工具箱Ludwig目前的编码器和译码器支持二进制值、浮点数、类别、离散序列、集合、文字、图像和时间序列等数据种类,还有提供一些预先训练的模型,像是词向量模型,未来,Uber还预计支持更多数据种类。提供来源:乐彩爱心

转载地址:http://ynfwl.baihongyu.com/

你可能感兴趣的文章
编译Hadoop Eclipse Plugin
查看>>
Java线程安全单例模式实现
查看>>
HOOK API 相关
查看>>
spring定时任务(方便轻巧)
查看>>
Java回调函数
查看>>
linux sort 命令详解
查看>>
总结一下近期的面试题(一)
查看>>
Guava学习笔记:EventBus
查看>>
cordova-plugin-alipay-v2使用沙箱环境
查看>>
OSC android app 退出方法改进
查看>>
android UI之button异步处理
查看>>
quantum 相关问题总结
查看>>
Hadoop学习
查看>>
深入了解android平台的jni---编译ffmpeg源码
查看>>
计算机常用端口一览表
查看>>
【转载】Unity3d引用外部的dll
查看>>
在Oracle Enterprise Linux中安装Oracle 11g
查看>>
CentOs7 急速安装 MongoDB
查看>>
Centos6.5 git 源码安装
查看>>
android自定义TabView实现圆角列表
查看>>