一、深度学习基本概念
1. 认识机器学习
- 人工智能:是一个专业领域。
- 机器学习:是人工智能的一个分支。
- 深度学习:是机器学习的一个分支,差异是深度学习引入了人工神经网络。
- LM大模型:是深度学习的一个分支,分为:LLM大语言模型(支持文本),LMM多模态大模型(支持文本、图片、视频)。
所谓模型,就是一个包含了大量未知参数的函数,所谓训练,就是通过大量的数据去迭代逼近这些未知参数的最优解。
机器学习中的典型任务类型:分为分类任务(Classification)和回归任务(Regression)
分类任务:是对离散值进行预测,根据每个样本的值/特征预测该样本属于类型A、类型B还是类型C,例如情感分类、内容审核,相当于学习了一个分类边界(决策边界),用分类边界把不同类别的数据区分开来。
回归任务:是对连续值进行预测,根据每个样本的值/特征预测该样本的具体数值,例如房价预测,股票预测等,相当于学习到了这一组数据背后的分布,能够根据数据的输入预测该数据的取值。
实际上,分类与回归的根本区别在于输出空间是否为一个度量空间。
对于分类问题,目的是寻找決策边界,其输出空间B不是度量空间,即“定性”。也就是说,在分类问题中,只有分类“正确”与“错误”之分,至于分类到了类别A还是类别B,没有分别,都是错误数量+1。
对于回归问题,目的是寻找最优拟合,其输出空间B是一个度量空间,即“定量”,通过度量空间衡量预测值与真实值之间的〝误差大小”。当真实值为10,预测值为5时,误差为5,预测值为8时,误差为2。
【总结】:
分类问题:定性,判断对与错。
回归问题:定量,判断与正确答案差多少。
2.机器学习分类:
有监督学习:监督学习利用大量的标注数据来训练模型,对模型的预测值和数据的真实标签计算损失,然后将误差进行反向传播(计算梯度、更新参数),通过不断的学习,最终可以获得识别新样本的能力。(这里也可以调用外部大模型的接口,来进行预标注数据,可以大大减少人工标注的成本)
每条数据都有正确答案(需要人工标注),通过模型预测结果与正确答案的误差不断优化模型参数。
无监督学习:无监督学习不依赖任何标签值,通过对数据内在特征的挖掘,找到样本间的关系,比如聚类相关的任务。有监督和无监督最主要的区别在于模型在训练时是否需要人工标注的标签信息。
只有数据没有答案(不需要人工标注),常见的是聚类算法,通过衡量样本之间的距离来划分类别。
半监督学习:利用有标签数据和无标签数据来训练模型。一般假设无标签数据远多于有标签数据。例如使用有标签数据训练模型,然后对无标签数据进行分类,再使用正确分类的无标签数据训练模型;
利用大量的无标注数据和少量有标注数据进行模型训练
自监督学习:机器学习的标注数据源于数据本身,而不是由人工标注。目前主流大模型的预训练过程都是采用自监督学习,将数据构建成完型填空形式,让模型预测对应内容,实现自监督学习。
通过对数据进行处理,让数据的一部分成为标签,由此构成大规模数据进行模型训练
远程监督学习:主要用于关系抽取任务,采用bootstrap的思想通过已知三元组在文本中寻找共现句,自动构成有标签数据,进行有监督学习。
基于现有的三元组收集训练数据,进行有监督学习
强化学习:强化学习是智能体根据已有的经验,采取系统或随机的方式,去尝试各种可能答案的方式进行学习,并且智能体会通过环境反馈的奖赏来决定下一步的行为,并为了获得更好的奖赏来进一步强化学习。
以获取更高的环境奖励为目标优化模型
企业现状说明:
- 中小型公司的技术壁垒是数据不是技术,一般不会直接调用外部大模型接口进行训练和标注数据,这样会有公司数据泄漏的风险。
- 很多中小型公司招大模型的人,而不是直接去调用大厂的接口,原因就是担心数据会泄漏。 都是自己私有化部署模型自己进行模型的参数微调和训练以满足自己的业务需求。
- 非公司机密数据是可以直接使用外部大模型的接口,来进行预标注数据,可以大大减少人工标注的成本;企业核心数据/非开放的数据可以采用私有化部署模型进行训练和标注,以防止数据泄露。
二、模型训练基本概念
1.基础名词解释
样本:一条数据;
特征:被观测对象的可测量特性,例如:如何评估一个西瓜是否是好西瓜?可以从西瓜的颜色、瓜蒂、纹路、敲击声等;
特征向量:用一个 d维向量表征一个样本的所有或部分特征;
标签(label)/真实值:样本特征对应的真实类型或者真实取值,即正确答案;
数据集(dataset):多条样本组成的集合;
训练集(train):用于训练模型的数据集合
评估集(eval):用于在训练过程中周期性评估模型效果的数据集合;
测试集(test):用于在训练完成后评估最终模型效果的数据集合;
模型:可以以数据中学习到的,可以实现特定功能/映射的函数;
误差/损失:样本真实值与预测值之问的误差;
预测值:样本输入模型后输出的结果;
模型训练:使用训练数据集对模型参数进行迭代更新的过程;
模型收敛:任意输入样本对应的预测结果与真实标签之间的误差稳定;
模型评估:使用测试数据和评估指标对训练完成的模型的效果进行评估的过程
模型推理/预测:使用训练好的模型对数据进行预测的过程;
模型部署:使用服务加载训练好的模型,对外提供推理服务;
2.机器学习任务流程
3.模型训练基本流程
假设我们现在要训练一个模型,这个模型要用来判断一个西瓜是好西瓜,还是坏西瓜?如果是好西瓜就输出1,如果是坏西瓜就输出0,这是典型的分类问题。
4.模型训练详细流程
Step:一次梯度更新的过程;
Epoch:模型完成一次完整训练集的训练;