当前位置: 首页 > 科技观察

为什么机器学习行业的发展离不开“开源”

时间:2023-03-16 11:31:24 科技观察

2016年底,谷歌DeepMind开源了他们的机器学习平台——DeepMindLab。尽管霍金教授等专家就该技术发出了警告,谷歌仍决定向其他开发人员开放其软件源代码,作为进一步开发机器学习能力的努力的一部分。他们不是唯一一家这样做的科技公司;Facebook去年开源了其深度学习软件,ElonMusk的非营利组织OpenAI发布了Universe,这是一个可用于训练AI系统的开放软件平台。那么,为什么谷歌、OpenAI和其他公司选择开源他们的平台,这将如何影响机器学习的采用?为什么开源机器学习?上面提到的例子给了我们美好的愿景,其实如果你仔细观察,你会发现机器学习一直都是开源的,开放的研发是机器学习今天受到如此关注的根本原因。通过向公众提供自己的学习平台,谷歌证实了人们对其AI研究的认识不断提高。这样做其实有很多好处,比如为Alphabet发现新的人才和有能力的初创公司。同时,开发人员能够访问DeepMindLab将有助于解决他们机器学习研究的一个关键问题——缺乏训练环境。OpenAI推出了一所新的AI虚拟学校,使用游戏和网站来训练AI系统。目前非常需要采取行动,让公众可以使用机器学习平台。开源机器学习项目的5大优势加速开源机器学习的采用曲线开源机器学习中的最佳框架一些用于创建有影响力的新机器学习系统的重要框架包括:ApacheSinga是一个通用的分布式深度学习平台用于在大型数据集上训练大型深度学习模型。它采用基于分层抽象的本能编程模型设计。支持各种流行的深度学习模型,包括卷积神经网络(CNN)、受限玻尔兹曼机(RBM)以及循环神经网络(RNN)等能量模型。为用户提供了许多内置层。Shogun是最古老、最受尊敬的机器学习库之一。Shogun创建于1999年,用C++编写,但不限于在C++中使用。得益于SWIG库,Shogun可用于以下编程语言和环境:JavaPythonC#RubyRLuaOctaveMatlabShogun旨在针对广泛的特征类型和学习环境进行统一的大规模学习,例如分类,回归、降维、聚类等。它包含几种独特的最先进的算法,例如丰富而高效的SVM实现、多核学习、核假设检验和Krylov方法等。TensorFlow是一个使用数据流图进行数值计算的开源软件库.TensorFlow使用数据流图进行数值计算,数学计算通过节点和边的有向图来说明。图中的节点代表数学运算,也可以代表数据输入的起点(feedin)/输出的终点(pushout),或者读/写持久变量(persistentvariable)的终点。图中的线表示节点之间互连的多维数据数组。这些数据“线”可以传输大小可以动态调整的多维数据数组,即“张量”。它建立在三个现有的用于数学和科学工作的Python包(NumPy、SciPy和matplotlib)之上,充分利用了Python的广度。生成的库可用于交互式“工作台”应用程序,或嵌入其他软件并重复使用。该套件是在BSD许可下发布的,因此它是完全开源和可重用的。Scikit-learn包括许多用于标准机器学习任务的工具,例如聚类、分类、回归等。由于scikit-learn是由一大批开发人员和机器学习专家开发的,因此有望很快引入新技术。MLlib(Spark)是ApacheSpark的机器学习库。它的目标是使实用的机器学习更具可扩展性和易于使用。它由常见的学习算法和实用程序组成,包括分类、回归、聚类、协同过滤和降维,以及较低级别的优化原语和较高级别的管道API。SparkMLlib被认为是SparkCore之上的分布式机器学习框架,主要是因为其基于分布式内存的Spark架构,几乎是ApacheMahout使用的基于磁盘的实现的九倍。AmazonMachineLearning是一项服务,可让任何技能水平的开发人员轻松掌握机器学习技术。AmazonMachineLearning提供可视化工具和向导来指导您完成创建机器学习(ML)模型的过程,而无需学习复杂的ML算法和技术。它连接到存储在AmazonS3、Redshift或RDS中的数据,并且可以对所述数据运行二进制分类、多类分类或回归以创建模型。ApacheMahout是Apache软件基金会的一个免费开源项目。目标是为协作过滤、聚类和分类等多个领域开发免费的分布式或可扩展的机器学习算法。Mahout为各种数学运算提供Java库和Java集合。ApacheMahout使用MapReduce范例在ApacheHadoop之上实现。如果大数据存储在Hadoop分布式文件系统(HDFS)中,Mahout提供的数据科学工具可以自动在这些大数据集中找到有意义的模式,从而快速轻松地将这些大数据转化为“大信息”。***要说机器学习确实可以借助开源工具解决真正的科技问题。如果机器学习要解决真正的科学和技术问题,社区需要建立在彼此的开源软件工具之上。我们认为,迫切需要用于机器学习的开源软件,它将发挥多种作用,包括:更好的重现结果的机制,通过站在他人(不一定是技术巨头)的肩膀上,为高质量的软件实施提供学术认可,加快研究进程