| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 什么是对抗网络,对抗网络能干什么,对抗网络简述。 -> 正文阅读 |
|
[人工智能]什么是对抗网络,对抗网络能干什么,对抗网络简述。 |
一、什么是对抗网络: 生成式对抗网络(Generative adversarial network, GAN)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。 二、对抗网络能干什么: (1)数据生成,主要指图像生成。图像生成:基于训练的模型,生成类似于训练集的新的图片。 (2)图像数据增强:增强图像中的有用信息,改善图像的视觉效果。 (3)图像外修复:从受限输入图像生成具有语义意义结构的新的视觉和谐内容来扩展图像边界。 (4)图像超分辨率:由一幅低分辨率图像或图像序列恢复出高分辨率图像。 (5)图像风格迁移:通过某种方法,把图像从原风格转换到另一个风格,同时保证图像内容没有变化。 (6)语音合成 意义:GAN网络可以帮助我们建立模型,相比于在已有模型上进行参数更新的传统网络,更具研究价值。 三、对抗网络由哪些部分组成: (1)生成器(Generator):生成器要不断优化自己生成的数据让判别器判断不出来。 (2)判别器(Discriminator):判别器要进行优化让自己判断得更准确。 二者关系形成对抗,因此叫生成式对抗网络。 接下来我简述下,对抗网络的过程是怎么走的,这是重点: 先给大家说下什么是BCE_LOSS(二元交叉熵): 他是一个专注与做二分类任务的损失函数,目的是求损失,梯度更新,在这里,里面weight(权重参数)不用写。建议大家去搜下这损失函数。 第一步: 先生成一组标签分别是0和1,稍后用作BCE_LOSS损失的输入。 第二步: 训练判别器 会先把真实数据送入判别模型,会返回一个值,然后我们把这个值,和真实值打的标签1求BCE_LOSS损失。 然后把假的的数据(噪音)送入生成模型,也会返回一个值,我们再把这个值,和假的标签0求BECE_LOSS损失。 最后把真实值损失和假数据的损失加到一起,一起求梯度,进行更新。 第三步: 训练生成器 因为我们在判别阶段,已经更新了生成器的参数,所以可以直接再次更新(其实就是参数共享)。 最后:可以根据对抗效果设置迭代次数。 可以参考图片理解,如果不行可以翻译看代码 我下面有一个用对抗网络生成图片的代码,大家可以参考参考: 可以直接复制到pycharm,需要改下手写体数据路径: ?
这是真实的图片↑: ※大家有兴趣可以跑跑试试,迭代200次。 下面是迭代50词的图片↓: ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/28 3:49:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |