多目标深度学习:技术分类和调查
Multi-objective Deep Learning: Taxonomy and Survey of the State of the Art
摘要
多目标优化的应用:
- 多任务学习 (Multi-Task Learning)
- 考虑稀疏性 (sparsity) 等次要目标
- 多准则超参数调优 (multicriteria hyperparameter tuning)
成本挑战:
- 参数数量庞大
- 非线性程度高
- 有一定随机性
总结内容:
- 三种学习范式:监督、无监督、强化
- 生成模型
Ⅰ 引入
Pareto 最优:无法再在同一时刻改进所有目标
- ML 中的多准则:用单一模型解决多任务
- 次要目标:稀疏性、稳定性、可解释性
- RL 也有多目标优化的需求
多目标优化和深度学习的计算开销都很大,两者的结合在算法效率和决策都存在挑战
Section Ⅱ 预备知识 A 深度学习 (1 监督,2 无监督,3 生成模型),B 多目标优化 C 多目标机器学习的细节
Section Ⅲ 提供了途径的分类
Section Ⅳ 调查当前技术状况:A 监督,B 无监督,C 生成模型,D 神经网络架构,E 多目标深度学习的成功应用
Section Ⅴ 强化学习
Section Ⅵ 用深度学习反过来改进多目标优化
Ⅱ 预备知识
A 深度学习
主要介绍各种机器学习算法的共性.
1 监督学习
用含参映射 拟合未知映射
其中 ,通常维度很高.
的构造可以选择使用多项式、Fourier 序列、Gaussian 过程.
而在深度神经网络中, 通过 层构造
网络的边权都是参数 .
上面是经典的 feed-forward 结构,除此之外还有:卷积 (convolutional) 神经网络 CNN,残差 (residual) 神经网络 ResNet,带反馈回路的循环 (recurrent) 神经网络 RNN.
现有含 个样本的数据集 ,拟合映射 的问题就变成了高维的非线性优化问题:最小化经验损失函数
的形式自定,如均方差损失 (MSE)
可以为了稀疏性添加正则项
获取 的经典方法是基于梯度优化的反向传播,因此梯度 在训练中扮演重要角色.
随机梯度 (SGD) 、动量 (Momentum) 、Adam 优化器
2 无监督学习、自监督学习
无监督学习
从无标签数据中提取有意义的表示.
- 无监督学习直接识别数据的潜在结构
- 自监督学习先利用数据生成伪标签,得到代理任务 (surrogate/pretext task) 后转化为监督学习
无监督学习通常包括聚类、降维、密度估计.
聚类将数据集 分成 类.常见的优化目标是最小化簇内方差和最大化簇间间隔
其中 为簇心.解决这个优化目标的传统技术有 K-means 和 Gaussian 混合模型,而在数据维度非常高 (如图像) 的情况下,现代的神经聚类则是先将原始数据编码到低维隐空间后再传统聚类.
降维在保持尽可能多信息的情况下,为高维数据找到低维表示.自编码器 (AutoEncoders,AE) 利用神经网络构建了两个映射, 将输入空间编码至隐空间, 将隐空间解码至输出空间
最小化重构损失
便得到内在的 低维结构,它编码了数据集的信息.
密度估计把输出视作概率分布,根据输入,估计每个数据点的概率密度,得到输出.常见方法有核密度估计 (Kernel Density Estimation,KDE,用若干基本核函数 (如高斯核函数) 来拟合目标分布函数) 、变分自编码器 (VAE,从隐空间得到是分布 (通常是多元 Gaussian 分布,含一系列均值和方差) 而不是单个向量,采样出向量后再解码) .因为是用分布描述输出,常用于异常检测、数据生成.
自监督学习
自监督预训练阶段
迁移至下游任务
用于视频帧预测、确定图像旋转角、重建数据掩码部分
对比学习用于数据增强,伪标签生成函数 并不是显式的(如旋转、掩码):同一张图的两个增强视图为正样本,不同图为负样本
其中 表示增强样本, 为余弦相似.
生成式模型是破坏函数 (掩码、噪声、下采样) , 是重建函数, 是重建损失.
比如掩码自编码 (MAE)
其中 ,,.MAE 认为:还原 = 理解.
3 生成式模型
使用训练样本 学习未知分布 ,这和自监督学习框架高度相关.为此构造映射 ,使得 ,其中 来自更简单的分布 .
生成式对抗网络 (GAN)生成器 ,判别器 是二分类器.
判别器希望将 识别为正类
生成器希望让 被识别为正类
二者博弈
B 多目标优化
1 概念
考虑含 个目标的 MOP 问题
一般不存在点 使得所有目标 都达最小值,故考虑 Pareto 集
相应地, 在目标空间 的像 被称作 Pareto 前沿 (一种流形,而非离散点集).在光滑假设下,,比如双目标问题下,Pareto 前沿是曲线 (递减,可不凸) .在深度学习中, 非常大,而 通常比较小,因此一般对 Pareto 前沿进行可视化,而不是 Pareto 集.
特别地,如果存在不冲突的目标,则 Pareto 前沿的维数会减小.比如双目标问题中,两个目标不冲突,可同时达到最小值,此时 Pareto 前沿会从一条曲线坍缩成一个点.
点 对于所有目标至少都和点 一样好,且对于至少一个目标严格比点 更优,则称点 支配点 ,记作 .因此 包含了所有的非支配点.
2 梯度以及最优性条件
称满足 KKT 条件 (一阶最优条件) 的点 为 Pareto 临界点
记 Pareto 临界点集为 ,则必有 .
否则,必存在所有梯度的凸组合,使得往该组合行进时,所有目标变优.可想象从原点出发的三个梯度向量构成三棱锥,沿着终点落在底面的向量行进,可使三个目标均变优.
当目标函数 (比如 ReLU、L1 正则化) 不光滑 (不满足 Lipschitz 梯度连续性) ,仅满足 Lipschitz 连续性时,我们无法定义梯度 .如果目标函数是凸函数,我们可以定义次梯度 (subdifferential)
其存在性由支撑超平面定理保证.此时我们有 KKT 条件的非平滑版本
一些次微分的例子
Lipschitz 连续性最小的 就是 Lipschitz 常数 .
设 ,使用一阶 Taylor 展开
便有
第二条不等式恒成立,且第一个等号可以成立,因此
得 ,此时 可以被 bound 住
光滑(Lipschitz 梯度连续)
最小的 便是凸优化里面的 smoothness .
3 方法
a 计算单个 Pareto 最优解 (先决策后优化)
标量化:构造映射 ,变成单目标优化.如果是直接加权,就相当于用移动的超平面去截 Pareto 前沿,这只有在凸函数的情况下才能保证解的唯一性.
-constraint 方法:钦定某个目标 作单目标优化,其他目标变成约束
偏好向量法:给定参考点和偏好向量 ,从参考点出发,在目标空间中沿着偏好向量方向,向原点行进,找到路程最长的终点
这种方法能很好应对非凸问题,但约束条件较难处理.
多梯度下降法 (MGDAs)关键是共同梯度 的选取
不断更新 至收敛 (或者触发给定的停止条件)
也可以使用 (Quasi-)Newton 法确定 .传统的 MGDAs 只能保证结果收敛到 中的某个点,无法得知这个点每个目标的重要程度,因此对于运行多次 MGDAs 得到的多个点,我们无法作出最终决定.
b 计算整个 Pareto 集 (先优化后决策)
多次调整权重后分别运行标量法,或者运行多起点的 MGDAs (彼此孤立),都无法很好地覆盖 (用离散点集近似 ).
定义种群 ,其 performance 一般使用超体积指标衡量
其中 为 Lebesgue 测度, 为参考点 (通常选取目标空间的最大值点) .
多目标进化算法 (MOEAs)
- 交叉 (crossover):第 代 中两个体 交叉,得到新种群 ;
- 变异 (mutation):;
- 选择 (selection):适者生存 (按非支配关系 (non-dominance)、分散指标 (spread metric) 排序), 可来自 (精英主义).
多任务学习是机器学习一个重要板块,哪怕在最基础的分类任务中,保持模型准确率和模型复杂度的平衡也是社区讨论的重点.之前的多任务学习文章 (Uncertainty; GradNorm; MGDA) 主要关注的是如何在有多个任务时找到一个能够权衡利弊的解,但由于 Pareto 的存在,一个独立解是难以满足多种偏好的.
最近的多任务学习文章 (Pareto MTL) 开始意识到多个 Pareto 解的重要性,但由于没有利用 Pareto 前沿的性质,该方法生成的每一个解都是从头训练的,并且无法形成连续的 Pareto 前沿.
延拓法我们试图解决的,就是利用 Pareto 前沿的连续性质,连续地从一个 Pareto 解出发找到其他的解.
考虑将 KKT 条件转化为零值问题
如果有二阶连续可微的 正则假设,那么隐函数定理保证
是 维的光滑流形.我们先用某种手段得到一个 Pareto 临界点 ,然后求解此处的切空间,这需要 Hessian 矩阵
切空间就是 的核
求出 后,便可得到临界点的附近 (延拓的点集)
- 存储代价 无法接受,通常不直接求解 ,而使用 Hessian 向量积 .
- 另外, 正则性都被许多网络结构破坏掉了 (ReLU),虽然有文献给出了仅满足 Lipschitz 连续性的目标的解决办法,但这会提高计算开销.
- 延拓点一般会稍微脱离 Pareto 前沿,于是我们会有修正步骤,比如从延拓点出发,使用 MGDA 得到正确的临界点.
c 交互式方法
决策者不是一次性给出所有偏好,而是在优化过程中根据当前解的情况,动态调整偏好,决策和优化不断交替.
比如我们观察当前 和 的情况,可能会希望改善 ,接受 变差,但 不能恶化.这反映在延拓法里,就是在切空间 中选择方向导数满足
的 进行延拓.
C 多目标机器学习
将多目标优化和机器学习结合不是新鲜事.尽管从数据中学习模型时会遇到多种性能指标,我们一般不将多目标优化应用在深度学习中,因为两者计算开销都非常大.针对深度学习,各种多目标优化算法的痛点如下:
- 标量化虽然转化为单目标,但会新增约束条件而较难处理;
- MGDA 收敛速度与单目标相当,但每轮迭代都需要计算步进方向;
- MOEAs 实现了全局优化,而且不用计算梯度,但庞大的种群个体数会带来个体评估的开销,收敛速度也缓慢;
- 延拓法收敛速度很快,但 Hessian 矩阵的计算开销很大,并且通常没有 正则性.
深度学习能跟多目标优化的结合点:
- 特征选择
- 超参数调优
- 结构搜索
- 数据插补 (data imputation)
- 多目标训练:支持向量机 (SVM)、决策树、Bayesian 分类器、径向基 (Radial Basis Function,RBF) 神经网络、聚类
- 多目标聚类