热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

李宏毅机器学习系列无监督学习之生成模型

李宏毅机器学习系列-无监督学习之生成模型让机器有有创造力生成模型PixelRNNVAE总结让机器有有创造力我们知道机器是可以学习我们告诉他的东西,也可以学习没有标签

李宏毅机器学习系列-无监督学习之生成模型

  • 让机器有有创造力
  • 生成模型
    • PixelRNN
    • VAE
  • 总结


让机器有有创造力

我们知道机器是可以学习我们告诉他的东西,也可以学习没有标签的东西,但是能不能让他自己有创造力呢,这个是可以有的,比如让他看了很多动漫头像后,他自己能不能尝试着画出来没出现过的,或者让他读了很多诗之后自己写几句:
在这里插入图片描述
所以牛人门开始研究生成模型,比如openai发过的文章,开头引用了费曼黑板上的话,意思是说没有自己做出来不算是真正搞懂的,或许我们让机器去分类猫和狗,但是他其实并不知道什么是猫,什么是狗:
在这里插入图片描述
所以如果他能画出来狗或者猫的图像,或许他才能真正的理解:
在这里插入图片描述

生成模型

下面介绍几种生成模型:
在这里插入图片描述

PixelRNN

这个其实看起来像RNN的那种循环输入,RNN后面会讲到。他做的一件事就是我现在要生成一个图片,但是我只给了一个像素点,让机器根据这个点去生成整个图片,机器会根据之前生成的点来生成下一个点,比如那生成3x3图片的例子来说,最开始有一个初始的点,把他输入到一个神经网络,得到一个新的点,把他作为第二个点:
在这里插入图片描述
然后现在的图是这样:
在这里插入图片描述
然后拿这个两个点做输入,得到第三个点,可能有人会问,这个输入个数变了,这个可以用RNN处理,后面学到的时候就知道了:
在这里插入图片描述
然后现在的图是这样:
在这里插入图片描述
然后我们继续这样做,直到生成9个像素为止:
在这里插入图片描述
我们最后得到:
在这里插入图片描述
有人会问,这个能行么,当然行啦,我们拿别人做的实验来说下,左边是一张狗的图,机器没看到过的,我们把狗的下半身遮住,然后让机器来补全,最后发现他会补全,但是很奇怪,或许他的训练图片里都是这样的下半身,所以他大概率都补全成这样:
在这里插入图片描述
当然也可以用在语音合成上,比如著名的WaveNet,他就是用类似的方法,把生成出来的新点加到输入中,继续生成后面的点:
在这里插入图片描述
来举一个我们比较熟悉的例子,又是宝可梦哈哈,李宏毅老师比较喜欢,我们现在不去抓宝可梦,而是去创造新的宝可梦,原始的宝可梦图是40x40的,我们缩小到20x20:
在这里插入图片描述
我们知道像素是RGB三个颜色合起来的值,但是如果三个颜色都比较接近,点就比较暗:
在这里插入图片描述
所以我们做了个处理,把每个颜色的用1-of-N encoding向量来处理,那这样有很多颜色,不是很麻烦么,没事,我们再做一层聚类,把相似的颜色用同一个向量来表示,最后发现颜色有167个:
在这里插入图片描述
下面老师把处理好的图片文件,每一行是一个宝可梦,数字所代表的颜色在图右边,接下来用一个512的LSTM来训练,LSTM是RNN的一种,后面文章会讲到:
在这里插入图片描述
训练完后我们做生成测试,我们拿机器没看过的图片:
在这里插入图片描述
如果只给他看50%的部分:
在这里插入图片描述
他补全的结果如下,左边的好像穿了个背带裤,中间的变长了,右边的把身体和脚生成出来了,效果还不错:
在这里插入图片描述
再来看看只给25%:
在这里插入图片描述
结果左边好像变腊肠了,中间产生了一个眼睛,右边产生了一个兔子的脸,还有耳朵:
在这里插入图片描述
如果让他从头开始画呢,好像有点有意思的图案,但是不太看的出是什么:
在这里插入图片描述

VAE

