三者关系:从宏观到微观。
机器学习是人工智能的一部分,深度学习是机器学习的一部分。
基础:大数据。
深度学习基于神经网络,
关于神经网络:通过叠加网络层模拟人类对输入信号的特征提取。
说白了,神经网络就是一个仿生技术,仿的就是人类思考的过程,就好像给你看一堆猫的照片,最后你可以分辨不同猫的种类。把这个过程给机器执行,就叫机器学习。神经网络就如同字面意思一样,人的神经组成的网络,把这个过程交给机器去做而已。(周立波有一个关于专家的调侃:专家就是专门把那些很简单的东西搞到你听不懂)
深度:一方面指神经网络层越来越深,类比到人类就是你想的越来越多.....;另一方面指学习的能力越来越强,这一点用已知推未知解释比较好。你知道的东西越多,接受新的东西就会越快。
亚马逊官方维护的深度学习框架。其前身是cxxnet。15年迁移至MXNet。
然后就是特点,一波商业互吹:
FaceBook官方维护的框架。基于Torch框架研发。
Torch采用Lua语言,为了便于用户使用,开发出Python接口,使用命令式编程。
FaceBook维护的框架。老牌。
Caffe侧重线上产品部署,PyTorch侧重研究试错。
Google维护的框架,使用广泛。拥有可视化工具TensorBord。
生态强大。
语言:大部分深度学习底层框架使用C++实现,效率高。
实际开发往往选用接口语言,比如Python进行快速开发。
MXNet提供多种语言的API(Python,C++,Scala....)
关于NumPy
NumPy是Python用于科学计算的库,支持数组和矩阵运算。
大多数深度学习框架基于NumPy进行设计,因为NumPy不支持GPU运算,只支持CPU。
MXNet中的NDArray就是基于NumPy设计的,最大的不同点就是NDArray支持GPU运算。
原文:https://www.cnblogs.com/noneplus/p/11891116.html