开源软件的发展为AI的崛起发挥了巨大作用,本文从网络中遴选了35个最著名的机器学习、深度学习开源AI项目:
1. ACT-R:ACT-R由卡内基·梅隆大学开发,它既是人类认知理论的名称,又是基于该理论的软件的名称。该软件基于Lisp,提供详细的说明文档。
链接:http://act-r.psy.cmu.edu/software/
2. Caffe:Caffe最初由加州大学伯克利分校的一名博士生创建,已成为一种大受欢迎的深度学习框架。它赖以成名的方面包括富有表现力的架构、可扩展代码和速度。
链接:http://caffe.berkeleyvision.org/
3. CaffeOnSpark:该项目最初在雅虎开发而成,将Caffe深度学习框架引入到Hadoop和Spark集群。它用于图像搜索和内容分类以及其他使用场合。
链接:https://github.com/yahoo/CaffeOnSpark
4. ConvNetJS:这个Java库让用户可以从浏览器来训练深度学习模型。它承诺“无软件要求、无需编译器、无需安装、无需GPU、无需流汗水。”
链接:http://cs.stanford.edu/people/karpathy/convnetjs/
5. DeepDetect:DeepDetect被空中客车和微软之类的企业组织所使用,它是基于Caffe、TensorFlow和XGBoost的开源深度学习服务器系统。它为图像分类、对象检测、文本及数字数据分析提供了一套易于使用的API。
链接:https://deepdetect.com/
6. Deeplearning4j:Deeplearning4j声称是“为Java和Scala编写的第一个商业级开源分布式深度学习库。”通过Skymind提供商业支持。
链接:http://deeplearning4j.org/
7. DSSTNE:DSSTNE的全称是“深度可扩展稀疏张量网络引擎”,它是亚马逊用来训练和部署其推荐引擎的软件库。主要功能包括:多GPU规模、大层次以及可处理稀疏数据集。
链接:https://github.com/amzn/amazon-dsstne
8. H2O:H2O拥有10多万用户,声称是“世界领先的开源深度学习平台。”除了开源版本,该公司还供应提供付费支持的高级版。
链接:http://www.h2o.ai/
9. 微软认知工具包:微软认知工具包以前名为CNTK,承诺可训练深度学习算法,像人脑那样思考。它拥有速度快、可扩展性、商业级质量以及与C++和Python兼容等优点。微软使用它来支持Skype、Cortana和必应(Bing)中的AI功能。
链接:https://www.microsoft.com/en-us/cognitive-toolkit/
10. Theano:Theano适用于深度学习,自称是“一种Python库,让你可以高效地定义、优化和评估涉及多维数组的数学表达式。”主要功能包括GPU支持、与NumPy整合、高效的符号微分法、C代码动态生成等更多功能。
链接:http://www.deeplearning.net/software/theano/
11. DeepMind Lab:DeepMind Lab旨在用于AI研究,它是一种3D游戏环境。它由谷歌的DeepMind部门开发而成,据说尤其适用于深度强化学习研究。
链接:https://deepmind.com/research/publications/deepmind-lab/
12. Project Malmo:Project Malmo是微软领导的项目,使用游戏《我的世界》作为AI研究平台。据官网声称:“《我的世界》对人工智能研究而言很理想,这跟它吸引着每天进入其虚拟世界的成千上万粉丝是同一个道理。不像其他电脑游戏,《我的世界》为用户提供了无穷无尽的可能性,从简单任务(比如一路寻宝)到复杂任务(比如与一群队友搭建建筑物),不一而足。”
链接:https://www.microsoft.com/en-us/research/project/project-malmo/
13.《星际争霸II》API库:谷歌的DeepMind和暴雪娱乐公司在共同开展一个项目,可使用《星际争霸II》视频游戏作为AI研究平台。它是一种跨平台的C ++库,可用于构建脚本化的机器人程序。
链接:https://us.battle.net/forums/en/sc2/topic/20758616786
14. Stockfish:这个开源国际象棋引擎是世界上最好的引擎之一,可击败大多数人类大师。请注意:它还有一个移动应用程序。
链接:https://stockfishchess.org/
15. XGBoost:XGBoost支持梯度提升树,这是一种易于训练的决策权,提供了神经网络之外的一种选择。它支持回归、分类、排序及其他类型的算法。
链接:http://xgboost.readthedocs.io/en/latest/
16. Numenta:Numenta组织提供了与层级实时记忆(HTM)有关的众多开源项目。实际上,这些项目试图基于生物界对于人类新大脑皮层的了解来生成机器智能。
链接: http://numenta.org/
17. Open Cog:Open Cog不是专注于AI的狭窄方面,比如深度学习或神经网络,旨在生成有益的强人工智能(AGI)。该项目正致力于打造能够拥有类人智能的系统和机器人。
链接:http://opencog.org/
18. Accord.NET框架:Accord.NET承诺机器学习可在“1分钟内搞定”。它基于微软技术,包括示例应用程序和详细的说明文档,以帮助开发人员迅速创建生产环境级计算机视觉、计算机听觉、信号处理和统计应用软件。
链接:http://accord-framework.net/
19. AForge.NET框架:AForge.NET专为计算机视觉和人工智能应用而设计,这种C#框架适用于图像处理、神经网络、遗传算法、模糊逻辑、机器学习和机器人等。它包括几个库和示例应用程序。
链接:http://www.aforgenet.com/framework/
20. Aerosolve:这个“为人类设计的机器学习包”由Airbnb创建,旨在帮助为主机支持动态定价建议。它基于Java,特别适用于拥有地理位置相关变量的项目。
链接:http://airbnb.io/aerosolve/
21. 分布式机器学习工具包:这个微软机器学习项目包括DMTK框架、Light LDA主题模型算法、分布式(多重)单词嵌入算法以及LightGBM梯度提升树框架。随着研究深入开展,该公司计划为该工具包添加更多的算法和组件。
链接:http://www.dmtk.io/
22. Dlib:Dlib提供了一套可快速执行的C ++机器学习库。它包括诸多算法,可用于二进制分类、多类分类、回归、结构预测、深度学习、聚类、非监督学习、半监督/度量学习、强化学习和特征选择。
链接:http://dlib.net/ml.html
23. Encog:Encog自2008年以来就在积极开发中,它是由数据科学家杰夫·希顿(Jeff Heaton)创建的一种机器学习框架。它支持神经网络、支持向量机、贝叶斯网络、隐马尔可夫模型、遗传编程和遗传算法。
链接:http://www.heatonresearch.com/encog/
24. GoLearn:GoLearn自诩为面向Go编程语言的“一应俱全的”机器学习库。它力求简单性和可定制性。
链接:https://github.com/sjwhitworth/golearn
25. Mahout:Mahout是Apache软件基金会赞助的众多机器学习项目之一,它提供了用于构建可扩展的机器学习应用程序的编程环境和框架。它还包括预制算法和名为Samsara的向量数学实验环境。
链接:http://mahout.apache.org/
26. MLlib:作为Apache Spark项目的一部分,MLlib是一个机器学习库,承诺性能比MapReduce高100倍。它包括众多算法,用于分类、回归、决策树、推荐、聚类、主题建模、模式挖掘等。
链接:https://spark.apache.org/mllib/
27. Pattern:基于Python的Pattern提供了众多工具,可用于数据挖掘、自然语言处理、机器学习、网络分析和可视化。它尤其适用于Web挖掘这个应用场合。
链接:https://www.clips.uantwerpen.be/pages/pattern
28. Prophet:Prophet由Facebook开发和使用,可预测时间序列数据。它是用R或Python实现的,具有全自动、准确、快速和可调整优的特点。
链接:https://facebookincubator.github.io/prophet/
29. Oryx 2:Oryx 2由Cloudera开发,实现了用于机器学习的lambda架构。它基于Apache Spark和Kafka。
链接:http://oryx.io/
30. PredictionIO:PredictionIO现在是Apache孵化项目,这种机器学习服务器系统拥有可定制模板、实时查询响应、从多个平台获取数据的功能等特性。它与其他开源工具整合起来,比如Spark、Mllib、HBase、Spray和Elasticsearch。
链接:http://predictionio.incubator.apache.org/index.html
31. SAMOA:SAMOA是Apache孵化项目,全称是“可扩展高级大规模在线分析”。它是一种面向分布式流应用的机器学习框架。
链接:https://samoa.incubator.apache.org/
32. Scikit-learn:Scikit-learn基于NumPy、SciPy和matplotlib,提供了用于机器学习的Python工具。它使用分类、回归、聚类以及降维等方面的算法来处理数据挖掘和数据分析。
链接:http://scikit-learn.org/stable/
33. Shark:Shark自称是一种“快速、模块化、功能丰富的开源C ++机器学习库。”它提供了监督学习、非监督学习、进化算法、基本线性代数以及优化等方面的算法。
链接:http://image.diku.dk/shark/sphinx_pages/build/html/index.html
34. Shogun:Shogun自1999年以来就在开发中,它是一套成熟的机器学习工具,支持Python、Octave、R、Java/Scala、Lua、C#、Ruby及其他语言。它还有一项免费的云服务,用户可以试用该软件。
链接:http://www.shogun-toolbox.org/
35. Smile:Smile的全称是“统计机器智能和学习引擎”,拥有极快的机器学习,支持Java、Scala及其他JVM语言。它声称“性能显著优于R、Python、Spark、H2O和xgboost。”