GAN Generative Adversarial Networks

生成对抗网络.学习真实世界的真实数据的分布,用于创造以假乱真的数据.比如前段时间很火的应用deep fake.deep nude.

由两部分构成,生成网络g,对抗网络d. g用于创建假的数据.d用于判别数据.d和我们平常用的神经网络没什么区别.

手写数字识别的例子.

如何创建以假乱真的图片

已上图为例,部分被马赛克了,那怎么恢复这部分被马赛克的像素呢?
我们要谈到2种信息

  • 上下文信息 即某个像素与周围的像素是有关系的,可以根据周围像素的信息得到马赛克掉的像素的信息
  • 感知信息 根据上下文信息,可能马赛克的像素位置有很多种可能,但是组成图片后,可能看起来并不像正常的图片,我们要让恢复后的图片尽量看起来像正常的图片

现在就要说到图片和概率分布的关系了.
图片是什么?是一堆像素.比如64 X 64 X 3的图有大概12K个像素. 那我们可以把图片理解为12K维空间里的一个点.

现在说回概率分布

以二维空间为例,当x=1的时候,可能对应着很多点.那最有可能的y是多少呢?其实也就是x=1时,最密集的点在什么位置. 显然这个可以通过已有样本统计得到.

扩展到高维空间,其实道理是一样的.首先我们有了很多很多图片,也就是说我们有了很多很多12K维的样本,这样的话我们就能得到概率分布,从而可以根据这个分布去填充马赛克图片里的马赛克部分,使得数据最大程度地拟合前面统计出来的概率分布.

最新文章

  1. Power BI REST API
  2. iOS开发——高级篇——iPad开发、iPad开发中的modal
  3. 使用iptables防火墙限制web的访问PV
  4. java学习材料
  5. objective-C常量与变量
  6. js中的3种弹出式消息提醒(警告窗口,确认窗口,信息输入窗口)的命令式
  7. Go 终极指南:编写一个 Go 工具
  8. 命令行神器 Click 简明笔记
  9. Beta冲刺 3
  10. Node.js项目拆包工程化
  11. 关于 vscode 格式化自己的代码 使用shift+alt+f
  12. Python中的test测试
  13. php Pthread 线程 互斥锁
  14. 【Git】 GitLab简单使用
  15. Nutch源码阅读进程3
  16. Unity5 AssetBundle系列——基本流程
  17. (1)什么是web框架和http协议
  18. Junit4知识梳理
  19. 解决问题E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
  20. Automate the Sizing of your SGA in Oracle 10g

热门文章

  1. .NET MVC5简介(六)HttpHandler
  2. C#反射调用类的私有方法
  3. linux下 sort | uniq | wc | less 几个命令的基本用法
  4. jqgrid后台处理搜索
  5. 使用Wireshark进行DNS协议解析
  6. GitHub 总是打不开,网再好也米有用,怎么办?
  7. [20191012]使用bash从sql_id计算hash_value.txt
  8. c++ 模板特化与局部特化
  9. Python正则表达式中re.S作用
  10. Maven配置以及环境搭配