先看看我们之前的自编码器的结构,输入一张图片,生成一个code,然后再还原,我们能不能控制产生什么样的图片呢,能不能通过调节code来生成一些我们想要的图片:
在这里插入图片描述
我们可以在code这层做点改变,让他变成从某个高斯混合分布里采样出来的code,具体的理论可以看我写的文章,我就不多说了:
在这里插入图片描述
这个是openai在cifar-10上的结果,还挺奇怪的:
在这里插入图片描述
但是我们已经可以控制生成的一些特征了,比如宝可梦的例子,生产了一个10维的向量,我们固定其中的8维,然后把剩下的两维采样很多的点,生成很多个图,然后观察他们之间的变化,这样我们就可以知道这两个维度是干嘛的,也就可以取不同的值对生成的图片进行调整,同样的方法可以确定所有的维度代表着什么意义:
在这里插入图片描述
我们来看看变化了两个维度的结果,很明显左到右,好像是站起来了,上到下好像是爬下去了,这样我们就可以控制这两个维度来调节这两个特征:
在这里插入图片描述
如何用VAE来写诗呢,原理是一样的,输入一句诗,转成一个code,然后输出一句诗:
在这里插入图片描述
比如我们有两句话,我们把他们的code找出来,然后在明天之间等间隔采样一些code,然后用解码器解码,就可以写出一些句子了:
在这里插入图片描述

总结

本篇主要介绍了一些生成模型,可以用来创造东西,后面还有个GAN可以看我其他的文章,有一个GAN系列,后面会讲。附思维导图:
在这里插入图片描述

好了,今天就到这里了,希望对学习理解有帮助,大神看见勿喷,仅为自己的学习理解,能力有限,请多包涵,图片来自李宏毅课件,侵删。


推荐阅读
  • Python库在GIS与三维可视化中的应用
    Python库极大地扩展了GIS的能力,使其能够执行复杂的数据科学任务。本文探讨了几个关键的Python库,这些库不仅增强了GIS的核心功能,还推动了地理信息系统向更高层次的应用发展。 ... [详细]
  • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
    本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
  • 本文探讨了亚马逊Go如何通过技术创新推动零售业的发展,以及面临的市场和隐私挑战。同时,介绍了亚马逊最新的‘刷手支付’技术及其潜在影响。 ... [详细]
  • 随着技术的发展,黑客开始利用AI技术在暗网中创建用户的‘数字孪生’,这一现象引起了安全专家的高度关注。 ... [详细]
  • 本文探讨了如何在 PHP 的 Eloquent ORM 中实现数据表之间的关联查询,并通过具体示例详细解释了如何将关联数据嵌入到查询结果中。这不仅提高了数据查询的效率,还简化了代码逻辑。 ... [详细]
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 基于机器学习的人脸识别系统实现
    本文介绍了一种使用机器学习技术构建人脸识别系统的实践案例。通过结合Python编程语言和深度学习框架,详细展示了从数据预处理到模型训练的完整流程,并提供了代码示例。 ... [详细]
  • 机器学习核心概念与技术
    本文系统梳理了机器学习的关键知识点,涵盖模型评估、正则化、线性模型、支持向量机、决策树及集成学习等内容,并深入探讨了各算法的原理和应用场景。 ... [详细]
  • Python 工具推荐 | PyHubWeekly 第二十一期:提升命令行体验的五大工具
    本期 PyHubWeekly 为大家精选了 GitHub 上五个优秀的 Python 工具,涵盖金融数据可视化、终端美化、国际化支持、图像增强和远程 Shell 环境配置。欢迎关注并参与项目。 ... [详细]
  • 深入浅出TensorFlow数据读写机制
    本文详细介绍TensorFlow中的数据读写操作,包括TFRecord文件的创建与读取,以及数据集(dataset)的相关概念和使用方法。 ... [详细]
  • 全能终端工具推荐:高效、免费、易用
    介绍一款备受好评的全能型终端工具——MobaXterm,它不仅功能强大,而且完全免费,适合各类用户使用。 ... [详细]
  • 智慧城市建设现状及未来趋势
    随着新基建政策的推进及‘十四五’规划的实施,我国正步入以5G、人工智能等先进技术引领的智慧经济新时代。规划强调加速数字化转型,促进数字政府建设,新基建政策亦倡导城市基础设施的全面数字化。本文探讨了智慧城市的发展背景、全球及国内进展、市场规模、架构设计,以及百度、阿里、腾讯、华为等领军企业在该领域的布局策略。 ... [详细]
  • 本文介绍了MindManager在项目管理中的强大功能,特别是其内置的甘特图工具。通过该工具,用户可以轻松创建和管理项目计划,优化任务分配,并与其他软件无缝集成。 ... [详细]
  • 2017年人工智能领域的十大里程碑事件回顾
    随着2018年的临近,我们一同回顾过去一年中人工智能领域的重要进展。这一年,无论是政策层面的支持,还是技术上的突破,都显示了人工智能发展的迅猛势头。以下是精选的2017年人工智能领域最具影响力的事件。 ... [详细]
author-avatar
迷路的小孩w
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有