OpenCV-Python实战(18)——深度学习简介与入门示例
0. 前言
深度学习已经成为机器学习中最受欢迎和发展最快的领域。自 2012 年深度学习性能超越机器学习等传统方法以来,深度学习架构开始快速应用于包括计算机视觉在内的众多领域。深度学习的常见应用包括语音识别、图像识别、自然语言处理、推荐系统等等。大多数现代深度学习架构都基于人工神经网络,深度学习中的“深”是指架构的层数。在本文中,首先介绍传统机器学习方法与深度学习间的差异,然后将介绍图像分类和对象检测中常见的深度学习架构,最后,将介绍深度学习 Python
库 Keras
,并通过实战来推开深度学习的大门。
1. 计算机视觉中的深度学习简介
深度学习推动了计算机视觉领域的深刻变革,我们首先解释深度学习中的关键概念,以便更好的了解深度学习的广袤世界。
1.1 深度学习的特点
深度学习在许多计算机视觉任务中的性能超越了传统的机器学习方法,但在选择何种方法完成特定的计算任务时,应该明确深度学习与传统的机器学习方法之间的区别,以选择合适的方法:
- 传统的机器学习算法大多可以在低端机器上运行,而深度学习算法需要较高的算力才能正确训练,通常这些计算可以使用
GPU
进行优化并行计算 - 当对特征工程缺乏领域理解时,深度学习技术将是首选方法,这是由于在深度学习中,寻找相关特征的任务是算法的一部分,它通过减少问题的特征工程来实现自动化。特征工程是将领域知识应用于创建特征检测器和提取器的过程,目的是降低数据的复杂性,使传统的机器学习方法能够正确学习。因此,传统机器学习算法的性能取决于识别和提取特征的准确程度,而深度学习技