开源人工智能
人工智能是目前最热门的科研领域之一。诸如IBM、谷歌、微软、脸书和亚马逊这类大型公司不仅加大了对旗下发展研究部门的资金投入,同时也开始并购一些在机器学习、神经网络、自然语言与图像处理领域小有所成的初创公司。鉴于目前人工智能研究领域的火爆程度,斯坦福大学的教授们不久前作出了这样一份报告:“人工智能软件的作用越来越强大,而对人类社会、经济有强大影响力的人工智能软件将于2030年前面世”。
国外网站Datamation今日整理了目前热门的15款开源人工智能软件,雷锋网对全文进行了编译介绍如下:
1.Caffe
Caffe软件由加州大学伯克利分校的一名博士生开发,是一个基于表达构架与可扩展编码的深度学习框架。因其出色的处理速度而广受研究人员与企业的喜爱。根据其主页的介绍,只使用一颗NVIDIA K40 GPU,该软件一天就可处理超过6000万张图片。Caffe软件项目由BVLC运作,由NVIDIA和亚马逊等公司资助其发展研究。
2.CNTK
CNTK是Computational Network Toolkit(计算网络工具包)的缩写,是微软旗下开源人工智能软件之一。它的过人之处在于:无论是只有CPU工作,还是单科GPU,或是或多颗GPU,亦或是多台机器配备多颗GPU工作,它的性能都十分优秀。虽然微软主要用它进行语音识别的研究,但它还可以进行机器翻译、图像识别、图像抓取、文本处理、语言识别与语言建模等工作。
3.Deeplearning4j
Deeplearning4j是一款JVM开源深度学习库软件。它能在分布式环境中运行,并整合Hadoop与Apache Spark。而这使得它可以配置深度神经网络,还可运行Java、Scala等其他JVM语言。
Deeplearning4j软件项目由Skymind商业公司运作,由Skymind负责项目的资金支持、人员培训与产品推广。
4.DMTK
与CNTK一样,DMTK是Distributed Machine Learning Toolkit的缩写(分布式机器学习工具),是微软旗下的另一款开源人工智能软件。为大数据研究而设计,旨在缩短人工智能系统的训练时间。DMTK包括三大主要部分:DMTK框架、LightLDA模型算法与分布式(多感)字嵌入算法。为了说明DMTK的处理速度,微软声称其可通过一台8节点计算机集群,在有着超过1000亿个标记的文档合集中处理出一个包含100万主题与1000万文字(总计10万亿个参数)的主题模型,而这是同类软件无法匹敌的。
5.H2O
更专注于企业使用体验而不是科学研究的H2O收获了如Capital One、思科、Nielsen Catalina、PayPal和Transamerica等大型企业的订单。Oxdata称所有人都可使用H2O机器学习与预测分析能力解决商业问题。H2O还可用于预测建模、欺诈与风险分析、保险分析、广告工艺、医疗保健与客户智能等方面。
H2O有两个开源版本:标准版H2O和Sparkling Water版H2O,两个版本都整合在Apache Spark中,Oxdata将为付费企业提供技术支持。
6.Mahout
Mahout 是 ASF(Apache软件基金会)旗下的一个开源项目,提供开源机器学习框架。据其官方主页描述,Mahout有三大主要特点:可扩展算法编程环境、事先写有如Spark和H2O等工具的算法、内置名为“Samsara”的矢量运算环境。Mahout用户的包括Adobe、Accenture、Foursquare、英特尔、领英、Twitter和雅虎等公司。
7.MLlib
以处理速度而闻名的Apache Spark已成为大数据处理中最常用的软件之一。MLlib算法是一个Spark的可扩展机器学习库。它与Hadoop融为一体,可与NumPy和NumPy.R跨平台操作。它囊括了大量机器学习算法类型,包括:分类、回归、决策树、建议、聚集、主题建模、特点转换、模型评价、ML pipeline构建、ML持久性、生存分析、频繁集、序列模式挖掘、离散线性代数和数据统计分析。
8.NuPIC
NuPIC由Numenta公司运作,是一个基于HTM(分层时间记忆)理论的开源人工智能项目。实际上,HTM理论是想根据人大脑新皮质结构设计一个电脑系统,旨在打造一台“在处理认知型任务上,接近或超过人类能力的电脑。”
Numenta不仅拥有NuPic的开放源代码许可,还有其商业授权与专利证书。
9.OpenNN
OpenNN是一款为研究人员和开发者打造的高级人工智能软件,提供可运行神经网络的C++编程库。其主要特点在于深度框架与高效的性能。OpenNN官网有关于神经网络运作的详细介绍。为OpenNN客户提供技术支持是来自西班牙的Artelnics公司(主攻预测分析研究)。
10.OpenCyc
由Cycorp公司开发的OpenCyc软件内置Cyc知识库与常识推理引擎,含括了23.9万条术语,约209.3万条三元组,约6.9万条网络本体语言,就好比外接了一个语义数据库。它在富领域建模、语义数据融合、文本理解、特定领域专家系统和游戏人工智能等方面十分有效。OpenCyc一共有两个版本:一个是对研究员免费不开源版本,另一个是对企业收费的版本。
11.Oryx 2
Oryx 2基于Apache Spark和Kafka构建,是一款专攻大型机器学习的发展框架软件。它使用的是独特的三层λ构架。开发者可使用Oryx 2开发新软件,其内置了一些通用大型数据任务的程序,如协同过滤、分类、归化和集群等。大数据工具提供商Cloudera开发了初代Oryx 1项目,现仍在继续研究发展。
12.PredictionIO
早在今年二月份,Salesforce公司买下了PredictionIO软件项目。PredictionIO软件项目作为一个孵化项目为ASF提供了新的平台和商标。虽然Salesforce公司通过PredictionIO软件项目来发展自己的机器学习技术,但其仍是开源。它可以利用机器学习来部署相关网络服务,通过对页面动态请求实时回应帮助用户建立一个预测引擎。
13.SystemML
SystemML最初由IBM开发,后被ASF收购,成为其大数据项目。SystemML是一个可高度扩展的平台,可进行高级数学运算,执行R或类Python语句。SystemML基于Spark或Hadoop运行,可用于4S店车辆维护的客户回访、机场领空管制以及银行客户社交媒体数据的收集。
14.TensorFlow
TensorFlow是谷歌旗下的开源人工智能软件之一,提供一个使用数据流图的数值计算库,可在单/多颗CPU或GPU系统甚至移动设备上运行。谷歌称TensorFlow十分灵活、真正的可移植,拥有自动鉴别能力且支持Python和C++平台。
15.Torch
Torch这样描述自己:“拥有科学的计算框架,支持可优先使用GPU的机器学习算法”。Torch的特点在于其出色的灵活性与杰出的处理速度,在处理机器学习、计算机视觉、信号处理、并行处理、图像、视频、音频和计算机网络等方面十分得心应手。它采用的是LuaJIT语言编写,一种基于Lua语言的脚本语言。