概念辨别
- 监督学习(Supervised Learning):利用大量的标注数据来训练模型,模型最终学习到输入和输出标签之间的相关性;
- 半监督学习(Semi-supervised Learning):利用少量有标签的数据和大量无标签的数据来训练网络;
- 无监督学习(Unsupervised Learning):不依赖任何标签值,通过对数据内在特征的挖掘,找到样本间的关系,比如聚类;
- 自监督学习(Self-supervised Learning):利用辅助任务(pretask)从大规模的无监督数据中挖掘自身的监督信息,通过这种构造的监督信息对网络进行训练,从而可以学习到对下游任务有价值的表征;
半监督学习
进行半监督学习的原因
很容易找到海量的无类标签的样例,但需要使用特殊设备或经过昂贵且用时非常长的实验过程进行人工标记才能得到有类标签的样本,由此产生了极少量的有类标签的样本和过剩的无类标签的样例。
因此,人们尝试将大量的无类标签的样例加入到有限的有类标签的样本中一起训练来进行学习,期望能对学习性能起到改进的作用,由此产生了半监督学习(Semi-supervised Learning),如如图1所示。半监督学习(Semi-supervised Learning)避免了数据和资源的浪费,同时解决了监督学习(Supervised Learning)的 模型泛化能力不强和无监督学习(Unsupervised learning)的模型不精确等问题。
同时,收集数据很容易,但是收集到有标签的数据代价很昂贵,从人类的学习认知模式进行类比,可能半监督学习(Semi-supervised Learning)是一种更加科学的学习方法。
半监督学习的三个基本假设
(1)平滑假设(Smoothness Assumption):位于稠密数据区域的两个距离很近的样例的类标签相似,也就是说,当两个样例被稠密数据区域中的边连接时,它们在很大的概率下有相同的类标签;相反地,当两个样例被稀疏数据区域分开时,它们的类标签趋于不同。
(2)聚类假设(Cluster Assumption):当两个样例位于同一聚类簇时,它们在很大的概率下有相同的类标签。这个假设的等价定义为低密度分离假设(Low Sensity Separation Assumption),即分类决策边界应该穿过稀疏数据区域,而避免将稠密数据区域的样例分到决策边界两侧。
聚类假设是指样本数据间的距离相互比较近时,则他们拥有相同的类别。根据该假设,分类边界就必须尽可能地通过数据较为稀疏的地方,以能够避免把密集的样本数据点分到分类边界的两侧。在这一假设的前提下,学习算法就可以利用大量未标记的样本数据来分析样本空间中样本数据分布情况,从而指导学习算法对分类边界进行调整,使其尽量通过样本数据布局比较稀疏的区域。例如,Joachims提出的转导支持向量机算法,在训练过程中,算法不断修改分类超平面并交换超平面两侧某些未标记的样本数据的标记,使得分类边界在所有训练数据上最大化间隔,从而能够获得一个通过数据相对稀疏的区域,又尽可能正确划分所有有标记的样本数据的分类超平面。
(3)流形假设(Manifold Assumption):将高维数据嵌入到低维流形中,当两个样例位于低维流形中的一个小局部邻域内时,它们具有相似的类标签。
半监督学习分类
(1)半监督分类 (Semi-Supervised Classification)
在无类标签的样例的帮助下训练有类标 签的样本,获得比只用有类标签的样本训练得到的分类器性能更优的分类器,弥补有类标签的样本不足的缺陷,其中类标签yi取有限离散值yi∈{c1,c2,···,cc},cj∈N。
(2)半监督回归(Semi-Supervised Regression)
在无输出的输入的帮助下训练有输出的输入,获得比只用有输出的输入训练得到的回归器性能更好的回归器,其中输出yi 取连续值 yi∈R。
(3)半监督聚类(Semi-Supervised Clustering)
在有类标签的样本的信息帮助下获得比只用无类标 签的样例得到的结果更好的簇,提高聚类方法的精度。
(4)半监督降维(Semi-Supervised Dimensionality Reduction)
在有类标签的样本的信息帮助下找到高维输入数据的低维结构,同时保持原始高维数据和成对约束(Pair-Wise Constraints)的结构不变,即在高维空间中满足正约束(Must-Link Constraints)的样例在低维空间中相距很近,在高维空间中满足负约束(Cannot-Link Constraints)的样例在低维空间中距离很远。
半监督学习方法
1.简单自训练(simple self-training):用有标签数据训练一个分类器,然后用这个分类器对无标签数据进行分类,这样就会产生伪标签(pseudo label)或软标签(soft label),挑选你认为分类正确的无标签样本(此处应该有一个挑选准则),把选出来的无标签样本用来训练分类器。
2.协同训练(co-training):其实也是 self-training 的一种,但其思想是好的。假设每个数据可以从不同的角度(view)进行分类,不同角度可以训练出不同的分类器,然后用这些从不同角度训练出来的分类器对无标签样本进行分类,再选出认为可信的无标签样本加入训练集中。由于这些分类器从不同角度训练出来的,可以形成一种互补,而提高分类精度;就如同从不同角度可以更好地理解事物一样。
3.半监督字典学习:其实也是 self-training 的一种,先是用有标签数据作为字典,对无标签数据进行分类,挑选出你认为分类正确的无标签样本,加入字典中(此时的字典就变成了半监督字典了)
4.标签传播算法(Label Propagation Algorithm):是一种基于图的半监督算法,通过构造图结构(数据点为顶点,点之间的相似性为边)来寻找训练数据中有标签数据和无标签数据的关系。是的,只是训练数据中,这是一种直推式的半监督算法,即只对训练集中的无标签数据进行分类,这其实感觉很像一个有监督分类算法…,但其实并不是,因为其标签传播的过程,会流经无标签数据,即有些无标签数据的标签的信息,是从另一些无标签数据中流过来的,这就用到了无标签数据之间的联系
5.半监督支持向量机:监督支持向量机是利用了结构风险最小化来分类的,半监督支持向量机还用上了无标签数据的空间分布信息,即决策超平面应该与无标签数据的分布一致(应该经过无标签数据密度低的地方)(这其实是一种假设,不满足的话这种无标签数据的空间分布信息会误导决策超平面,导致性能比只用有标签数据时还差)
半监督学习的训练目标
最初在有监督学习的背景下,所有人考虑的是如何改变网络结构可以使检测结果更加准确,因此产生了一些列的基础网络如:Lenet,Alexnet,vgg,resnet等等。之后考虑到半监督学习的任务目标,需要改变除了网络结构模型之外的数据处理架构(数据增强等任务),构造新的损失函数,网络模型外的整体架构等方面,在保持原有网络模型不变的基础上充分利用label data和unlabel data使最终的性能尽可能贴近有监督学习的性能指标
自监督学习
进行自监督学习的原因
机器学习中基本的学习方法有:监督学习(supervised learning)、半监督学习(semi-supervised learning)和无监督学习(unsupervised learning)。他们最大的区别就是模型在训练时需要人工标注的标签信息,监督学习利用大量的标注数据来训练模型,使模型最终学习到输入和输出标签之间的相关性;半监督学习利用少量有标签的数据和大量无标签的数据来训练网络;而无监督学习不依赖任何标签值,通过对数据内在特征的挖掘,找到样本间的关系,比如聚类。
使用监督学习时我们需要足够的标记数据。为了获得这些信息,需要手工标记数据(图像/文本),这是一个既耗时又昂贵的过程。还有一些领域,比如医疗领域,获取足够的数据本身就是一个挑战。而在使用无监督学习的时候,例如自编码器,仅仅是做了维度的降低而已,并没有包含更多的语义特征,对下游任务并没有很大的帮助。
因此我们想要在不需要手工标记数据的情况下,训练过程还能对任务本身有很大的帮助,可以包含更多的语义特征,自监督学习因此被提出。
自监督学习有效性评估
评测自监督学习的能力,主要是通过 Pretrain-Fintune 的模式。我们首先回顾下监督学习中的 Pretrain - Finetune 流程:我们首先从大量的有标签数据上进行训练,得到预训练的模型,然后对于新的下游任务(Downstream task),我们将学习到的参数进行迁移,在新的有标签任务上进行「微调」,从而得到一个能适应新任务的网络。而自监督的 Pretrain - Finetune 流程:首先从大量的无标签数据中通过 pretrain 来训练网络,得到预训练的模型,然后对于新的下游任务,和监督学习一样,迁移学习到的参数后微调即可。所以自监督学习的能力主要由下游任务的性能来体现。
自监督学习的主要方法
自监督学习的方法主要可以分为 3 类:
- 基于上下文(Context based)
- 基于时序(Temporal Based)
- 基于对比(Contrastive Based)
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
😝有需要的小伙伴,可以Vx扫描下方二维码免费领取==🆓