之前一直对深度学习略有耳闻,但没有研究过相关内容,只知道需要数学基础,公式推导什么的。不过因为当项目有不少地方用到了人脸识别,车牌识别,属于深度学习应用的一个小小的分支,觉得有必要去研究下深度学习是什么,如何应用到我们的项目中来。
9月份的工作之余都会画时间看看深度学习相关资料,至此已经接近一个月的时间了,不管如何对当月的学习状况做一次总结,明白自己已经学到了什么,对哪些地方还有疑问。
介绍
深度学习属于人工智能的范畴。
人工智能(Artificial Intelligence)是一个最广泛的概念,人工智能的目的就是让计算机这台机器能够象人一样思考,而机器学习(Machine Learning)是人工智能的分支,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,使之不断改善自身的性能。
深度学习也称为深度结构化学习或者分层学习,是基于学习数据表示的更广泛的机器学习方法系列中的一种,深度学习是一类机器学习算法,而不是特定的某个算法。
从实际问题和自然语言的现有挑战出发,设计针对问题最适合合理有效的模型
从不指望一个算法和问题可以解决所有问题,所有遇到的问题会做出合理的分析和拆解,针对各个难点设计最优解决算法,各个击破。
伴随数据、算力、算法的不断发展,近些年深度学习得到了快速的发展。
- CNN:卷积神经网,用于解决图片数据与语音数据
- RNN:语音数据,文本数据
- 自动编码集等。
基础
想要学习深度学习时,做什么准备?要预备哪些东西?常听到的各种概念,神经元,感知器,前向运算,反向运算,神经网络是什么东西?什么是训练,怎么训练等等。
先看一下深度学习的整体框架包含哪些内容,这些是必须要清楚和了解的。
深度学习结构图:https://github.com/dformoso/deeplearning-mindmap
动手实战
环境
- Linux + Windows
- Anaconda
- TensorFlow 1.14
- keras 2.23
实战代码
地址:https://www.jianshu.com/p/dc5d2156b435
深度学习应用
目标检测算法
R-CNN -> Fast R-CNN -> Faster R-CNN
YOLO
SSD
人脸算法
MTCNN - 人脸检测
FaceNet - 人脸识别
SphereFace - 人脸识别
展望
学习常见CNN网络的原理,看对应的论文
主流应用算法论文
深度学习算法调优