一文快速预览经典深度学习模型(二)——迁移学习、半监督学习、图神经网络(GNN)、联邦学习
Hi,大家好,我是半亩花海。本文主要简要并通俗地介绍了几种经典的深度学习模型,如迁移学习(Transfer Learning, TL)、半监督学习(Semi-supervised Learning, SSL)、图神经网络(Graph Neural Networks, GNN)、联邦学习(Federated Learning, FL)等,便于大家初探深度学习的相关知识,并更好地理解深度学习的基础内容,为后续科研开展建立一定的基础,欢迎大家一起交流学习。
目录
一、迁移学习(Transfer Learning, TL)
1. 简介
2. 原理
3. 实现方式
4. 迁移学习过程
二、半监督学习(Semi-supervised Learning, SSL)
1. 简介
2. 原理
3. 模型方法分类
4. 半监督学习过程
三、图神经网络(Graph Neural Networks, GNN)
1. 简介
2. 模型结构
3. 结构展示图
4. GNN模型资源
四、联邦学习(Federated Learning, FL)
1. 简介
2. 原理
3. 联邦学习过程
4. 关键特点
5. 常见挑战
6. 联邦学习资源
一、迁移学习(Transfer Learning, TL)
1. 简介
迁移学习(Transfer Learning)是一种机器学习方法,它利用已学到的知识来帮助解决新任务,尤其是在目标任务的数据较少的情况下。
核心思想是将源任务(source task)上学到的知识应用到目标任务(target task)上,尤其是在目标任务的数据稀缺时。目标是减少模型训练所需的标注数据量。
总之,迁移学习的核心在于通过不同任务之间的相似性进行知识共享,以提高模型在目标任务上的表现,尤其是在数据稀缺的情况下。
2. 原理
- 领域差异:源任务和目标任务之间的输入数据分布或目标分布可能不同,但通常存在某种相似性(如任务的共性或潜在的结构相似性)。
- 知识迁移:通过共享某些学习到的特征、模型参数或者优化策略,将源任务的知识迁移到目标任务。
3. 实现方式
- Fine-tuning(微调):在已有的预训练模型基础上,针对目标任务的数据对模型进行微调。常见的流程是:
- 预训练:在大规模数据集上训练模型,例如使用 ImageNet 进行图像分类训练。
- 微调:用目标任务的少量数据对模型进行微调,只更新部分网络层的权重。
- 共享网络架构:通过设计一个共享的网络架构,将源任务和目标任务的共享部分提取并传递。
4. 迁移学习过程
下面列举一个例子来生动展现迁移学习的原理:
- 定义:假设源任务的模型输出为 ,目标任务的输出为 。
- 目标:通过迁移,源任务的知识帮助目标任务提高性能,通常通过最小化目标任务的损失函数 来实现。
其中, 是目标任务的样本数, 是目标任务的真实标签。
- 微调策略:通过调整预训练模型参数 ,优化目标任务的损失函数 :
其中, 是从源任务迁移来的参数, 是针对目标任务微调的模型。
二、半监督学习(Semi-supervised Learning, SSL)
1. 简介
半监督学习(Semi-supervised Learning, SSL)是一种介于监督学习和无监督学习之间的学习方法。它利用少量标注数据和大量未标注数据进行学习,目的是通过未标注数据的辅助,提高模型的学习能力,尤其是在标注数据稀缺的情况下。
2. 原理
半监督学习的基本思想是通过未标注数据中的潜在信息来补充标注数据的不足。
常见的原理有:
- 一致性假设:假设相似的输入样本对应的输出标签应当相近。
- 低密度分离假设:假设数据点在高密度区域内较为集中,而在低密度区域(决策边界附近)较为稀疏。
3. 模型方法分类
半监督学习的模型一般包括以下几种方法:
- 生成式模型:通过建模数据的生成过程来推测未标注数据的标签。例如,高斯混合模型(Gaussian Mixture Models, GMM)。
- 判别式模型:通过学习决策边界来进行分类,例如支持向量机(SVM)和自训练(Self-training)。
- 图模型:通过构建数据点之间的图结构来传播标签信息,常见的方法包括图卷积网络(GCN)和标签传播(Label Propagation)。
4. 半监督学习过程
半监督学习模型的训练过程可以分为以下步骤:
- 初始化:使用少量的标注数据训练初始模型。
- 伪标签生成:使用训练好的模型对未标注数据进行预测,并将高置信度的预测作为伪标签。
- 模型优化:将伪标签和标注数据一起用于训练模型,更新模型参数。
对于判别式模型,优化目标通常是最大化条件概率:
其中, 为输入, 为标签, 为预测的条件概率, 为模型参数。
对于图模型,标签传播可以通过以下公式表示:
其中, 为标签矩阵, 为度矩阵, 为邻接矩阵,表示样本之间的相似性。通过迭代传播标签,直到收敛。
三、图神经网络(Graph Neural Networks, GNN)
1. 简介
- 图神经网络(Graph Neural Networks, GNN)是一种基于图结构的深度学习方法,主要通过节点间的信息传递来进行学习和推理。
- 传统的神经网络:主要用于处理规则结构的数据,如图像、文本等。
- 图神经网络:专门设计用于处理图结构数据,如社交网络、分子结构等。
- 图神经网络的核心思想:通过迭代的消息传递机制(来自节点的邻居信息)来更新节点表示(embedding),从而实现对整个图的信息传递和学习。
- 图神经网络的核心功能:
- 节点表示(Node Embedding):将每个节点映射到一个低维向量空间中,以便进行后续的计算。
- 图结构表示(Graph Structure Representation):表示整个图的拓扑结构,包括节点之间的连接关系。
- 消息传递(Message Passing):节点通过与其邻居节点交换信息来更新自身的表示,从而实现信息在图上的传递。
2. 模型结构
GNN主要通过图结构和消息传递机制来学习节点的表示,核心步骤如下:
(1)输入表示
- 图结构:图 ,其中 是节点集合, 是边集合。
- 边特征:每个边 可用特征向量 表示,用来表示节点 和 之间的连接关系。
- 节点特征:每个节点 可用特征向量 表示。
(2)消息传递与更新
每一层 GNN 的目标是从邻居节点中聚合信息,并更新节点表示。
- 领域聚合(Aggregate):从邻居节点 收集信息。
- 节点更新(Update):结合自身特征和邻居信息,生成新的节点表示 。
更新公式通常为:
其中:
- 表示节点 在第 层的表示;
- 是节点 的邻居集合;
- 是聚合操作(如求和、平均、最大值等);
- 是更新操作。
(3)输出表示
- 若是节点级任务(如分类),直接使用节点表示 ;
- 若是图级任务(如分类或回归),通过全局池化(如求和或平均)得到图的整体表示。
3. 结构展示图
4. GNN模型资源
AIAS/deep_learning/5_图神经网络/1_图神经网络(GNN).pdf at main · mymagicpower/AIAS · GitHub
四、联邦学习(Federated Learning, FL)
1. 简介
联邦学习(Federated Learning)是一种分布式机器学习方法,旨在训练分布式数据源上的模型,并仅共享局部更新,而非数据本身,来保护本地数据隐私。联邦学习常用于数据无法集中存储或传输的场景,例如移动设备、IoT等。
在传统的集中式机器学习中,所有数据都被收集到一个中心服务器进行训练,这可能涉及大量数据的传输,存在隐私泄露的风险。
总之,联邦学习通过在本地设备上训练并共享模型更新,而不是直接传输数据,既能保护隐私,又能在分布式环境中进行高效的协同学习。
2. 原理
- 数据分散:每个参与者(客户端)本地存储数据,模型训练在本地进行。
- 本地训练:每个客户端基于自己的数据训练局部模型。
- 参数聚合:每个客户端将其模型更新(梯度或权重)发送到中心服务器(或聚合节点)。
- 全局更新:服务器将接收到的本地更新聚合(如加权平均),更新全局模型。
- 迭代过程:多轮训练后,更新的全局模型被广播回客户端,进行下轮本地训练。
3. 联邦学习过程
联邦学习的基本模型可以通过以下步骤表示:
- 假设有 个客户端,每个客户端 拥有数据集 ,并训练一个模型 。
- 在第 轮迭代时:
- 每个客户端在本地使用其数据集 训练模型,计算损失函数 ,并计算梯度 。
- 客户端将梯度 或更新后的权重 发送给服务器。
- 服务器端聚合所有客户端的更新(例如,采用加权平均):
- 全局模型 被传回每个客户端,开始下一轮训练。
4. 关键特点
- 隐私保护:数据不离开设备,只共享模型更新。
- 通信效率:通过频繁的参数交换和聚合,减少了大规模数据传输的需求。
- 分布式计算:每个客户端都可以独立并行训练,利用本地计算资源。
5. 常见挑战
- 客户端之间的数据异质性(数据不平衡)。
- 客户端计算能力不均。
- 通信开销(频繁的参数交换)。
6. 联邦学习资源
AIAS/deep_learning/6_学习方式/4_联邦学习,多任务学习,元学习.pdf at main · mymagicpower/AIAS · GitHub