如今,各种机器学习工具活跃在开源社区中,这些工具有助于减轻配置和测试AI相关工作的负担。然而,如何评估和选择合适的工具成为了开发者必须认真考虑的问题。有些人可能希望在训练新的AI算法时关注易用性,而另一些人可能会优先考虑参数优化和生产部署。不同的框架在不同的领域有不同的优缺点,这让开发者很难选择。当今一些更流行的机器学习框架是TensorFlow、MXNet、Scikit-learn、Keras和PyTorch,数据科学家经常使用它们来训练各种用例的算法,例如预测、图像识别和推荐。因为数据科学家通常更喜欢可以轻松构建算法的机器学习框架,但这只是整个人工智能开发过程的一小部分,公司通常会花更多的时间在一些辅助任务上,比如准备数据、将算法转移到生产环境,配置机器学习参数,解决研究环境和生产环境模型之间的差异。选择机器学习框架前要考虑的三个问题!ForresterResearch人工智能副总裁兼高级分析师MikeGualtieri表示,开发人员在选择机器学习框架时需要考虑以下三个问题:该框架是用于深度学习还是经典机器学习?开发AI模型时最好的编程语言是什么?哪些硬件、软件和云服务用于扩展开发过程?深度学习还是经典机器学习?深度学习是机器学习的一个分支,在算法层面,经典的机器学习算法未必无法实现深度学习的功能。很多机器学习算法都可以在应用程序中完美的完成各种深度学习任务,虽然有些框架在某种程度上在互联网上都支持这两种算法,但是机器学习框架往往性能更好。从区别来看,深度学习框架更侧重于神经网络方向,尤其以TensorFlow最为著名。其他在深度学习中表现出色的机器学习框架包括MXNet和Caffe。这些框架支持编写图像标签和用于自然语言处理和其他应用程序的高级算法。深度学习和机器学习框架之间最大的区别在于它们处理的数据结构。可以训练深度学习框架来处理结构化数据,但机器学习框架不适用于非结构化数据。在选择框架之前,您必须了解您企业中的数据类型以及您要构建的应用程序类型。经典的机器学习算法适用于各种优化和统计分析,最流行的机器学习框架是Scikit-learn。Scikit-learn适合用Python编写,但ComprehensiveRArchiveNetwork(也称为CRAN)可能更适合用R编写应用程序。其他流行的软件包包括ApacheSparkMLlib和H2O.ai等H2O.ai有一套开源的机器学习算法,效果很好。开发AI模型的最佳编程语言是什么?在编程语言方面,Python和R是机器学习开发人员的热门选择。当然你也可以使用C、Java、Scala等其他语言。Gualtieri表示,如今大多数机器学习应用程序都是用Python编写的,因为R语言是由统计学家设计的,并不是最优雅的编程语言。相比之下,Python是一种更现代的编程语言,Caffe和TensorFlow也是Pythoncoder开发机器学习模型的主流选择。测试环境和实际生产环境的区别。在开发的早期阶段,数据科学家可能会为不同的数据集选择模型或算法。但是,如果您决定在生产环境中的所有数据集上运行相同的模型,那么您可以看看一些支持分布式架构的框架,例如ApacheSpark的MLlib或H20,因为可伸缩性是一个真实且重要的问题。深度学习中类似的场景还有很多。例如,AI开发人员想要标记图像。他们可以下载TensorFlow并在桌面上运行它来训练算法和试验不同的模型。一旦他们拼凑出一个工作模型,往往会迫不及待的想把它扔到整个生产环境中,但是这个模型不一定适合整个生产和开发环境,因为测试环境和它有很大的不同,而且硬件还需要考虑条件和云服务支持。在人工智能算法的训练阶段,可扩展性是指可以分析的数据量和数据分析的速度,采用分布式算法和分布式处理可以显着提高性能。在实际部署阶段,可扩展性更多地与同时可以攻击模型的并发用户或应用程序的数量有关。很多AI项目之所以出现问题,是因为训练环境和生产环境差别很大,但数据科学家只使用一套工具。参数优化选择机器学习框架的另一个关键因素是参数优化,每种算法都采用不同的方法来分析训练数据并将所学知识应用于新示例。每个参数都可以用不同的旋钮和刻度盘组合来调整,通过调整不同变量的权重和异常值来命名一些可能的组合。在选择机器学习框架时,重要的是要考虑你是希望这些参数自动调整还是手动调整,你需要调整的旋钮和转盘越多,就越难找到合适的组合。机器学习框架是否是解决特定问题的最佳选择,是企业最后应该考虑的问题。我们可以将机器学习开发工具分为三类:基于笔记本的、多模态的和自动化的。基于笔记本-使用基于Python的Jupyter等工具对机器学习模型定制的所有方面进行复杂控制。机器学习框架使用这个概念来减少定制的繁重工作。多模式本质上是一种低质量的代码编写方式,它将数据科学与SalesforceEinstein等专用工具相结合,使开发人员能够将核心AI模型扩展到特定用例。Automated使用工具为给定的输入数据集自动尝试所有可能的算法,直到确定特定用例的最佳候选者。这些工具包括GoogleAutoML、DataRobot和H20.ai等产品。自动化确实很有吸引力,因为数据科学家的技术水平可能不是很高,尤其是现在这个人才整体稀缺的社会,在自动化工具的支持下,统计人员有时可以完成一些数据的工作科学家们,当然,不要指望这些自动化工具能够完全取代人类的劳动。开源机器学习框架提供丰富的社区支持Teradata营销副总裁ChadMeley表示,尽管供应商正在努力开发机器学习工具和框架,但开源框架将继续主导该领域,因为它们汇集了来自世界各地。领域专家的智慧。许多比较大的云提供商也在积极提供自己的框架,比如谷歌、亚马逊等。根据企业IT战略,CIO们可能更愿意与特定的云提供商保持一致,或者强调跨云和本地部署的可移植性。目前,谷歌支持的TensorFlow框架拥有最大的市场份额,其次是Caffe、Keras、MXNet、CNTK和PyTorch。另外,Spark提供的MLlib也是一个不错的选择,它还提供了SQL、图处理、流处理等功能。Spark本身简单易用,用户基数大,保证了技术的稳步提升,而且它的生命力非常顽强,可以保证它在未来很长一段时间内生存。
