李哥深度学习班——深度学习与特征
机器学习的这个“学习”到底指的是什么?
难道所有的模型都是在调参吗,通过算loss做梯度下降?那这样深度学习的特殊性就只在于它用的是神经网络模型?机器学习和深度学习的区别就是换个模型就行了吗?
D指导的回答:
机器学习和深度学习
首先明确一个基本关系:深度学习是机器学习的一个子集。
-
机器学习 是一个广阔的领域,目标是让计算机从数据中学习,而无需进行明确的编程。
-
深度学习 是一种特定的机器学习方法,它使用深度神经网络作为模型。
主要区别:特征工程与模型结构
它们最根本的区别在于对特征的处理方式和模型的复杂度/结构。

一个简单类比:
-
传统机器学习:像是一个需要你提供加工好食材的厨师。你(数据科学家)必须把原始数据“洗、切、配”成可以直接下锅的特征。
-
深度学习:像是一个能从原始食材开始工作的全能厨师。你给它整只鸡和一堆蔬菜,它自己会决定怎么处理,最后做出一道菜。
这些模型也都是通过梯度下降学习优化的吗?
不完全是。梯度下降是一种非常重要的优化范式,但并非唯一。 不同模型有完全不同的学习和优化原理。
1. 使用梯度下降(或其变种)的模型:
-
逻辑回归 / 线性回归:可以使用梯度下降来最小化损失函数(如交叉熵、均方误差)。
-
神经网络 / 深度学习:绝对的核心,依赖反向传播算法计算梯度,然后用梯度下降(SGD, Adam等)更新权重。
-
XGBoost / LightGBM:也使用梯度下降的思想! 它们是在函数空间(而不是参数空间)进行梯度下降。具体来说,它们使用梯度提升,每一棵新树的拟合目标是当前模型预测的负梯度(即残差)。
2. 使用其他优化方法的模型:
-
支持向量机:其训练通常转化为一个凸二次规划问题,使用专门的算法(如SMO算法)求解,而不是标准的梯度下降。
-
决策树:通过贪婪算法,在训练时递归地选择最优的特征和分割点(基于信息增益、基尼不纯度等指标)来构建树,不涉及梯度。
-
K-Means:使用期望最大化算法,交替进行“分配点”和“更新中心点”两步直到收敛。
-
K-最近邻:没有显式的训练/优化过程,是一种“惰性学习”方法。所有计算发生在预测时。
-
随机森林:通过自助采样法随机生成多个训练子集,独立训练多棵树,最后集成。每棵树的训练方法同上。
-
主成分分析:通过特征值分解或奇异值分解这种解析方法直接求解,得到主成分方向。
什么是学习?和参数优化有什么关系?大家都有损失函数吗?
-
广义的“学习”:指模型从数据中获取并存储知识,从而提升其在特定任务上表现的过程。
-
主流的实现路径:对于参数化模型(如神经网络、回归模型),这条路径被成功地形式化为 “最小化一个定义明确的损失函数”,并通过优化算法(如梯度下降) 来更新参数。这是当今机器学习,特别是深度学习的绝对主流范式。
-
多元的实现方法:还存在其他“学习”范式,如基于规则构建(决策树)、基于记忆存储(KNN)、基于解析求解(PCA)、基于进化搜索等。它们不遵循“损失函数+梯度下降”的套路,但同样完成了“从数据中学习规律”的使命。
一个生动的比喻:
-
基于损失函数的学习:像一个学生在做有标准答案的习题册。每做一题(看一个样本),他就知道自己错在哪(计算损失),并按照一套系统的方法(梯度方向)纠正自己的解题思路(调整参数)。
-
其他方式的学习:
-
决策树:像一个人在制定一套高效的排查流程图(比如电脑故障诊断),“学习”就是设计出最精简、最有效的提问顺序。
-
KNN:像一位老中医,他的“学习”就是记住所有看过的病例(数据)。当新病人来时,他回忆最相似的几个病例来做诊断。
-
因此,“学习”是目的,是结果;而“参数优化”和“减少损失”是实现这个目的的最流行、最强大的方法,但不是唯一的方法。 理解这一点,能帮助你更全面地看待机器学习这个丰富的领域。
在以上这些知识的基础上才好理解“特征”这个东西。
特征
特征是数据的可度量属性或特性,在机器学习中是模型的输入。但是在深度学习中它不是输入,而是神经网络在训练过程中自动学到的、对输入数据的一种内部编码。
前面提到了机器学习需要把特征作为模型的输入用来让模型学习,这个地方的模型需要人类手动设计,通过相关领域的知识归纳出“有什么重要的特征”并且“把这些特征转化成机器能理解的形式”。
深度学习最本质的贡献,是将机器学习中的“特征工程”这一高度依赖人类专家和先验知识的环节,自动化、层次化、数据驱动化了。也就是说可以专门设计一个提取特征的网络,让网络自己学习怎么样提取好的特征,这样就没那么依赖人类专家的知识了。

