参考:

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. YoloV3 训练崩溃

    经过排查  发现是这里出了问题 然后发现是标注文件里有 x=0 y=0  这样的数据,46_Jockey_Jockey_46_576.txt ,  那么肯定是标注文件出了问题!! 删除该标注文件即可. ...

  2. MySQL自测测试

    #建学生信息表student create table student ( sno varchar(20) not null primary key, sname varchar(20) not nu ...

  3. ES6入门十:iterator迭代器

    迭代模式 ES6迭代器标准化接口 迭代循环 自定义迭代器 迭代器消耗 一.迭代模式 迭代模式中,通常有一个包含某种数据集合的对象.该数据可能存在一个复杂数据结构内部,而要提供一种简单的方法能够访问数据 ...

  4. jboss 反序列化 getshell

    获取信息 上传jsp 小马 小马成功 上传大马,大马也成功

  5. kalilinux 渗透测试笔记

    声明:本文理论大部分是苑房弘kalilinux渗透测试的内容 第五章:基本工具 克隆网页,把gitbook的书记下载到本地 httrack "http://www.mybatis.org/m ...

  6. sql 随机数系列

    一.把数据库把某个字段更新为随机数 DECLARE @Hour INT DECLARE @Counts INT SET @Hour =DATENAME(HOUR, GETDATE()) ) BEGIN ...

  7. 学java编程软件开发,非计算机专业是否能学

    近几年互联网的发展越来越好,在国外,java程序员已经成为高薪以及稳定职业的代表,虽然国内的有些程序员很苦逼,但是那只是少数,按照国外的大方向来看,程序员还是一个很吃香的职业.根据编程语言的流行程度, ...

  8. Math.pow

    一个Math函数,例如:Math.pow(4,3);返回4的三次幂,用法:Math.pow(x,y) x 必需传.底数.必须是数字. y 必需传.幂数.必须是数字. 如果结果是虚数或负数,则该方法将返 ...

  9. .configurable:可配执行 .enumerble:枚举性 .writable:可读写性 .value:数据值

    configurable:控制属性能否被删除,只有当属性的configurable特性的值为true时,该属性才能够被删除. 默认值为false,即不可删除) var person = {}; Obj ...

  10. localstorage ie11不支持

    据我所知,localstorage在高版本的ie.谷歌.火狐下都是支持的,以前没在ie上看过,不清楚,今天我用ie11打开我vue编译后的html,竟然发现不支持localstorage了,用仿真的i ...