20180712:pyimageresearch的DeepLearning for ComputerVision电子书阅读笔记。
Chapter 1:Introduction介绍
Chapter 2:What is Deep Learning?深度学习是什么?
作者使用的人工智能框架
是Keras和mxnet(ImageNet Bundle only),Keras作为深度学习库,mxnet用于使用python实现多机器并行深度学习算法。同时,教程还会使用OpenCV,scikit-image,scikit-learn等库用于图像处理。
关于TensorFlow和Theano,作者把他们作为整个解决方案的后端计算引擎
。利用他们高性能的计算能力。
深度学习Deep Learning
$\in$机器学习Machine Learning
$\in$人工智能Artificial Intelligence
反向传播算法backpropagation algorithm
被认为是现代神经网络的基础。
现在的深度学习算法会直接使用图像的原始像素数据,这在之前的解决方案中是很少见的。之前的图像分类解决方案中会首先从图像中提取特征或计算出图像的描述子,通常以矩阵作为表现形式。然后通过描述子和特征矩阵来完成分类。特征算法例如:FAST
,SIFT
,SURF
,BRIEF
,ORB
。记得之前看过的RGBD-SLAM中,很多的开源工程使用了特征算法,例如特别出名的ORB2-SLAM。
作者认为,深度学习之所以称为深度学习是因为网络的层数,如果一个神经网络算法只有一层,不能称之为深度学习。而且网络的层数直接受制于标签数据集的大小,计算资源的多少。这些是根据作者之前在ANNs的研究得来的。
结论:
深度学习是为了获取更高层次抽象的概念和判断手段。
一般认为网络层数大于2才可认为是深度学习。
层数超过10层的被认为是超深度网络。
接下来章节开始入手CNN。