对于有监督学习,给模型提供原始数据和标签

这也就是迁移学习的意义了,如果有一个表现得很好的模型,那么它的特征提取能力一定非常强。此时稍微变动一下模型的目标就不需要从头重新训练一个模型出来了,只要把原本的好模型的特征提取部分择出来自己用,最后改动一下分类部分的结构就好了。
这就涉及到“上游任务”和“下游任务”的概念了。
“上游任务”和“下游任务”
详细定义
1. 上游任务
-
是什么? 在一个大规模、通用数据集上进行的初始训练任务。其目标通常不是直接解决某个具体的应用问题,而是让模型学习到关于数据(如语言、图像、声音)的通用、基础的知识和特征表示能力。
-
特点:
-
数据规模巨大:通常使用海量、易于获取但标注成本可能较低(或无标注)的数据。
-
任务设计通用:任务本身是为了迫使模型理解数据的内在结构和规律。例如:
-
自然语言处理:掩码语言建模(让模型预测被遮盖的词)、下一句预测。
-
计算机视觉:对比学习(让模型判断两个图像是否相似)、图像补全。
-
-
计算成本高昂:训练一次需要巨大的算力和时间,通常由大公司或研究机构完成。
-
-
目的:训练出一个强大的 “基础模型” 或 “预训练模型”。这个模型已经是一个优秀的 “通用特征提取器”。
2. 下游任务
-
是什么? 我们真正关心的、具体的应用任务。我们利用在上游任务中训练好的基础模型,在其基础上进行微调或直接应用,以解决特定领域的问题。
-
特点:
-
数据规模较小:通常针对特定领域,数据量有限,但标注精准、价值高(如医疗影像、金融风控数据)。
-
任务非常具体:例如:垃圾邮件分类、自动驾驶中的行人检测、智能客服的情感分析、财报信息抽取。
-
计算成本相对较低:我们不需要从头训练模型,而是在预训练模型的基础上进行“微调”,或者仅仅将其作为特征提取器。
-
-
目的:高效、高质地解决实际问题。
那么如果我们需要一个具有强大的特征提取能力的模型,怎么样训练会比较好呢?这个世界上大部分的数据都是没有标签的,什么人会拍张照片还要顺手归类一下“这是狗”,“这是猫”呢?
所以无监督学习的重要性就不言而喻了。
无监督深度学习 是指利用深度神经网络模型,从没有人工标注标签的数据中,自动学习数据的内在结构、模式或表示的机器学习范式。
-
无监督: 数据没有“正确答案”(标签)。例如,给你一百万张图片,但不告诉你里面是猫、狗、汽车或任何其他信息。
-
深度学习: 使用包含多个隐藏层的神经网络(如卷积神经网络CNN、循环神经网络RNN、Transformer等)作为模型架构,能够学习数据的层次化抽象特征。
核心思想: 让模型自己发现数据中的“有趣”规律,而不是被告诉要预测什么。
无监督学习的精髓,就是通过巧妙设计的“代理任务”,让模型在看似“没有明确目标”的数据中,自我驱动地学习到对世界本质的、可迁移的表示,从而打造出强大的上游特征提取器。

Encoder,编码器:上游;
Decoder,解码器:下游

“代理任务”
方法一:生成式方法 —— “学会重构,即学会理解”
哲学:如果你能完整地重建一个东西,那么你一定理解了它的组成部分和结构。自编码器系列:
-

