如果你对人工智能感兴趣,但不知道从哪里入手,那就看看这篇文章。本文列出了12种人工智能工具、库和平台,介绍它们的用途、缺点和优点,还会有一些其他的内容!
随着近年来AI的使用率越来越高,我们需要更加清楚地了解现在有哪些可供选择的人工智能工具、库、平台,以及它们提供了哪些功能,有哪些缺点,哪个最适合你。本文列举出了最受欢迎的前12个AI工具、库和平台,介绍了它们最常见的用途,有哪些优点和缺点,还有一些其它的内容,根据这些信息,将会使你更加轻松地做出上述问题的决策!
1. Azure机器学习
如果你没有高超的编程技能,但很希望能够涉足机器学习领域,那你应该好好研究Azure机器学习。(注意,你应该有一些机器学习和数据科学的基础,这样才能感受到该平台提供的好处)。它是基于云端的服务,提供的工具可用来部署预测模型作为分析解决方案。还可以用来测试机器学习模型,运行算法,并创建推荐系统等等。然而,用户界面是使用者对它的吐槽点,尤其是涉及到代码编写的时候。
2. Caffe(卷积神经网络框架)
Caffe的创建者是贾扬清,它是作为加州大学伯克利分校的Jia’s Ph.D研究的一部分。现在已经发展成为深度学习的一个开源框架了,支持各种类型的软件架构设计会议及图像分割和图像分类。Caffe以其简单易读的源代码和绝佳的质量性能而大受追捧。一些否定者认为由于需要使用Cude/C++编写新的层,而且在为大型网络编写原始文件时很难使用。
3. CNTK
CNTK(计算网络工具包)是一款深度学习的工具包,是由微软开发的“通过有向图将神经网络描述为一系列的计算步骤”。它可以帮助用户把不同类型的神经网络轻松地结合到一起,它有着巨大的性能,还允许分布式训练,灵活度非常高。另一方面,它的源代码没有那么的简单易读,而且缺乏可视化。
4. Deeplearning4j
DeepLearning4J自称是专门适用于JVM的开源、分布式深度学习的库。它特别适于培训分布式深度学习网络,可以非常稳定的处理大量数据。它还可以整合Hadoop和Spark,可以从头开始实现机器学习算法。另一方面,对于机器学习来说,Java并不是非常受欢迎,所以DL4J不能像其它库那样依靠越来越多的代码库,因此开发成本可能会更高。此外,因为它是用Java构建的,所以必须自己手工创建显式类以便将矩阵添加到一起,而如果是用Python的话,那就不需要创建了。
5. IBM Watson
IBM Watson被称为“问答机器”。它使用分析能力和人工智能增强human-like的能力来应对问题。它可以帮助用户拥有强大的商业洞察力,然后在已经很明智的决定上做出更明智的决定。IBM还可以确保用户的数据得到世界级的安全保护和加密功能,而且承诺不会分享数据,除非你自己愿意。另一方面,它的缺点包括只能用英语,不能直接处理结构化数据,转换和集成需要耗费很高的成本。
6. Keras
Keras神经网络是一个用Python编写的开源库。如果你正在寻找哪些库可以允许用户执行快速而且简单的实验,那么Keras应该就是你需要的!它作用于卷积神经网络和/或复发性神经网络,也可以运行在两个CPU和GPU。其优点是易于使用,对于熟悉深入学习的开发者来说非常简单,但它的缺点就是如果想超越表面级别的定制可能会比较困难,其数据处理工具有点负担。不过,总的来说,这是一个正在发展中的API,已经走过了漫长的道路,没有人可以预言它的极限在哪里!
7. Pybrain
PyBrain是一个开源的、模块化的机器学习库。它完全面向框架,PyBrain旨在成为一个使用群众包括既有刚刚开始探索世界的学生,也有专门从事于深入学习和神经网络的计算机科学研究人员的工具。PyBrains库是由算法组成的,这些算法允许开发人员使用强化学习等概念,非监督机器学习和神经网络。
8. Scikit-Learn
Scikit-learn机器学习是一个开源框架,Python有用的数据挖掘、数据分析和数据可视化。它有利于分类、回归、聚类、降维、模型选择、预处理,等等。它是建立在NumPy,SciPy,matplotlib。使用Python,工作速度比R和有伟大的表现。然而,没有分布式版本可用,不适合大数据集。
9. Swift AI
Swift人工智能是Swift用于深度学习和神经网络的库,支持Mac机器(很快也会支持Linux)。这个库是由各种工具组成,允许开发人员创建神经网络,创建深度学习算法和信号处理。在GitHub页面上显示的示例项目表明Swift AI已经迅速被用于创建可以识别人类笔迹模式的软件。
10. Tensorflow
最初是由谷歌的机器智能研究开发部门研究出来的,是用来进行深度学习神经网络和机器学习的研究,TensorFlow现在已经是semi-open-source库了,允许开发人员进行数值计算。AI开发者可以使用TensorFlow库在模式识别方面构建和训练神经网络。它是用Python和C++这两门强大的以及广受欢迎的编程语言编写的,允许分布式训练。它的缺点是不包含许多pre-trained模型,像Caffe一样,也不支持外部数据集。
11. Theano
Theano是一个使用计算机代数系统从而定义、优化、操作和评估数学表达式的Python库。如果你用深度学习处理,那就要处理很多数值的任务。Theano非常适合处理这些任务——特别是矩阵运算,符号变量,函数定义,可以即时编译为CPU或GPU的机器代码。Theano是时间最久的深度学习库之一,这意味着它非常成熟,但也意味着如果你想有一个高水平的抽象,它必须和其他库一起使用。
12. Torch
Torch是一个用于科学计算的开源框架,支持机器学习算法。它得益于脚本语言LuaJIT和底层的C/CUDA实现,LuaJIT允许开发人员用C语言与Torch进行交互。正如在他们的网站上列出的那样,Torch使用者们的突出特性就是“强大的n维数组;线性代数的例程;神经网络、能源模型;快速和高效的GPU的支持。”此外,它还可以移植到iOS和Android的后端。Torch已经指出一些缺点,包括从目录中加载数据是非常困难,过于依赖Lua(相对较新的语言)使不容易被使用。