李宏毅ML lecture-17-18 unsupervised Learning Generation

使用神经网络的生成模型,李老师从三个方面说明。
在这里插入图片描述

Component-by-component

从一张图片拿出像素点,顺序输入神经网络,训练预测下一个像素。
在这里插入图片描述
练习:
在这里插入图片描述

Source of image: http://bulbapedia.bulbagarden.net/wiki/List_of_Pokémon_by_base_stats_(Generation_VI)

如果直接输入RGB颜色值,让模型输出RGB颜色,输出通过sigmod集中在中央,所以颜色不够丰富。
通过把像素颜色换为one-hot编码,让模型输出one-hot编码。
但是RGB三个颜色全部转为one-hot编码数据有 25 6 3 256^3 2563维。
所以先聚类,用少数的颜色转换为167维。
在这里插入图片描述
输入到LSTM中。
在这里插入图片描述
在这里插入图片描述
用宝可梦图片作为例子,分别输入图片的前50%,75%查看网络的效果:在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
结果十分鬼畜:)
原因就在于很难评判生成结果的好坏。

图像生成—PixelRNN

在这里插入图片描述

Ref: Aaron van den Oord, Nal Kalchbrenner, Koray Kavukcuoglu, Pixel Recurrent Neural Networks, arXiv preprint, 2016

语言合成—waveNet

本来是gif图片但是动不了,模型的训练就是把output作为新的input输入到神经网络中。
模型不需要预训练,直接扔进去。
每一个蓝色的点就是声音讯号的一个sample。
这样就合成了一段声音。
在这里插入图片描述

Audio: Aaron van den Oord, Sander Dieleman, Heiga Zen, Karen Simonyan, Oriol Vinyals, Alex Graves, Nal Kalchbrenner, Andrew Senior, Koray Kavukcuoglu, WaveNet: A Generative Model for Raw Audio, arXiv preprint, 2016

音像生成

也是同样的原理

Video: Nal Kalchbrenner, Aaron van den Oord, Karen Simonyan, Ivo Danihelka, Oriol Vinyals, Alex Graves, Koray Kavukcuoglu, Video Pixel Networks , arXiv preprint, 2016

VAE (Variational Autoencoders)

Auto-encoder

Auto-encoder将input图片压缩为code,通过Decoder还原为一张图片。
损失函数定义为input和output的不同程度,通过训练完成auto-encoder。

随机给出一些code是不是decoder可以生成一些图片呢?
答案是不能的。生成的图片不make sense。
auto-encoder做的其实就是图片的降维。code之间没有任何关系。只有特定的code才能产生有意义的图片。
在这里插入图片描述

VAE

变分自编码器是优化后的autoencoder。他使得中间code具有了含义。从而通过修改code可以生成有意义的照片。

(国内打不开)https://jaan.io/what-is-variational-autoencoder-vae-tutorial/
tensorflow和pytorch 实现 https://github.com/altosaar/variational-autoencoder
https://zhuanlan.zhihu.com/p/34998569

在这里插入图片描述

GAN (Generative Adversarial Network)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值