-
基本任务:把输入数据(如图片)压缩成一个低维的“编码”,再从这个编码中尽可能精确地重建回原始数据。
-
学到了什么:为了完美重建,编码器必须学会提取数据中最关键、最具代表性的信息(特征),丢弃噪声。这个“编码”就是学习到的特征表示。
-
变种:
-
去噪自编码器:输入是加了噪声的数据,要求重建出干净数据。这迫使模型学习到更鲁棒、能抵抗干扰的特征。
-
变分自编码器:不仅学习特征,还要求特征符合一个简单的概率分布(如高斯分布)。这使得特征空间变得连续、规则,我们可以通过在这个空间里采样来生成全新的、合理的数据。
-
-
-
自回归生成(如GPT系列):
-
基本任务:给定一串序列(如文本的前几个词),预测下一个词是什么。
-
学到了什么:为了准确预测下一个词,模型必须深刻理解语言的语法、句法、语义甚至常识。它内部形成的、用于完成预测的“状态表示”,就是极其丰富的语言特征。GPT的上游任务就是纯粹的无监督自回归语言建模。
-
-
掩码重建(如BERT):
-
基本任务:随机遮盖输入序列中的一些部分(如文本中的一些词,图像中的一些像素块),让模型预测被遮盖的部分。
-
学到了什么:模型必须根据上下文(未被遮盖的部分)来推理缺失的信息。这强迫模型建立数据各部分之间的双向关联,学习到深层次的上下文特征。BERT的上游任务(掩码语言模型)就是典型。
-

生成式方法的本质:通过“创造”来学习。模型在尝试充当一个“小上帝”的过程中,被迫理解了世界的构成规则。
方法二:对比式方法 —— “在区别中认识世界”
哲学:认识一个事物,不仅要知道它是什么,还要知道它不是什么。通过比较来定义。
-
对比学习:
-
基本任务:构造“正样本对”和“负样本对”。
-
正样本对:同一个数据的不同视图(例如,同一张图片经过裁剪、调色等不同数据增强得到的两张图)。
-
负样本对:来自不同源数据的视图。
让模型学习一个特征提取器,使得正样本对的特征在表示空间中非常接近,而负样本对的特征尽可能远离。
-
-
经典算法:SimCLR, MoCo。
-
学到了什么:模型学会了忽略无关的、表面的变化(如颜色偏移、拍摄角度),而抓住语义上一致的核心特征(如物体的身份、场景的类别)。这正是优秀特征提取器的核心能力——不变性提取。
-
-
聚类引导的对比学习:
-
基本任务:将对比学习与在线聚类结合。不仅拉近正样本对,还拉近那些被模型动态判断为很可能属于同一类别的样本。
-
经典算法:SwAV。
-
学到了什么:在无监督的情况下,同步进行特征学习和语义聚类,让学到的特征空间具有更好的结构性。
-
对比式方法的本质:通过“辨别”来学习。模型在玩一个“找相同”和“找不同”的游戏,从而学会什么特征是本质的,什么是偶然的。
方法三:基于不变性的方法 —— “万变不离其宗”
哲学:即使数据的外观发生各种变化,其内在身份或内容保持不变。特征提取器应该捕捉这个不变的核心。
-
时序一致性:
-
基本任务:应用于视频数据。相邻视频帧中的主体(如一个人、一辆车)在极短时间内发生巨大变化的概率很低。因此,可以强制要求模型提取的特征在相邻帧之间保持稳定。
-
学到了什么:对运动模糊、视角微小变化等不敏感的特征,更关注物体本身的身份。
-
-
多模态对比学习:
-
基本任务:利用同一事物的不同模态数据(如图像和对应的文本描述)作为天然的“正样本对”。
-
经典应用:CLIP。它使用海量的“图片-文本对”进行对比学习。
-
学到了什么:学习到一个共享的、对齐的特征空间。在这个空间里,“狗”的图片和“一只狗在草地上”的文字描述,其特征向量是相近的。这产生了惊人的零样本能力——CLIP的特征提取器对视觉概念的通用理解极其强大。
-

更多推荐
所有评论(0)