一 什么是深度学习
提到人工智能,人们往往会想到深度学习,然而深度学习并不像人工智能那样容易从字面理解。这是因为深度学习是从内部机理来阐述的,而人工智能是从其应用的角度来阐述的,即深度学习是实现人工智能的一种方法。
人工智能领域,起初是进行神经网络的研究。但是神经网络发展到一定阶段后,模型愈来愈庞大,结构也越来越复杂,于是人们将其命名为“深度学习”。可以这样理解——深度学习属于后神经网络时代。
深度学习近年来发展突飞猛进,越来越多的人工智能应用得以实现。其本质为一个模拟人脑进行分析、学习的神经网络,它模仿人脑的机制来来解释数据(如图像、声音和文本),通过组合底层特征,形成更加抽象的高层特征或属性类别,来拟合人们日常生活的各种事情。
深度学习被广泛用于人们生活相关的各种领域,可以实现机器翻译、人脸识别、语音识别、信号恢复、商业推荐、金融分析、医疗辅助和智能交通等。
二 TensorFlow是做什么的
TensorFlow是Google开源的第二代用于数字计算的软件库。起初,它是Google大脑团队为了研究机器学习和深度神经网络而开发的,但后来发现这个系统足够通用,能够支持更加广泛的应用,就将其开源贡献出来。
概括的说,TensorFlow可以理解为一个深度学习框架,里面有完整的数据流向与处理机制,同时还封装了大量高效可用的算法及神经网络搭建方面的函数,可以在此基础上进行深度学习的开发与研究。
TensorFlow是当今深度学习领域最火的框架之一,在Github上,TensorFlow的受欢迎的程度目前排名第一,以3倍左右的数量遥遥领先第二名。

数据取自下面网站
三 TensorFlow的特点
TensorFlow是用C++语言开发,支持C,Java,Python等多种语言的调用,目前主流的方式通常是使用Python语言来驱动应用。这一特点也是其能够广受欢迎的原因。利用C++语言开发可以保证其运行效率,Python作为上层应用语句,可以为研究人员节省大量开发时间。
TensorFlow具有如下特点
1 灵活
TensorFlow属于符号计算框架,允许用户在不需要使用低级语言(如Caffe中)实现的情况下,开发出新的复杂层类型。基于图运算是其基本特点,通过图上的节点变量可以控制训练中各个环节的变量,尤其在需要对底层操作时。TensorFlow要比其他框架更容易。
2 便捷、通用
作为主流的框架,TensorFlow生成的模型,具有便捷、通用的特点,可以满足更多的使用者的需求。TensorFlow可以适用于Mac、Linux、Windows系统上开发。其编译好的模型几乎适用于当前所有的平台系统,满足“开箱即用”模型使用理念,使模型应用起来更简单。
3 成熟
由于TensorFlow被使用情况最多,所以其框架成熟度绝对第一。在Google的白皮书上写道,Google内部大量的产品几乎都用到了TensorFlow,如搜索排序、语音识别、谷歌相册和自然语言处理等。有这么多在该框架上的成功案例,先不说能够提供多少经验技巧,至少可以确保学习者在研究道路上,遇到挫折时不会怀疑是框架问题。
4 超强的运算性能
虽然TensorFlow在大型计算机集群的并行处理中,运算性能略低于CNTK,但是,其在个人机器使用场景下,会根据集群的配置自动选择CPU或GPU来运算,这方面做得更加友好与智能化。
四 其他深度学习框架特点和介绍
Theano:Theano is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently. It can use GPUs and perform efficient symbolic differentiation.
Torch:Torch is a scientific computing framework with wide support for machine learning algorithms that puts GPUs first. It is easy to use and efficient, thanks to an easy and fast scripting language, LuaJIT, and an underlying C/CUDA implementation.
Keras:Deep Learning library for Python. Runs on TensorFlow, Theano, or CNTK.
DeepLearning4j:Deep Learning for Java, Scala & Clojure on Hadoop & Spark With GPUs - From Skymind
Caffe:a fast open framework for deep learning.
MXNet:Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more
CNTK:Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit