凸优化理论和多模态基础模型研究

文章目录

  • 摘要
  • Abstract
  • 1. 拉格朗日对偶问题
    • 1.1 弱对偶问题
    • 1.2 强对偶问题(P*=D*)
    • 1.3 KKT条件
  • 2. 论文阅读
  • 3. 总结

摘要

本周从拉格朗日对偶理论出发,系统学习了优化问题中凸函数、强对偶条件以及 KKT 条件的应用,并将其与机器学习中的反向传播机制相结合,分析了梯度在优化过程中的作用。本周还基于最新论文,深入解读了一种通过自监督学习预训练的多模态基础模型 BriVL。BriVL 利用弱语义相关数据,展示了处理多模态数据(视觉与文本)的优异表现,并通过想象力验证了其在生成任务中的潜力。与传统方法相比,BriVL 在语义建模上更加全面自然,是迈向人工通用智能(AGI)的重要尝试。

Abstract

This week, starting from Lagrange duality theory, we systematically learn the application of convex function, strong duality condition and KKT condition in optimization problems, and combine them with the backpropagation mechanism in machine learning to analyze the role of gradient in optimization process. Based on a recent paper, this week also provides an in-depth interpretation of BriVL, a multimodal foundation model pre-trained by self-supervised learning. Using weakly semantically correlated data, BriVL has demonstrated excellent performance in processing multimodal data (visual versus text) and demonstrated its potential for generation tasks through imagination. Compared with traditional methods, BriVL is more comprehensive and natural in semantic modeling, and is an important attempt to move towards artificial general intelligence (AGI).

1. 拉格朗日对偶问题

对于拉格朗日乘数法,一般的形式为:
min ⁡ \operatorname* { min} min f 0 ( x ) , x ∈ R n f_{0}\left ( \boldsymbol{x}\right ) , \boldsymbol{x}\in \mathbb{R} ^{n} f0(x),xRn

s . t . s. t. s.t. f i ( x ) ≤ 0 f_{i}\left ( \boldsymbol{x}\right ) \leq 0 fi(x)0,其中i=1,2,3…m

L ( x , λ ) = f 0 ( x ) + ∑ λ i f i ( x ) L(x,\lambda)=f_{0}\:(x)+\sum\lambda_{i}f_{i}\:(x) L(x,λ)=f0(x)+λifi(x)

拉格朗日函数背后的意义和梯度的作用密切相关。
为了方便理解拉格朗日函数和梯度的关系,下图表达目标函数和约束条件下梯度的样子:

圆圈表示f(x,y)的等高线,越靠近中心点对应的值为小,y=g(x)表示约束条件,左边就是f的等高线和约束条件的关系,顾名思义,在相切的点求导的和为0,通过一个参数 λ \lambda λ来调节两个梯度的,使得方向相反大小相等,从而梯度为0.

在这里插入图片描述
上述只有一个约束条件的样子,对于多个约束条件的情况,公式如下:

min ⁡ f ( x ) , x ∈ R n \min f(x),x\in\mathbb{R}^n minf(x),xRn

s . t . s. t. s.t. g i ( x ) = a i T ⋅ x + b i ≤ 0 g_{i}\left ( \boldsymbol{x}\right ) = \boldsymbol{a}_{i}^{T}\cdot \boldsymbol{x}+ b_{i}\leq 0 gi(x)=aiTx+bi0其中i=1,2,3…m , a i ∈ R n , b i ∈ R ,\boldsymbol{a}_i\in\mathbb{R}^n,b_i\in\mathbb{R} ,aiRn,biR

L ( x , λ ) = f ( x ) + ∑ λ i g i ( x ) L(x,\lambda)=f(x)+\sum\lambda_i\:g_i\:(x) L(x,λ)=f(x)+λigi(x)
画出 f 的等高线和各类约束条件的图像
在这里插入图片描述
通过上图在x*的地方是与f(x)的梯度大小相等,方向相反的点。
g α ( x ∗ ) = g β ( x ∗ ) = 0 其他 g i ( x ∗ ) < 0 , λ α ∇ g α ( x ∗ ) + λ β ∇ g β ( x ∗ ) = − ∇ f ( x ) ⟹ λ α , λ β ≠ 0 λ i ⋅ ∇ g i ( x ) = 0 ⟹ λ i = 0 ( i ≠ α , β ) \begin{aligned}&g_{\alpha}\left(x^{*}\right)=g_{\beta}\left(x^{*}\right)=0&&\text{其他}g_{i}\left(x^{*}\right)<0,\\&\lambda_{\alpha} \nabla g_{\alpha}\left(x^{*}\right)+\lambda_{\beta} \nabla g_{\beta}\left(x^{*}\right)=-\nabla f\left(x\right)\Longrightarrow\lambda_{\alpha} , \lambda_{\beta} \neq0&&\lambda_{i}\cdot\nabla g_{i}\left(x\right)=0\implies\lambda_{i}=0 (i\neq\alpha,\beta)\end{aligned} gα(x)=gβ(x)=0λαgα(x)+λβgβ(x)=f(x)λα,λβ=0其他gi(x)<0,λigi(x)=0λi=0(i=α,β)

同时有以下约束:
所有 λ i ≥ 0 { 如果 λ i = 0 , 那么对应的约束条件 g i ( x ) 是松弛的 如果 λ i > 0 , 那么对应的约束条件 g i ( x ) 是紧致的 \lambda_i\geq0\left\{\begin{array}{l}\text{如果}\lambda_i=0,\text{那么对应的约束条件}g_i(\boldsymbol{x})\text{是松弛的}\\\text{如果}\lambda_i>0,\text{那么对应的约束条件}g_i(\boldsymbol{x})\text{是紧致的}\end{array}\right. λi0{如果λi=0,那么对应的约束条件gi(x)是松弛的如果λi>0,那么对应的约束条件gi(x)是紧致的
还有一种情况是所求解的目标函数的最小值本神就在约束的条件内,对于所有的 g i ( x ) g_i(\boldsymbol{x}) gi(x)都是松弛的
在这里插入图片描述
但是上述方法存在一个问题,如果存在多个导数为0的点,对于函数只有一个最值,找出来的点可能是极值也可能是鞍点的情况。

在这里插入图片描述
上述并不是一个非凸问题,凸函数有最小值,凹函数有最大值;
为什么说对于凸问题可以等价为拉格朗日函数求解
在这里插入图片描述
相关概念补充:
什么是对偶问题?
对偶函数: g ( λ , ν ) = min ⁡ x L ( x , λ , ν ) g(\lambda,\nu)=\min_{x}L(x,\lambda,\nu) g(λ,ν)=minxL(x,λ,ν)
对偶问题: max ⁡ λ , ν g ( λ , ν ) s . t . ∇ x L ( x , λ , ν ) = 0 λ ≥ 0 \begin{aligned}&\max_{\lambda,\nu}g(\lambda,\nu)\\&s.t.\quad\nabla_{x}L(x,\lambda,\nu)=0\\&\lambda\geq0\end{aligned} λ,νmaxg(λ,ν)s.t.xL(x,λ,ν)=0λ0
什么是凹凸集?
从数学上理解:
在这里插入图片描述
右边橙色部分是一个凸集,对于图像中的任意两个点的连线都在区域内才是凸集 。

凸函数和凹函数:
在这里插入图片描述
对于对偶问题,都是求一个线性的关系,都是凸优化问题(目标函数是凸函数和约束条件是一个凸集
在这里插入图片描述
那么思考原问题和对偶问题的关系是什么?
原问题的解一定是大于等于对偶问题的解
在这里插入图片描述
我们所要探讨的是在什么情况下对偶问题的解和原问题的解是相等的。
在这里插入图片描述
为了简化问题,将f0(x)和 fi(x)分别看成一个t,u的简单的随机变量。

1.1 弱对偶问题

在这里插入图片描述
G1的最小值为P*,而G2的最小值为 λ \lambda λ为斜率既与G2部分相切,且与G1的最小值相交的一条直线的截距.上述P*大于D*,属于一种弱对偶问题。

1.2 强对偶问题(P*=D*)

对于强对偶问题,当可行域是一个凸集时,有两种情况:
在这里插入图片描述
在这里插入图片描述
上面这种情况由于 λ > = 0 \lambda>=0 λ>=0,所以当 λ = 0 \lambda=0 λ=0时原问题的解和对偶问题的解相等。

在数学中,在一个问题中原问题的最优解和对偶问题的解相等时还需要满足slater条件
在这里插入图片描述
也就是只有当可行域有一部分u的值在负半区域,即是一个强对偶问题。上述是一个充分条件,只要一个条件满足slatre条件就是强对偶问题;反过来不一定成立。

1.3 KKT条件

对于一个问题满足强对偶的,一定满足KKT条件;反过来说不一定成立(从数学严谨方面来说);在实际应用中,遇到的强对偶问题,两者可以看作充分必要条件。
在这里插入图片描述
上图右边两个坐标图两个合起来就是互补松弛条件。
在神经网络的应用中,神经网络的隐藏层把不是凸优化的那部分屏蔽掉了,在输出层的局部变成了一个凸优化问题
在这里插入图片描述
左边是极大似然估计的损失函数(看成最优情况减去现在情况的差值),右边是最大熵(拉格朗日函数)—目标函数加上一个关于 λ \lambda λ的项,其目的是在网络中需要调整多少才能达到最优值。

思考梯度在反向传播的作用?
在机器学习反向传播中梯度是损失函数对模型参数的偏导数,表示当参数发生微小变化时,损失函数的变化率表示该参数对损失的敏感程度,即改变一点点参数值会对损失带来多大的变化。
参数调整的依据:在反向传播中,模型通过梯度下降更新参数。梯度值越大,说明该参数对当前损失的奉献(“责任”)越大,因此会有更大的跟新幅度。

为什么梯度可以看作奉献程度?
链式法则的体现:在前向传播过程中,每一层的输出都影响最终的损失。在反向传播中,链式法则传播梯度,层与层之间的梯度大小可以反映各层对总损失的奉献。(某一层梯度较大,说明这层权重对总损失的变化奉献显著)
调节学习速率:在实际训练中,如果某参数的梯度很小,它的更新步长也会较小。

2. 论文阅读

本周阅读了一篇发表于nature的文章"Towards artificial general intelligence via a multimodal foundation model"
代码:https://github.com/neilfei/brivl-nmi
在这里插入图片描述

核心内容是介绍了BriVL模型,这是一个通过自监督学习预训练的多模态基础模型。模型利用从互联网上爬取的弱语句相关数据进行预训练,并在多个下游任务上展示了希望的结果。论文解决的问题是如何开发一个能够处理多种类型认知任务的人工智能模型,这是实现通用人工智能的关键一步。通过预训练一个多模态基础模型,能够处理视觉和文本数据。
在这里插入图片描述
左边图是人脑和视觉和语言信息的多模态基础模型BriVL之间的比较;右图是弱语义相关数据建模和强语义相关数据建模对比。
文中表明:拥有强大的想象力主要是由于BriVL 在大规模多模态预训练中利用了弱语义相关数据。通过使用FeaVis可视化卷积神经网络特征算法直接查看BriVL对语义输入的视觉响应
在这里插入图片描述

  • a中展示了BriVL对高级概念的想象能力,尽管这些概念相当抽象,但可视化能够展示这些概念的具体体现(如,自然:像草一样的植物;时间:一个时钟;科学:一张脸)表明了仅使用弱语义相关数据进行多模态预训练的有效性。
  • b中展示了句子的想象。 “每朵云都有一线希望”的可视化。 不仅从字面上体现了乌云背后的阳光,而且似乎表现了海上的危险处境(左边的船状物体和波浪),表达了这句话的隐含意义。
  • c中一些包含共享提示的类似文本输入用于网络可视化。 对于“有森林的山”,图像中有更多的绿色区域; 对于“有石头的山”,图像更加岩石;
  • d 中展示了具有语义约束的神经元可视化结果。

结果表明我们的模型能够将特定对象与更一般的视觉上下文联系起来

为更好的理解BriVL的想象视觉内容。利用VQGAN34在BriVL的指导下生成图像,并将其在CLIP13生成的图片进行对比。
在这里插入图片描述

  • a,b分别显示CLIP和BriVL获得的结果;第一个差异,CLIP生成的图片往往出现卡通风格的元素,而BriVL生成的图像则更加真实自然,差异的原因可能是使用的训练数据不同。第二个差异,CLIP 使用具有强语义相关性的图像文本对(通过词过滤),而文章使用弱相关性数据。 这意味着在多模态预训练期间,CLIP 更有可能学习对象(图像中)和单词(文本中)之间的对应关系,而 BriVL 则尝试将每个图像与给定的文本作为一个整体来理解。
  • c考虑了一个更具挑战性的任务,其中应根据多个连贯的句子生成一系列图像。 虽然图 c中的每个图像都是独立生成的,但我们可以观察到所有四个生成的图像在视觉上是连贯的并且具有相同的风格。

总结:这篇论文提出了一个通过自监督学习和弱语义相关数据预训练的多模态基础模型,展示了在多个下游任务上的性能,并强调了模型的想象力和推理能力。这项工作是朝着AGI迈出的重要一步,并可能对AI研究和AI+领域产生深远影响。

3. 总结

理论部分阐明了优化问题的核心条件及其在机器学习中的应用,特别是在凸优化与梯度传播中的重要性。同时阅读了一篇关于多模态基础模型的文章,通过分析 BriVL 的设计理念与实验结果,揭示了弱语义相关数据在多模态预训练中的潜力及其在生成任务上的优势。结合 BriVL 与传统方法的对比,进一步说明了其在实现人工通用智能中的关键地位。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/18756.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

nginx+vconsole调试网页在vivo浏览器无法显示图片问题

一、问题描述 昨天测试小伙伴提了一个特殊的bug&#xff0c;在安卓vivo手机浏览器上访问网页&#xff0c;网页的图片按钮和录播图一闪而过后便消失不见&#xff1a; 二、问题排查 项目采用Nuxt框架&#xff0c;排查的方向大致如下&#xff1a; 1.其它手机浏览器是否有复现&am…

草本追踪:中药实验管理的数字化转型

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常…

【Linux】虚拟地址空间,页表,物理内存

目录 进程地址空间&#xff0c;页表&#xff0c;物理内存 什么叫作地址空间&#xff1f; 如何理解地址空间的区域划分&#xff1f; 地址空间结构体 为什么要有地址空间&#xff1f; 页表 cr3寄存器 权限标记位 位置标记位 其他 每个存储单元是一个字节&#xff0c;一…

集群聊天服务器(3)muduo网络库

目录 基于muduo的客户端服务器编程 muduo只能装在linux中&#xff0c;依赖boost库 客户端并不需要高并发 基于muduo的客户端服务器编程 支持epoll线程池&#xff0c;muduo封装了线程池 而且还有完善的日志系统 使用muduo库代码非常固定&#xff0c;基本就只有chatserver的类名…

【Python刷题】最少拐弯路线问题

题目描述 洛谷P1649 一、题目理解 首先&#xff0c;我们来看一下这道题目的要求。题目给定了一个 NN&#xff08;1≤N≤100&#xff09; 的方格&#xff0c;方格中的每个格子有不同的状态&#xff0c;用 . 表示可以行走的格子&#xff0c;x 表示不能行走的格子&#xff0c;…

在windows系统里面部署 Redis

在windows中下载安装REdis 1.下载mis 地址添加链接描述 然后直接下载安装然后点击你的库 2.然后选择好之后选择好路径就行了。 然后我们点击这个cli.exe文件然后双击打开输入 在命令框里输入&#xff1a; 如果显示的和图片显示的一样&#xff0c;则证明你已经在本地部署好了…

NTP博客

使用nmtui命令修改IP&#xff1a; 注意&#xff1a; 修改之后&#xff0c;要激活&#xff1a; nmcli connection up ens160 1、软件安装 #设置当前时区 [rootlocalhost ~]# timedatectl set-timezone Asia/Shanghai 1.1.配置国内阿里yum源 [rootredhat ~]# cd /etc/yum.r…

《Large-scale Multi-modal Pre-trained Models: A Comprehensive Survey》中文校对版

文章汉化系列目录 文章目录 文章汉化系列目录摘要引言2 背景2.1 传统深度学习2.2 自然语言处理中的预训练2.3 计算机视觉中的预训练2.4 音频与语音中的预训练 3 多模态预训练3.1 任务定义与关键挑战3.2 MM-PTM的优势3.3 预训练数据3.4 预训练目标3.5 预训练网络架构3.5.1 自注意…

从源码角度分析JDK动态代理

文章目录 前言一、JDK动态代理二、动态代理的生成三、invoke的运行时调用总结 前言 本篇从源码的角度&#xff0c;对JDK动态代理的实现&#xff0c;工作原理做简要分析。 一、JDK动态代理 JDK动态代理是运行时动态代理的一种实现&#xff0c;相比较于CGLIB &#xff0c;目标对象…

操作系统——计算机系统概述——1.5操作系统引导(开机过程)

操作系统引导&#xff1a; A.CPU从一个特定主存地址开始&#xff0c;取指令&#xff0c;执行ROM中的引导程序&#xff08;先进行硬件自检&#xff0c;再开机&#xff09; B.将磁盘的第一块——主引导记录读入内存&#xff0c;执行磁盘引导程序&#xff0c;扫描分区表 C.从活动分…

推荐一本python学习书:《编程不难》

推荐理由 全面&#xff1a;把零基础Python编程、可视化、数学、数据、机器学习&#xff0c;融合在一起&#xff0c;循循渐进。 开源&#xff1a;PDF、Python代码、Jupyter文档&#xff0c;在github直接免费下&#xff01; 真实&#xff1a;提供大量真实场景下的数据&#xff…

数据结构与算法分析模拟试题及答案5

模拟试题&#xff08;五&#xff09; 一、单项选择题&#xff08;每小题 2 分&#xff0c;共20分&#xff09; &#xff08;1&#xff09;队列的特点是&#xff08;   &#xff09;。 A&#xff09;先进后出 B&#xff09;先进先出 C&#xff09;任意位置进出 D&#xff0…

集群聊天服务器(9)一对一聊天功能

目录 一对一聊天离线消息服务器异常处理 一对一聊天 先新添一个消息码 在业务层增加该业务 没有绑定事件处理器的话消息会派发不出去 聊天其实是服务器做一个中转 现在同时登录两个账号 收到了聊天信息 再回复一下 离线消息 声明中提供接口和方法 张三对离线的李…

jedis基础入门

jedis采用key&#xff0c;value的形式保存数据&#xff0c;使用nosql sql和nosql的区别 一&#xff1a;入门案例 导入依赖 <dependencies><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>…

QWen2.5学习

配置环境 pip install transformers 记得更新一下&#xff1a;typing_extensions pip install --upgrade typing_extensions 安装modelscope modelscope/modelscope: ModelScope: bring the notion of Model-as-a-Service to life. 下载这个仓库的代码上传到服务器解压 推…

足球青训俱乐部管理后台系统(程序+数据库+报告)

基于SpringBoot的足球青训俱乐部管理后台系统&#xff0c;系统包含两种角色&#xff1a;管理员、用户,系统分为前台和后台两大模块 编程语言&#xff1a;Java 数据库&#xff1a;MySQL 项目管理工具&#xff1a;Maven 前端技术&#xff1a;Vue 后端技术&#xff1a;SpringBoot…

MoneyPrinterTurbo - AI自动生成高清短视频

MoneyPrinterTurbo是一款基于AI大模型的开源软件&#xff0c;旨在通过一键操作帮助用户自动生成高清短视频。只需提供一个视频 主题或 **关键词** &#xff0c;就可以全自动生成视频文案、视频素材、视频字幕、视频背景音乐&#xff0c;然后合成一个高清的短视频。 ​ ​ 主要…

Cross-Inlining Binary Function Similarity Detection

注&#xff1a;在阅读该论文时顺便参考了作者团队的分享视频&#xff1a;【ICSE 2024论文预讲会-第二期-下午-哔哩哔哩】 https://b23.tv/XUVAPy3 在这个视频的末尾最后一个 一.introducion 计算下面两个函数的相似度&#xff1a; 查询函数&#xff1a;脆弱函数&#xff0c;重…

C++:哈希拓展-位图

目录 一.问题导入 二.什么是位图? 2.1如何确定目标数在哪个比特位? 2.2如何存放高低位 2.3位图模拟代码实现 2.3.1如何标记一个数 2.3.2如何重置标记 2.3.3如何检查一个数是否被标记 整体代码实现 标准库的Bitset 库中的bitset的缺陷 简单应用 一.问题导入 这道…

GCP : Memcache backed by Cloud Datastore

Memcache backed by Cloud Datastore 的用途主要体现在以下几个方面&#xff1a; 提高性能和可扩展性&#xff1a; Memcache 是一个高性能的分布式内存对象缓存系统&#xff0c;通常用于缓存数据库查询等操作&#xff0c;以减轻数据库负载&#xff0c;加快动态Web应用的响应速度…