【零基础】简单说说一键果体APP的AI
参考:
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的更多相关文章
- Salesforce 集成篇零基础学习(一)Connected App
本篇参考: https://zhuanlan.zhihu.com/p/89020647 https://trailhead.salesforce.com/content/learn/modules/c ...
- salesforce lightning零基础学习(十一) Aura框架下APP构造实现
前面的一些lightning文章讲述了aura的基础知识,aura封装的常用js以及aura下的事件处理.本篇通过官方的一个superbadge来实现一个single APP的实现. superbad ...
- 快快使用ModelArts,零基础小白也能玩转AI!
摘要: 走过路过不要错过,看Copy攻城狮如何借力华为云ModelArts玩转AI. "自2018年10月发布以来,ModelArts累计服务了众多行业十几万开发者,通过基础平台的完备性和面 ...
- 还在花钱搞开发?猿团YTFCloud,零基础照样做专业APP
近日,猿团科技再推新品:YTFCloud.这是一套一体化的云端解决方案,用户可以通过平台提供的各类解决方案,一键创建应用,也就是说,YTFCloud实现了APP的DIY自制,用户无需懂得编程,零基础制 ...
- 【干货】零基础30分钟让你拥有一个完整属于自己的短视频APP系统
目录 一.附言: 1 二.购买域名和购买服务器: 2 三.搭建服务器环境: 5 四.配置APP前端部分: 8 1.工具以及文件准备: 9 2.配置后端接口地址 11 3.配置APP启动图和启动图标 ...
- salesforce 零基础学习(二十二)Test简单使用
本篇内容只是本人简单的mark开发中常出现的一些疑问,方便后期项目使用时奠定基础,如果对Test零基础童鞋,欢迎查看Test官方的使用介绍: https://help.salesforce.com/a ...
- 《iOS开发指南:从零基础到App Store上架(第2版)》
<iOS开发指南:从零基础到App Store上架(第2版)> 基本信息 作者: 关东升 丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115348029 上架时间:201 ...
- Android零基础入门第24节:自定义View简单使用
原文:Android零基础入门第24节:自定义View简单使用 当我们开发中遇到Android原生的组件无法满足需求时,这时候就应该自定义View来满足这些特殊的组件需求. 一.概述 很多初入Andr ...
- Android零基础入门第25节:最简单最常用的LinearLayout线性布局
原文:Android零基础入门第25节:最简单最常用的LinearLayout线性布局 良好的布局设计对于UI界面至关重要,在前面也简单介绍过,目前Android中的布局主要有6种,创建的布局文件默认 ...
随机推荐
- python selenium5 模拟点击+拖动+按照指定相对坐标拖动 58同城验证码
#!/usr/bin/python # -*- coding: UTF-8 -*- # @Time : 2019年12月9日11:41:08 # @Author : shenghao/10347899 ...
- 关于小程序去除view/navigator 点击后默认阴影效果
hover:class :定义容器在被触发时的样式 通常无用,但若不去除则影响用户体验: 为避免被覆盖,约定在wxss底部添加class,比如: <!-- wxml --> <na ...
- select input 等控件进行清空操作
<html> <head> <meta charset="utf-8" /> <title></title> <s ...
- NET如何使用ELinq-实现增删改查
1 通过对ELinq主页的参考和学习,以及在项目中(wpf项目中用到的)中应用,ORM框架中的ELinq确实非常的强大,特此以建立wpf项目为例子来总结下如何在项目中应用ELinq,要想使用这个框架首 ...
- 多进程之multiprocessing模块和进程池的实现
转载:https://www.cnblogs.com/xiaobeibei26/p/6484849.html Python多进程之multiprocessing模块和进程池的实现 1.利用multip ...
- Django:中间件与csrf
一.中间件 什么是中间件 中间件有什么用 自定义中间件 中间件应用场景 二.csrf csrf token跨站请求伪造 一.中间件 什么是中间件 中间件顾名思义,是介于request与response ...
- C#实现异步阻塞TCP(Send,Receive,Accept,Connect)
1.类 (1)服务器端操作类 public class TcpServiceSocket { //接收数据事件 public Action<Socket, string> recvMess ...
- python_函数作用域
py文件:全局作用域 函数:局部作用域 一个函数是一个作用域 def func(): x = 9 print(x) func() print(x) 作用域中查找数据规则:优先在自己的作用域找数据,自己 ...
- 一个restframework快速实例
首先在settings.py中引入 INSTALLED_APPS = [ ...... 'rest_framework', ......] 相关模型结构如下: class custume(models ...
- Serializable(转)
最近在阅读JDK源码中的集合,看到很多集合类实现了Serializable接口,Cloneable接口.在阅读了很多关于Serializable接口的博客后,浅谈下我对Serializable接口的理 ...