深度学习(deep learning)
概念
:简单来说,深度学习就是机器学习的一个子领域。是机器学习中的一个特定的分支,它主要使用一种叫做神经网络的复杂结构。
机器学习与深度学习的区别:
特性 | 机器学习(ML) | 深度学习(DL) |
---|---|---|
关系 | 一个广阔的领域,包含很多不同的方法 | 机器学习的一个子集 |
数据依赖 | 性能随数据增加而提升 | 需要大量数据,性能通常会随着数据量增加而 持续上升 |
硬件依赖 | 可以在普通CPU上运行 | 高度依赖高性能硬件GPU |
特征工程 | 极度重要且依赖专家,需要人工从原始数据中提取特征、选择和构建特征 | 自动化。神经网络能够自动从原始数据中发现和学习相关特征 |
问题的解决 | 通常将大问题分解为小问题,逐个解决后合并 | 端到端学习。直接将原始数据输入,模型自己输入并输出最终结果 |
训练时间 | 短,通常是几分钟到几小时 | 非常长,因为参数众多,结构复杂,通常需要几天甚至几周的时间 |
应用案例 | - 垃圾邮件过滤 - 房价预测(线性回归) - 客户分群(K-Means聚类) -推荐系统(协同过滤) |
- 图像识别(分类、目标检测、语义分割、实例分割) - 自然语言处理(NLP)(机器翻译、ChatGPT等ai对话模型) - 语言识别(Siri、小爱同学等) - 自动驾驶 |
卷积神经网络(Convolutional Neural Network, CNN)
概念
:它是一种专门针对有网格结构的数据进行处理的深度学习模型,这类数据包含图像、视频以及音频等,它在计算机视觉领域收获了极大成功,被广泛运用于图像分类、目标检测以及图像分割等任务之中。
卷积神经网络(CNN)的组成:
卷积层
卷积层是卷积神经网络的关键组成部分,其作用是从输入数据里提取特征,它的运行涉及了卷积操作、填充以及步幅等环节。
简单概括
:卷积核是一个小的、带权重的矩阵(或网格),是卷积神经网络(CNN)中用于提取特征的核心工具。你可以把它想象成一个手电筒或一个过滤器,用它来扫描整个图像,从而照亮(或发现)图像中的某些特定模式。
卷积操作过程:
填充操作(最常见的填充为0填充)主要是两个作用:
- 控制输出尺寸:防止图像在经过多次卷积后变得太小。
- 保护边缘信息:让边缘的像素也能更多地参与到卷积计算中。
池化层(Pooling Layer)
池化层的作用就是降低图像维度,保留关键特征,以提高模型的计算效率。
池化层的计算可以分为两种:最大池化(取最大值)和平均池化(取平均值)。
激活函数层
激活函数的作用在于引入非线性特征,让神经网络有能力去学习以及表达复杂的特征。
常见的激活函数:
- Sigmoid函数,是一种s型曲线函数,输入范围是(负无穷,正无穷),输出范围是(0,1)。
- Tanh函数,与Sigmoid函数类似,也是s型曲线函数,输入范围是(负无穷,正无穷),输出范围是(-1,1)。
- ReLU函数,当输入x大于0时会输出x,输入小于等于0时会输出0。
评估标准
在利用卷积神经网络即CNN开展目标识别任务之时,评估模型的性能属于衡量其有效性以及实用性的关键要点,对于识别模型的评估一般覆盖准确性、速度、计算复杂度、模型的鲁棒性以及泛化能力等多个层面。
常见的模型评估方式:
- 混淆矩阵:可直观地将模型的分类结果呈现出来,其以矩阵的形式,把模型预测的类别同真实的类别之间的匹配状况给予呈现。
- F1-置信度曲线:呈现的是模型的置信度与F1-score之间的关联。
- 精确率-召回率曲线(P-R曲线):呈现模型与召回率之间的关系。
数据集
数据集(Dataset)就是用来教育
和考核
人工智能模型的大量数据的集合。它就像是给学生(模型)用的教科书、习题集和期末考试卷。
- 教科书(训练集):你给他看很多带有标签的猫和狗的图片(“这是猫”、“这是狗”)。他通过反复学习这些图片,自己总结出猫的特征(比如尖耳朵、竖瞳)和狗的特征(比如长舌头、耷拉耳朵)。
- 模拟考(验证集):学完一章后,你拿一些他没见过的新图片(但你自己知道答案)来考他,看看他学得怎么样。根据他的考试成绩,你可能会调整他的学习方法(比如多看看容易混淆的品种)。
- 期末考试(测试集):整个课程结束后,你进行一次最终、完全陌生的考试。这次成绩才能真正代表他学到了多少知识,能否毕业。
YOLOv5数据集展示: