内容安全复习 4 - 深度生成模型

文章目录

  • 概述
  • 经典算法
    • 自回归模型(Autoregressive model)
    • 变分自编码器(VAE)
    • 生成对抗网络(GAN)
    • 扩散模型(Diffusion model)
    • 总结
  • 应用

概述

深度生成模型是一类使用深度学习技术构建的模型,能够在给定一些数据生成新的、类似的数据。

经典算法

自回归模型(Autoregressive model)

  • 什么是自回归模型
    如果统计模型根据过去的值预测未来值,则它是自回归的。
    在这里插入图片描述
  • 特点
    (1)根据过去的值预测未来的值。
    (2)隐含的假设未来将与过去相似。
  • 优点
    所需数据不多,可以根据自身变量数列来预测。
  • 缺点
    (1)必须是自相关,且自相关系数是关键。如果小于 0.5,则极不准确,不宜使用。
    (2)自回归只能适用于预测与自身前期相关的现象,即受自身历史因素影响较大的现象;对于受社会因素影响较大的现象,不宜采用自回归。
    这句话本质是说,只能用于预测这种情况:当前状态与自身历史状态有关且受该影响较大。
  • 自回归模型应用
    (1)NLP 生成:自回归建模是大型语言模型(LLM)的重要组成部分。
    (2)图像生成:自回归允许深度学习模型通过分析有限的信息来生成图像。
    (3)时间序列预测:自回归模型有助于预测时间序列事件的可能性。天气预报和股票等等

变分自编码器(VAE)

  • 什么是变分自编码器
    变分自编码器(VAE)是基于变分贝叶斯(VB)推断的生成式网络结构。
    传统的自编码器模型主要由两部分构成:编码器(encoder)和解码器(decoder)。
    对于自编码器的详细描述可以看《内容安全复习 10 - 异常检测》。
    下面用两张图描述传统自编码器和变分自编码器的区别。
    在这里插入图片描述
    可以看到,不同与传统自编码器用一些单值描述特征,变分自编码器选择用概率分布的方式。从分布中取接近的值得到的重构输出是类似的。
    在这里插入图片描述
  • 特点
    (1)以概率的方式描述对潜在空间的观察。
    (2)数据生成方面有巨大价值。
  • 优点
    (1)通过编码和解码过程,有良好的数据生成能力。
    (2)在统计上具有更好的解释性,可提供数据的概率分布。
  • 缺点
    (1)生成样本可能较为模糊,质量较低。
    (2)设计复杂数学计算,增加难度。

生成对抗网络(GAN)

  • 什么是生成对抗网络
    生成对抗网络是一种深度学习架构。该架构训练两个神经网络相互竞争,从而从给定的训练数据集生成更真实的新数据。

  • 思想
    在这里插入图片描述
    个人感觉就是:
    网络1是蓝框,负责生成更加逼真的fake图像,ta的目的是扰乱;网络2是红框,负责判别real和fake,ta的目的是防止扰乱。
    理解成一个攻击,一个防守。
    这两者互相竞争,从而进行对抗,达到更好的训练结果。

  • 特点
    (1)一个网络通过获取输入数据样本并尽可能对其进行修改来生成新数据。
    (2)另一个网络尝试预测生成的数据输出是否属于原始数据集。

  • 流程步骤
    在这里插入图片描述
    在这里插入图片描述
    (1)Step 1:生成一个生成器和一个判别器,初始化。
    (2)Step 2:固定生成器,判别器对原始数据集合生成器生成的样本不断打分、更新。
    (3)Step 3:固定判别器,生成器更新,生成新的 fake图像,试图欺骗判别器。

  • 目标函数
    在这里插入图片描述
    (1) D ( x ) D(x) D(x) 表示判别器认为 x x x 是 real 的概率,而 1 − D ( G ( x z ) ) 1-D(G(xz)) 1D(G(xz)) 表示判别器认为合成样本 G ( z ) G(z) G(z) 是 fake 的概率。
    (2)判别器希望判断 x x x 是 real,合成样本 G ( z ) G(z) G(z) 是 fake 的概率最大化;生成器反之。简单来说,生成模型要最小化判别模型的准确率;判别模型要最大化自己的准确率。换句话说,我们希望找到一个生成器G,它可以生成与真实数据相似的数据,同时我们也希望找到一个判别器D,可以准确地区分真实数据和生成数据。
    (3)最终理想状态达到一个动态平衡(纳什均衡),此时 G 生成了和真实样本一样的结果,D 再也无法正确判别,准确率为 50%。约等于乱猜。

  • 优点
    (1)梯度计算只用到了反向传播,不用马尔科夫链。
    (2)训练时不需要对隐变量做推断。
    (3)理论上只要是可微分函数都能用于构建 D 和 G,因此能与深度学习结合来学习深度产生式网络。
    (4)G 的更新不是直接取自原样本,而是 D 的反传梯度。

  • 缺点
    (1)生成器的分布没有显式的表达。
    (2)训练难度大,D 和 G 需要同步。

扩散模型(Diffusion model)

  • 什么是扩散模型
    扩散模型的原理类似给图片去噪,通过学习给一张图片去噪的过程来理解有意义的图像是如何生成。
    就是模拟扩散(从有序到无序的过程),训练一个神经网络来逆这个过程,从而生成数据。

  • 优点
    (1)高质量的生成。
    (2)强大的容量模型。性能强
    (3)良好的理论基础。

  • 缺点
    (1)计算成本高。
    (2)训练过程复杂。
    (3)样本多样性的局限性。`模型可能倾向于生成相似的样本,降低了多样性。

总结

生成模型的数据生成过程,可以看成是将一个先验分布的采样点 Z 变换成数据分布的采样点 X 的过程,下图是各个模型的示意图。
在这里插入图片描述

应用

(1)文本生成。
(2)图像生成。
(3)视频生成。
(4)图像翻译。
(5)人脸属性编辑。
(6)图片质量增强。
(7)药物发现。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

L55--- 257.二叉树的所有路径(深搜)---Java版

1.题目描述 2.思路 (1)因为是求二叉树的所有路径 (2)然后是带固定格式的 所以我们要把每个节点的整数数值换成字符串数值 (3)首先先考虑根节点,也就是要满足节点不为空 返回递归的形式dfs(根节…

数字内容“遍地开花”,AI技术如何创新“造梦”?

文 | 智能相对论 作者 | 陈泊丞 这是春晚舞台西安分会场《山河诗长安》的一幕:“李白”现世,带领观众齐颂《将进酒》,将中国人骨子里的豪情与浪漫演绎得淋漓尽致。 这又是浙江义乌商品市场里的另一幕:只会说几个英文单词的女老板…

入门Ansible常用模块

自动化运维Devops-Ansible Ansible是新出现的自动化运维工具,基于Python 开发,集合了众多运维工具(puppet 、cfengine、chef、func、fabric)的优点,实现了批量系统配置 、批量程序部署、批量运行命令 等功能。Ansible…

小程序 如何支付后获取 Unionid

接口说明 接口英文名 getPaidUnionid 功能描述 该接口用于在用户支付完成后,获调用本接口前需要用户完成支付,用户支付完成后,取该用户的 UnionId,无需用户授权。本接口支付后的五分钟内有效。 注意事项 调用前需要用户完成…

直播websocket签名signature字段生成逻辑,一步一步带你研究学习

现在每个直播的链接都要签名字段才可以校验成功,所以需要开始debug逻辑,研究一下这个加密的签名字段哪里来的,先找到这个发送请求的js代码在哪里: 找到发送websocket的地方了,看了一下_getSocketParams这就是获取请求参…

String(C++)

文章目录 前言文档介绍经典题目讲解HJ1 字符串最后一个单词的长度 模拟实现框架构造函数析构函数迭代器c_str()赋值size()capacity()reserveempty()[ ]访问front/backpush_backappendoperatorinsert一个字符insert一个字符串eraseswapfind一个字符find一个字符串substr()clear(…

超级会员卡积分收银系统源码 带完整的安装代码包以及搭建部署教程

系统概述 超级会员卡积分收银系统源码是一款专为商业运营打造的综合性软件解决方案。它集成了会员卡管理、积分管理、收银管理等多种功能,旨在为企业提供高效、便捷、准确的运营管理工具。 该系统源码采用先进的技术架构,具有良好的稳定性和扩展性&…

Python火焰锋动力学和浅水表面波浪偏微分方程

🎯要点 🎯流图可视化正弦余弦矢量场 | 🎯解空间变化边界条件二维拉普拉斯方程 | 🎯解圆柱坐标系标量场 | 🎯解一维泊松方程 | 🎯解二维扩散方程 | 🎯解火焰锋的动力学偏微分方程 | &#x1f3a…

自动备份SQL Server数据库,试试这4种方法!

各种规模的企业都使用 SQL 数据库来存储数据。因此,备份 SQL Server 数据库对于确保数据安全并在发生灾难时可恢复至关重要。对于 SQL 数据库备份,有多种可行的方法,对于特定组织来说,方法将取决于其具体需求。 SQL Server 备份的…

Vue69-路由基本使用

一、需求 二、开发步骤 2-1、路由的安装 vue-router3才能在vue2中使用!现在默认是vue-router4版本,要在vue3中使用!所以,安装的时候要指定版本。 2-2、在main.js中引入和使用路由 2-3、创建router文件夹 一般在vue中用了vue-ro…

vb.net c#一键编绎引用DLL如何做?编绎成独立EXE

.net c#一键编绎引用如何做? 3个工程有依懒关系 ClassLibrary1,ClassLibrary2,MainProject (主工程) ClassLibrary2依赖ClassLibrary1,MainProject依赖前2个 如何实现一键按顺序编绎,自动添加前…

【中学教资科目二】03中学教学

03中学教学 第一节 教学的任务1.1 教学的任务 第二节 教学过程2.1 教学过程的本质2.2 教学过程的基本规律 第三节 教学原则3.1 因材施教原则 第四节 教学方法4.1 我国中学常用的教学方法4.2 国外常用的教学方法 第五节 教学组织形式、教学工作基本环节和教学评价5.1 现代其他教…

SpringSecurity实战入门——认证

项目代码 gson/spring-security-demo 简介 Spring Security 是 Spring 家族中的一个安全管理框架。相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富。 一般来说中大型的项目都是使用SpringSecurity来做安全框架。小项目有Shiro的比较多,因为相比…

容器之对齐构件

代码&#xff1a; #include <gtk-2.0/gtk/gtk.h> #include <glib-2.0/glib.h> #include <gtk-2.0/gdk/gdkkeysyms.h> #include <stdio.h>int main(int argc, char *argv[]) {gtk_init(&argc, &argv);GtkWidget *window;window gtk_window_ne…

同城跑腿小程序的崛起与用户体验革新

随着移动互联网的飞速发展&#xff0c;人们的生活方式正在发生深刻的变化。在这个快节奏的时代&#xff0c;时间成为了最宝贵的资源。在这样的背景下&#xff0c;同城跑腿小程序应运而生&#xff0c;以其高效、便捷的服务特性&#xff0c;迅速赢得了广大用户的青睐。本文将探讨…

java基于ssm+jsp KTV点歌系统

1管理员功能模块 管理员登录&#xff0c;通过填写注册时输入的用户名、密码进行登录&#xff0c;如图1所示。 图1管理员登录界面图 管理员登录进入KTV点歌系统可以查看个人中心、用户管理、歌曲库管理、歌曲类型管理、点歌信息管理等信息。 修改密码&#xff0c;在修改密码页…

ES6(ECMAScript 6.0) 新特性

1 ES6 基本介绍 &#xff08;1&#xff09;ECMAScript 6.0(简称 ES6)是 JavaScript 语言的下一代标准&#xff0c; 2015 年 6 月发布。 &#xff08;2&#xff09;ES6 设计目标&#xff1a;达到 JavaScript 语言可以用来编写复杂的大型程序&#xff0c;成为企业级开发语言 &…

00 - matlab m_map地学绘图工具安装及简单使用教程

00 - matlab m_map地学绘图工具安装及简单使用教程 0. 引言1. m_map工具的获取及配置过程2. 绘图示例3. 结语 0. 引言 m_map是MATLAB中的一个绘图工具包&#xff0c;用于绘制地图和地理数据。它提供了一系列函数&#xff0c;可以用来绘制地理投影、添加地理特征、绘制等值线图等…

Springboot开发Webservice服务端和客户端

环境说明 Java JDK 1.8、Spring boot 2.1.6、Apache CXF 3.1.6 POM依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.1.6</version&…

可变分区管理 分区分配算法

First Fit Algorithm Best Fit Algorithm FFA&#xff1a;按照分区编号找到第一个能装下进程的起始地址填入第二个表 此时 原表中将起始地址进程大小 分区大小-进程大小 如此继续 BFA&#xff1a;按分区大小排序 从小到大 找到第一个能装下的 剩余步骤和FFA一样 装满了可以直…