参考:

https://www.jianshu.com/p/8c7a7cb7198c

https://blog.csdn.net/gdymind/article/details/82696481

零、前言

  最近一个叫deepnude的软件火了,开发它的程序员声称这个软件可以一键“脱掉”照片中女性的衣服(因为AI训练素材的原因也只能是女性),deepnude推出了免费版和付费版,免费版中间有一个大大的水印基本啥都遮住了,付费版就只是在照片的左上角注明了“FAKE”。该软件一经推出就掀起了很大的舆论争议,最近该软件的开发者迫于压力关掉了网站和软件下载(改善生活的企图END)并表示该软件并没有使用很高深的技术,只是pix2pix算法的一种应用(基于大量学习)。这里我们就简单介绍下pix2pix这个AI框架,如果你对deepnude本身感兴趣的话可以关注公众号“零基础爱学习”回复“deepnude”获取更多信息。

一、逆图片识别

  深度学习经过多年发展已经很容易实现AI的万物识别,以前调侃过的AI民工(数据标注员)主要工作就是对大量图片或数据进行标注,不断训练AI,达到的效果就是“看猫是猫”、“看狗是狗”。啥意思呢,简单来说就是给一张猫图能识别出这是个猫,给个狗图就知道是狗,推而广之就是人脸识别、车牌识别、场景识别等等、等等。

  接着我们自然就会想到说,那能不能把这个过程反过来,给AI一个“猫”让它返回一个猫图呢?

  很遗憾,不行!对于AI来说,知道是猫和画个猫其难度与人类学画画是一样一样的。

二、生成对抗网络GAN

  为了教AI学会画猫,科学家们整出了GAN,GAN主要包含两个元素:G和D,G用来生成随机图片,D用来判断这个图片是否符合要求。比如使用G来不断生成随机图片,D判断图片是否是猫图。GD互相作用相互锻炼,如果D足够聪明的话,在一段时间的学习后G生成的图片就越来越像猫,最终就可以源源不断地生产猫图啦。

  前段时间大火的猫图生成器使用的就是这么个原理(还有卡通头像、美女图片等),不过光生成随机图片还不过瘾啊,能不能生成用户需要的图片呢?比如站着的猫、躺着的猫、睡觉的猫?

三、成对训练pix2pix

  GAN使用的方法是生成随机图片,然后判断是否是猫,这种模式的后果就是你得到的总是随机猫图。科学家们又想了个点子,能不能在判断之前先给出正确答案,让G生成的猫图越来越靠近我们需要的样子?于是就有了成对训练pix2pix。

  这个算法的核心就是给出AB两个成对的图片来进行训练,如下图所示。对AI进行大量训练后,当我们给出一个X时,AI就能自动将X转化为Y。

  理论上deepnude就在pix2pix的基础上对大量女性图片(X)和大量果体图片(Y)进行训练,最后达到的效果就是随机给出一个X,AI自动生成果体Y,当然具体操作上会比较复杂。

四、总结

  这里只是对pix2pix做了个简单的介绍,后续还会继续补充更多学习资料,敬请关注“零基础爱学习”!如果你对deepnude本身感兴趣的话可以关注公众号“零基础爱学习”回复“deepnude”获取更多信息。

