除了TensorFlow,在AI领域仍然有很多非常优秀的技术
我们知道主流的人工智能引擎来自于Google的Tensor Flow,TF内建深度学习的扩展支持,能与docker、kubernetes等开源框架相融合,是目前运用最广泛的人工智能框架。TensorFlow是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。它灵活的架构让你可以在多种平台上展开计算,它灵活的架构让你可以在多种平台上展开计算。而且TF支持CNN、RNN和LSTM模型,它的适用于图像、音频、NLP等非常丰富的应用场景,正是由于它的适用性强才被人们所关注。
但是在数据挖掘和分析领域,很多场景往往是解决一小部分的业务问题,比如:咱们今日头条用户的行为分析、广告内容精准推荐等等,这些业务原来在非AI时代就已经开展,运用AI科学的目的是做的更精、更准,这样的业务问题可能并不需要一个非常强大的AI引擎仍然可以办到(但仍然数据AI研究范畴)。
所以在AI领域仍然有很多技术值得我们关注,本文粗略的罗列了几个关键技术与大家分享。分别是:Apache开源组织的Spark Mllib、Mahout、SINGA,Facebook的Caffe2go,微软的CNTK以及JAVA的DL4J,详细的介绍就不讲了,具体可以参考图中示意。
主流AI引擎的技术对比和适用场景
作为横坐标:我们从统计学习/数据挖掘,文本识别,语音识别,图像识别,自然语言处理等几个维度圈定这几项技术的适用场景;
作为纵坐标:我们用探索期、提高期、成熟期三个档位的技术成熟度进行阶段划分。
然后根据不同颜色,结合每项技术的适用场景和成熟度把它们归拢到相应的区域。比如在统计学习/数据挖掘领域,Mahout作为开源Hadoop的生态组件,在2006年Hadoop1.0时代就已经存在,虽然Mahout是用MapReduce的数据挖掘算法,解决并行挖掘的问题可能存在效率低的问题,但毕竟它至今发展10多年了,因此非常成熟。再比如Spark框架下的Mllib库,由于隶属于目前非常活跃的Spark生态圈,所以即便它出现晚但仍然可以归拢到成熟期,因为在Spark框架下,Mllib的能力可以与该生态圈下的任意组件结合使用(比如与GraphX图分析结合),甚至拥有比Hadoop更加成熟的受众群。
诸如此类,我们将其他技术也用此方法进行一个粗略的归拢,目的在于告诉您:在AI领域并非只有Tensor Flow,一定要结合业务场景开展AI引擎的技术研究。
领取专属 10元无门槛券
私享最新 技术干货