tensorflow:google发布开源人工智能技术框架
tensorflow是一个google的开源人工智能工具。它提供了一个使用数据流图进行数值计算的库。它可以运行在多种不同的有着单或多 cpu 和 gpu 的系统,甚至可以在移动设备上运行。它拥有深厚的灵活性、真正的可移植性、自动微分功能,并且支持 python 和 c++。它的网站拥有十分详细的教程列表来帮助开发者和研究人员沉浸于使用或扩展他的功能。
tensorflow是谷歌基于distbelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。tensor(张量)意味着n维数组,flow(流)意味着基于数据流图的计算,tensorflow为张量从流图的一端流动到另一端计算过程。tensorflow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。
tensorflow可被用于语音识别或图像识别等多项机器深度学习领域,对2011年开发的深度学习基础架构distbelief进行了各方面的改进,它可在小到一部智能手机、大到数千台数据中心服务器的各种设备上运行。tensorflow将完全开源,任何人都可以用。
deeplearning4j:为java用户量身定制
deeplearning4j(deep learning for java)是java和scala环境下的一个开源分布式的深度学习项目,由总部位于美国旧金山的商业智能和企业软件公司skymind牵头开发,并得到了腾讯的投资。正如它的命名,deeplearning4j的运行需要java虚拟机jvm的支持。
deeplearning4j团队在官网表示,他们希望通过一些深度学习算法的开发,将商业带入智能化数据的时代。也正是为了实现这一理想,惠及更多的用户,因此选择了移植性更好的java环境来实现这些算法。目前,deeplearning4j的这些算法已经在谷歌、facebook和微软等平台得到了广泛应用。
值得一提的是,为了便于开发者自由定制,deeplearning4j已经开放了尽可能多的算法调节接口,并对接口参数做出了详尽解释。同时,deeplearning4j团队还开发了针对矩阵运算的nd4j和nd4s库(n-dimensional arrays for java/scala),同样需要jvm的支持。
deeplearning4j遵循apache 2.0开源协议,提供了基于aws云服务的gpu运算支持,以及微软服务器框架的支持。
caffe:广受欢迎的深度学习框架
caffe的全称是 “convolution architecture for feature extraction”,意为“用于特征提取的卷积架构”,主要开发者来自伯克利大学的视觉与学习中心(berkeley vision and learning center,bvlc),基于bsd 2-clause开源许可协议发布。
caffe是业内著名的深度学习框架, 根据官网介绍 ,其主要特点是:运算速度快(官方显示在单片nvidia k40 gpu的运算能力下,caffe每天可以处理超过60m的图片数据),模块定制方便(在cpu或gpu之间的转换只需要简单修改一下参数设定),扩展能力强大(目前有超过一千名开发者基于caffe开发了分支版本 ),以及丰富的社区支持(caffe已经被授权给各种研究机构、初创公司和工业集团),因此特别适合于神经网络建模和图像处理任务。
h2o:企业级机器学习框架
h2o(即水的化学式)是一个开源、快速、可扩展的分布式机器学习框架,同时提供了大量的算法实现。它支持深度学习、梯度推进(gradient boosting)、随机森林(random forest)、广义线性模型(即逻辑回归,弹性网络)等各种机器学习算法。
h2o框架的核心代码由java编写,数据和模型通过分布式的key/value存储在各个集群节点的内存中,算法使用map/reduce框架实现,并使用了java中的fork/join机制来实现多线程。
h2o是一个更关注企业用户的人工智能分析工具,它聚焦于为掌握大量数据的企业用户提供快速精准的预测分析模型,从海量数据中提取有助于商业决策的信息。
根据h2o官方的数据,目前已经有超过7万名数据科学家和8万家组织机构成为了h2o平台的忠实拥趸。
mllib:基于spark框架的机器学习算法实现库
mllib是apache开源项目spark针对一些常用的机器学习算法的实现库,同时也包括了相关的测试程序和数据生成器。
按照官网的描述,mllib的主要特点是易用(天生兼容spark框架的api接口和python、java、scala等多种语言)、高性能(依靠spark的数据管理能力,运行迭代和逻辑回归算法时比hadoop框架快100倍)和易于部署(可以直接在现有的hadoop数据集群上运行)。
mllib目前支持分类、回归、推荐、聚类、生存分析等多种机器学习算法。