文章目录

  • 生成式模型的基础:极大似然估计
  • GANs
    • 最终版本
    • 问题
      • 非饱和博弈
  • DCGAN
  • 不同类型的GAN
    • conditional GAN
    • 无监督条件GAN--cycle GAN
  • 对抗学习

https://blog.csdn.net/suyebiubiu/category_9372769.html

生成式模型的基础:极大似然估计

  • θ∗=argmaxθExpdatalogPmodel(x∣θ)\theta^*=argmax_\theta E_{x~p_{data}}logP_{model}(x|\theta)θ∗=argmaxθ​Ex pdata​​logPmodel​(x∣θ)

  • 生成式模型都源于极大似然估计

    • 显示概率分布

      • 马尔科夫链/BM
    • 隐式概率分布
      • GSN
      • GAN—唯一一个从数据观测一步到位的模型

        以前比较强大的模型都源于HMM模型
  • 人工智能两个阶段

    • 感知阶段
    • 认知阶段
  • GAN(生成式模型

    • 生成数据样本的能力
    • 反应了他的理解(不能产生就没有理解)

GANs

  • 和以前模型的的区别

    • 使用了 latent code(缺省编码)
    • 数据会逐渐统一 (unlike variational methods)
    • 不需要马尔可夫链
    • 被认为可以生成最好的样本
      • (没有办法评价No good way to quantify this
  • 核心思想:博弈论的纳什均衡——对抗达到平衡(共同进步)

    • 生成器:尽量生成真实的分布——努力让判别器认不出来

      • 输入向量,输出图或序列。。。
      • 不同的向量表示不同的特征
      • 想要发现数据的分布Pdata(x)P_{data}(x)Pdata​(x)
        • 假设一个分布Pdata(x;θ),用极大似然去找θP_{data}(x;\theta),用极大似然去找\thetaPdata​(x;θ),用极大似然去找θ
    • 判别器:区分是生成的还是真实的(努力让他能认出生成器生成的数据)
      • 输入:图片
      • 输出:标量评分
        • 分越大,越真实–1
        • 分小则假–0.1
  • 算法

    1. 固定生成器G,从真假图中采样,来更新(训练)判别器D–>D1

      • 版本1:$对V(G_0,D)找到D_0^* $===>D1
      • 版本2:实际使用最小化交叉熵来进行二分类
        • 原来:V(G,D)=ExPdata[log(D(x))]+ExPG[log(1−D(x))](G固定)原来:V(G,D)=E_{x~P_{data}}[log(D(x))]+E_{x~P_{G}}[log(1-D(x))] (G固定)原来:V(G,D)=Ex Pdata​​[log(D(x))]+Ex PG​​[log(1−D(x))](G固定)

          • 目标函数==》maxV~=1mΣi=1mlog(D(xi))+1mΣi=1mlog(D(x~i))\tilde{V}=\frac{1}{m}\Sigma_{i=1}^{m}log(D(x^i))+\frac{1}{m}\Sigma_{i=1}^{m}log(D(\tilde{x}^i))V~=m1​Σi=1m​log(D(xi))+m1​Σi=1m​log(D(x~i))——均值代替期望
          • 原来是对概率求和–>期望–>均值(Σi=1mlogPG(xi;θ)\Sigma_{i=1}^mlog P_G(x^i;\theta)Σi=1m​logPG​(xi;θ)
        • 多迭代几次:$\theta_d<–\theta_d+\eta d \tilde{V} $
    2. 固定D1,训练生成器G–>G1

      • v1:θG←θG−η∂V(G,D0∗)∂θG\theta_G \leftarrow \theta_G-\eta \frac{\partial V(G,D_0^*)}{\partial \theta_G}θG​←θG​−η∂θG​∂V(G,D0∗​)​===>找到G1
      • v2:假设D0∗≈D1∗−−−也就是G变化很小(更新不能太频繁D_0^*\approx D_1^*---也就是G变化很小(更新不能太频繁D0∗​≈D1∗​−−−也就是G变化很小(更新不能太频繁
        • V~=1mΣi=1mlog(D(G(zi))),z来自Pprior(z)\tilde{V}=\frac{1}{m}\Sigma_{i=1}^{m}log(D(G(z^i))),z来自P_{prior}(z)V~=m1​Σi=1m​log(D(G(zi))),z来自Pprior​(z)–目标函数是一样的

          • 1mΣi=1mlog(D(xi))\frac{1}{m}\Sigma_{i=1}^{m}log(D(x^i))m1​Σi=1m​log(D(xi))与生成器无关,可以不考虑
        • $\theta_G<–\theta_G- \eta d \tilde{V} $
    3. 重复到平衡

  • 生成器

    • 极大似然估计L=Πi=1mPG(xi;θ),L=\Pi_{i=1}^mP_G(x^i;\theta),L=Πi=1m​PG​(xi;θ),

      • θ∗=argmaxθΠi=1mPG(xi;θ)\theta^*=argmax_\theta \Pi_{i=1}^mP_G(x^i;\theta)θ∗=argmaxθ​Πi=1m​PG​(xi;θ)
      • θ∗=argmaxθΣi=1mlogPG(xi;θ)\theta^*=argmax_\theta \Sigma_{i=1}^mlog P_G(x^i;\theta)θ∗=argmaxθ​Σi=1m​logPG​(xi;θ)
      • θ∗=argmaxθExPdata(logPG(xi;θ))\theta^*=argmax_\theta E_{x~Pdata}(log P_G(x^i;\theta) )θ∗=argmaxθ​Ex Pdata​(logPG​(xi;θ))—求和近似于期望
      • =argmaxθ∫xPdata(x)logPG(x;θ)dx−∫xPdata(x)logPdata(xi)dx=argmax_\theta \displaystyle \int_x P_{data}(x)log P_G(x;\theta)dx-\displaystyle \int_x P_{data}(x)log P_{data}(x^i)dx=argmaxθ​∫x​Pdata​(x)logPG​(x;θ)dx−∫x​Pdata​(x)logPdata​(xi)dx—后面的只与真实数据有关
      • =argminθKL(Pdata∣∣PG)=argmin_\theta KL(P_{data}||P_G)=argminθ​KL(Pdata​∣∣PG​)----=最小化KL散度(就是最小化他俩的差别KL=Div
    • 如何产生通用的PGP_GPG​?(通过神经网络
      • G∗=argminθKL(Pdata∣∣PG)G^* =argmin_\theta KL(P_{data}||P_G)G∗=argminθ​KL(Pdata​∣∣PG​)
      • Pdata(从真实数据中),PG(生成的采样)未知−−通过采样得到P_{data}(从真实数据中),P_G(生成的采样)未知--通过采样得到Pdata​(从真实数据中),PG​(生成的采样)未知−−通过采样得到
      • $D^*=-2log2+2JSD(P_{data}||P_G) $
      • G∗=argminGKL(Pdata∣∣PG)=argminGmaxDV(G,D)G^*=argmin_G KL(P_{data}||P_G)=argmin_G max_D V(G,D)G∗=argminG​KL(Pdata​∣∣PG​)=argminG​maxD​V(G,D)
  • 判别器

    • 希望判别器通过区分,以Pdata和以PG采样得到的数据
    • 目标函数:V(G,D)=ExPdata[log(D(x))]+ExPG[log(1−D(x))](G固定)V(G,D)=E_{x~P_{data}}[log(D(x))]+E_{x~P_{G}}[log(1-D(x))] (G固定)V(G,D)=Ex Pdata​​[log(D(x))]+Ex PG​​[log(1−D(x))](G固定)真实的+虚假的
      • =∫xPdata(x)logD(x)dx+∫xPG(x)log(1−D(x))dx=\displaystyle \int_x P_{data}(x)log D(x) dx +\displaystyle \int_x P_{G}(x)log (1-D(x)) dx=∫x​Pdata​(x)logD(x)dx+∫x​PG​(x)log(1−D(x))dx
      • =∫x(Pdata(x)logD(x)+PG(x)log(1−D(x)))dx=\displaystyle \int_x (P_{data}(x)log D(x)+ P_{G}(x)log (1-D(x))) dx=∫x​(Pdata​(x)logD(x)+PG​(x)log(1−D(x)))dx
        • 假设D(x)能够是任何函数–
        • 所以D要足够强–深度神经网络
        • 最大化(Pdata(x)logD(x)dx+PG(x)log(1−D(x)))(P_{data}(x)log D(x) dx + P_{G}(x)log (1-D(x)))(Pdata​(x)logD(x)dx+PG​(x)log(1−D(x)))
          • 求导:

            • d(f(D))dD=a∗1D+b∗11−D∗(−1)=0\frac{d(f(D))}{dD}=a*\frac{1}{D}+b*\frac{1}{1-D}*(-1)=0dDd(f(D))​=a∗D1​+b∗1−D1​∗(−1)=0
            • a∗1D∗=b∗11−D∗a*\frac{1}{D^*}=b*\frac{1}{1-D^*}a∗D∗1​=b∗1−D∗1​
            • D∗(x)=aa+b=Pdata(x)Pdata(x)+PG(x)D^*(x)=\frac{a}{a+b}=\frac{P_{data}(x)}{P_{data}(x)+P_{G}(x)}D∗(x)=a+ba​=Pdata​(x)+PG​(x)Pdata​(x)​(在(0,1)之间
        • 带入$G^* $
          • D∗=maxDV(G,D)=V(G,D∗)=ExPdata[log(Pdata(x)Pdata(x)+PG(x))]+ExPG[log(PG(x)Pdata(x)+PG(x))]D^*=max_DV(G,D)=V(G,D^*)=E_{x~P_{data}}[log(\frac{P_{data}(x)}{P_{data}(x)+P_{G}(x)})]+E_{x~P_{G}}[log(\frac{P_{G}(x)}{P_{data}(x)+P_{G}(x)})]D∗=maxD​V(G,D)=V(G,D∗)=Ex Pdata​​[log(Pdata​(x)+PG​(x)Pdata​(x)​)]+Ex PG​​[log(Pdata​(x)+PG​(x)PG​(x)​)]
          • =−2log2+∫x(Pdata(x)logPG(x)(Pdata(x)+PG(x))/2+PG(x)log(PG(x)(Pdata(x)+PG(x))/2))dx=-2log2+\displaystyle \int_x (P_{data}(x)log \frac{P_{G}(x)}{(P_{data}(x)+P_{G}(x))/2} + P_{G}(x)log (\frac{P_{G}(x)}{(P_{data}(x)+P_{G}(x))/2)}) dx=−2log2+∫x​(Pdata​(x)log(Pdata​(x)+PG​(x))/2PG​(x)​+PG​(x)log((Pdata​(x)+PG​(x))/2)PG​(x)​)dx
          • =−2log2+KL(Pdata∣∣Pdata(x)+PG(x)2)+KL(PG∣∣Pdata(x)+PG(x)2)=-2log2+KL(P_{data}||\frac{P_{data}(x)+P_{G}(x)}{2})+KL(P_{G}||\frac{P_{data}(x)+P_{G}(x)}{2})=−2log2+KL(Pdata​∣∣2Pdata​(x)+PG​(x)​)+KL(PG​∣∣2Pdata​(x)+PG​(x)​)
          • =−2log2+2JSD(Pdata∣∣PG)=-2log2+2JSD(P_{data}||P_G)=−2log2+2JSD(Pdata​∣∣PG​)
          • JSD(Pdata∣∣PG)=12D(P∣∣M)+12D(Q∣∣M),M=12(P+Q)JSD(P_{data}||P_G)=\frac{1}{2}D(P||M)+\frac{1}{2}D(Q||M),M=\frac{1}{2}(P+Q)JSD(Pdata​∣∣PG​)=21​D(P∣∣M)+21​D(Q∣∣M),M=21​(P+Q)
    • 训练:D∗=argmaxDV(D,G)D^*=argmax_DV(D,G)D∗=argmaxD​V(D,G)


最终版本

  • 训练:SGD,同时训练两组数据——深度神经网络

    • 真实的
    • 生成的
  • 优化
    • 可以一组训练跑一次时,另一组跑k次

问题

  • 在开始的时候,训练较慢

非饱和博弈

  • 更换后,极值点不变
  • 原来D=1/2时,就无法训练了,而这个里面,D=1/2时仍然可以对生成器进行训练

DCGAN

  • 反卷积生成图像

不同类型的GAN

  1. 传统GAN–

    • 没有任何条件的,
    • 给定一个图片,生成类似的图片
  2. 有条件的GAN
    • 给定图片+图片里的信息(条件)
    • 传统的神经网络,容易输出一个图片的平均(不对)–用GAN
  3. 无监督有条件的GAN
    • 给定两个领域的图片
    • 由一个领域的图片可以生成另外一个领域的图片
    • 真实图片–》漫画风?

conditional GAN

  • 生成器

    • 不仅要生成火车,还要满足条件
  • 判别器
    • 判别是不是真实图片
    • 判别是不是满足条件
    • 对于真实的图片,不满足条件也输出0

无监督条件GAN–cycle GAN

  • 直接使用会趋向于直接拿过来一个梵高的画

    1. 需要用一个网络,使得X≈YX \approx YX≈Y
    2. 也可以用生成器的逆过程反过来生成X’,X≈X′X \approx X'X≈X′

对抗学习

  • 区别

    • 一般机器学习只有一个机制点
    • 对抗学习基于博弈论
      • 有两个player
      • 一个取极大一个取极小—求个鞍点
  • 用于
    • 白天–>黑天

      • 没有真实对应的信息,只能通过对抗GAN网络生成—视频
    • 加噪音–让图片不可识别–安全(攻击分类器)
    • 通过将对抗的x’加入分类其中,提高分类器的能力(稳定性)
  • 损失函数
    • 分类器loss(θ)=C(y0,ytrue)小,y0=fθ(x)loss(\theta)=C(y0,y_{true})小,y0=f_{\theta}(x)loss(θ)=C(y0,ytrue​)小,y0=fθ​(x)
    • 对抗的就是loss(x′)=−C(y0,ytrue)+C(y′,yfalse,y0=fθ(x‘)loss(x')=-C(y0,y_{true})+C(y',y_{false},y0=f_{\theta}(x‘)loss(x′)=−C(y0,ytrue​)+C(y′,yfalse​,y0=fθ​(x‘)–优化x’
    • 约束:d(x0,x′)<=ϵd(x0,x')<=\epsilond(x0,x′)<=ϵ看着原图没啥变化
    • 得到一个x’

国科大高级人工智能6-GAN相关推荐

  1. 国科大高级人工智能2020-2021年期末试题回顾

    国科大高级人工智能2020-2021年期末试题回顾 题型 选择题 简答题 应用题 附件 题型 题型没有变,仍然为选择题(20道,每道1分),简答题(3道,每道10分),综合应用题(3道,15,15,2 ...

  2. 国科大高级人工智能-总结

    文章目录 1.概论 2. 搜索 A\*最优性 三个传教士与野人 3.神经网络 RBM DBN DBM hopfield比较 结构及特性 逐层贪婪训练与CD BP GAN 4.逻辑 一个永远无法归结结束 ...

  3. 国科大.高级人工智能.2022期末考试真题回忆版

    选择 通过图灵测试意味着? 图神经网络 因果中的条件独立性判断 GAN tanh的曲线 哪一个是时序差分? 判断 启发函数的可采纳.一致的含义 广搜是代价一致搜索的特例 贪心搜索是A星算法的特例 爬山 ...

  4. 国科大 - 高级人工智能(沈华伟等)- 期末复习 - 试卷

    历年考点 2016 2017 2018 2019 2020 简答题 蚁群.粒子 蚁群.粒子 蚁群.粒子 蚁群.粒子 简答题 A* 最优性 BP GAN 感知机 BP BP 激活函数 简答题 语义网络 ...

  5. 国科大高级人工智能12-博弈

    这里写自定义目录标题 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一 ...

  6. 国科大高级人工智能10-强化学习(多臂赌博机、贝尔曼)

    文章目录 多臂赌博机Multi-armed bandit(无状态) 马尔科夫决策过程MDP(markov decision process 1.动态规划 蒙特卡罗方法--不知道环境完整模型情况下 2. ...

  7. 国科大高级人工智能9-模糊数学和遗传算法

    文章目录 1.模糊计算 笛卡尔积.关系 模糊集 连续的隶属度函数 运算 2.evolution 遗传算法 1.模糊计算 why模糊 取得精确数据不可能或很困难 没有必要获取精确数据 模糊性概念:对象从 ...

  8. 国科大高级人工智能8-归结原理和horn子句

    只有一条规则的推理 resolution(消解,归结) CNF(conjunction normal form合取范式 (A∨B)∧(B∨C)(A∨B)∧(B∨C)(A∨B)∧(B∨C) 任何逻辑式都 ...

  9. 国科大高级人工智能7-命题逻辑

    文章目录 命题逻辑(语法Syntax) 由枚举推理(inference by enumeration 区别 deduction(形式推演,演绎) 作业(定理证明) logics:逻辑,表达信息的形式语 ...

最新文章

  1. php的foreach
  2. OpenGL ES 纹理设置
  3. centos 计算器_Linux学习之CentOS(十五)--Linux常用命令之bc、man、shutdown...
  4. MySQL表设计基础
  5. Git 报错fatal: not a git repository (or any parent up to mount point /) Stopping at filesystem bounda
  6. Atitit mybatis业务流程配置化管理总结 目录 1. Mybatis 1 2. 流程模型常见的bpm模式 1 2.1. 活动task 流程,getway流程控制(分支跳转 循环等) 1 3
  7. 单片机毕业设计 超声波雷达可视化系统
  8. NNDL 实验三 线性回归
  9. Win11 WSA 安卓子系统 下载安装更新
  10. (152)IES光源概述文件
  11. mysql mariadb libs_mysql 安装 【解决】mariadb-libs is obsoleted by *** - Ctrl+CCtrl+V - ITeye博客...
  12. SpringCloudConfig分布式配置中心介绍与搭建使用以及ConfigClient实现动态刷新配置
  13. 定义矩形类(长length,宽widen)求面积(area)(简单例子)
  14. 容器部署在物理机还是虚拟机上?
  15. 未来公园怎么能少了广场舞?
  16. 14宽的键槽深度多少_平键和键槽标准尺寸规格表.doc
  17. 笔记本电脑常识:噪音
  18. 微博数据分析工具限时福利!购买西瓜微数加送会员时长 ,最多加赠1个月!
  19. 数字电路——与或非逻辑门电路
  20. openbsd运行Linux应用程序,OpenBSD操作系统(1)——服务管理程序rcctl 类似linux下的service或syst...

热门文章

  1. Linux 下的推迟执行
  2. html判断坐标,js判断鼠标位置是否在某个div中的方法
  3. DataWhale组队-Pandas(下)缺失数据(打卡)
  4. php博客文章修改,wordpress博客如何快速修改文章阅读数
  5. numpy中两个array数值比较,在IDE中显示完全相同,但是bool判断两个array是否相等却返回False
  6. 四、MySQL分页查询 + 子查询复习 学习笔记 (复习连接查询相关内容 详解)
  7. LeetCode 271. 字符串的编码与解码(4位16进制字符+字符串)
  8. LeetCode 第 29 场双周赛(890/2259,前39.4%)
  9. LeetCode 810. 黑板异或游戏(博弈推理)
  10. 程序员面试金典 - 面试题 04.12. 求和路径(二叉树递归)