【零基础】简单说说一键果体APP的AI的更多相关文章

  1. Salesforce 集成篇零基础学习(一)Connected App

    本篇参考: https://zhuanlan.zhihu.com/p/89020647 https://trailhead.salesforce.com/content/learn/modules/c ...

  2. salesforce lightning零基础学习(十一) Aura框架下APP构造实现

    前面的一些lightning文章讲述了aura的基础知识,aura封装的常用js以及aura下的事件处理.本篇通过官方的一个superbadge来实现一个single APP的实现. superbad ...

  3. 快快使用ModelArts,零基础小白也能玩转AI!

    摘要: 走过路过不要错过,看Copy攻城狮如何借力华为云ModelArts玩转AI. "自2018年10月发布以来,ModelArts累计服务了众多行业十几万开发者,通过基础平台的完备性和面 ...

  4. 还在花钱搞开发?猿团YTFCloud,零基础照样做专业APP

    近日,猿团科技再推新品:YTFCloud.这是一套一体化的云端解决方案,用户可以通过平台提供的各类解决方案,一键创建应用,也就是说,YTFCloud实现了APP的DIY自制,用户无需懂得编程,零基础制 ...

  5. 【干货】零基础30分钟让你拥有一个完整属于自己的短视频APP系统

      目录 一.附言: 1 二.购买域名和购买服务器: 2 三.搭建服务器环境: 5 四.配置APP前端部分: 8 1.工具以及文件准备: 9 2.配置后端接口地址 11 3.配置APP启动图和启动图标 ...

  6. salesforce 零基础学习(二十二)Test简单使用

    本篇内容只是本人简单的mark开发中常出现的一些疑问,方便后期项目使用时奠定基础,如果对Test零基础童鞋,欢迎查看Test官方的使用介绍: https://help.salesforce.com/a ...

  7. 《iOS开发指南:从零基础到App Store上架(第2版)》

    <iOS开发指南:从零基础到App Store上架(第2版)> 基本信息 作者: 关东升 丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115348029 上架时间:201 ...

  8. Android零基础入门第24节:自定义View简单使用

    原文:Android零基础入门第24节:自定义View简单使用 当我们开发中遇到Android原生的组件无法满足需求时,这时候就应该自定义View来满足这些特殊的组件需求. 一.概述 很多初入Andr ...

  9. Android零基础入门第25节:最简单最常用的LinearLayout线性布局

    原文:Android零基础入门第25节:最简单最常用的LinearLayout线性布局 良好的布局设计对于UI界面至关重要,在前面也简单介绍过,目前Android中的布局主要有6种,创建的布局文件默认 ...

随机推荐

  1. Lua虚拟机中的数据结构与栈

    Lua虚拟机中的数据结构与栈 来源 https://blog.csdn.net/zry112233/article/details/80828327 由上一篇文章可知解释器分析Lua文件之后生成Pro ...

  2. Linux I2C核心、总线和设备驱动

    目录 更新记录 一.Linux I2C 体系结构 1.1 Linux I2C 体系结构的组成部分 1.2 内核源码文件 1.3 重要的数据结构 二.Linux I2C 核心 2.1 流程 2.2 主要 ...

  3. jQuery 手写菜单(ing)

    菜单支持多级 直接上代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  4. wepy2创建项目

    1.首先 在桌面(自己选定目录下)新建一个文件夹,注意需要使用英文名. 2.Cmd中  进入到该文件目录下 3.安装 wepy 命令行工具. npm install wepy-cli -g wepy ...

  5. TVM图优化(以Op Fusion为例)

    首先给出一个TVM 相关的介绍,这个是Tianqi Chen演讲在OSDI18上用的PPThttps://files.cnblogs.com/files/jourluohua/Tianqi-Chen- ...

  6. jqGrid TreeGrid 加载数据 排序 扩展

    发现 jqGrid TreeGrid 加载的数据必须要排序 给了两种平滑数据模式尽然不内部递归 所以改了下源码加了个数据二次过滤器扩展 数据本该是这样的 结果没排序成这样了 (而且还得是从根节点到子节 ...

  7. 【Java并发】线程通信

    一.概述 1.1 什么是多线程之间通讯? 1.2 案例 代码实现 解决线程安全问题 二.等待通知机制 2.1 示例 2.2 wait与sleep区别 三.Lock锁 3.1 概述 3.2 等待/通知机 ...

  8. Java在常见的spring面试问题TOP50

    1. 一般问题 1.1. 不同版本的 Spring Framework 有哪些主要功能? Version Feature Spring 2.5 发布于 2007 年.这是第一个支持注解的版本. Spr ...

  9. 【uoj#46】 [清华集训2014] 玄学

      题目传送门:uoj46   题意简述:要求在序列上维护一个操作间支持结合律的区间操作,查询连续一段时间内的操作对单点的作用效果,\(n \leq 10^5,m \leq 6 \times 10^5 ...

  10. 转载-对于Python中@property的理解和使用

    原文链接:https://blog.csdn.net/u013205877/article/details/77804137 重看狗书,看到对User表定义的时候有下面两行 @property def ...