揭秘自编码器,一种捕捉数据最重要特征的神经网络(视频+代码)

简介: YouTube网红小哥Siraj Raval系列视频又和大家见面啦!今天要讲的是自编码器Autoencoder。 时长8分钟 有中文字幕 点击观看 ▼ 首先,自编码器是一个神经网络。 如果我们得到的数据是正确标注的,不论是图像或音频或文本,我们就很幸运了。

YouTube网红小哥Siraj Raval系列视频又和大家见面啦!今天要讲的是自编码器Autoencoder。

时长8分钟

有中文字幕

点击观看

4fac3fd7814b418a7bbb4d650c4a1603525de7f3

首先,自编码器是一个神经网络。

如果我们得到的数据是正确标注的,不论是图像或音频或文本,我们就很幸运了。深度学习在有标注数据集上非常有效。这是因为总有一个函数代表了变量之间的关系。

比如如果我们的输入数据是一堆数字,还有定义了输入数据是偶数或者奇数的标签,那么代表这两列数字关系的函数就很简单:如果输入数据能被2整除,则这个数是偶数,不然就是奇数。

a1db5ddd0034fb2ef7ee0b91bf14a0684f0c2fb3

所有数据类型(视频或文本)均可用数字表示。因此总是有一个函数能映射关系。只不过比我们刚刚讨论过的函数更复杂一点。

所以我们现在可以跟电脑说话,真是太不可思议了。

-OK Google, do you love me?

-Ha ha ha ha, No.

(文摘菌:这段绝对不容错过!1'30''左右,一定要去原视频听听谷歌讽刺的笑声,是个女高音)

语音识别就是深度学习应用在标记数据集的结果。如果一个开发团队想要创建语音识别引擎,他们会使用以其转录本为标签的音频剪辑数据集。音频的每一个字节可以被分解成一系列数字,文字记录也可以。一些运算组合将输入转换成标签,这个组合就是函数。

神经网络可以通过反复的优化过程(也就是训练的过程)来慢慢逼近这个函数,简而言之就是每次迭代都最小化错误值。因此给定一个新的音频剪辑,它可以容易地预测到它的转录本会是什么样。

深度学习本质上是在完成从a到b的映射。更准确地说,它在完成通用函数逼近。

意思是有足够数据的话,神经网络可以逼近任何函数。

170a519f0c32bfc406b22720f484e1d95c17c1fe

输入一个贷款申请,输出客户会偿还的可能性;输入电子邮件,输出它是垃圾邮件或非垃圾邮件的概率……

深度学习不仅仅能用来找到未知的函数,还能找到我们是如何发现一个已知函数的。

所有神经网络都是复合函数,也就是函数套函数。网络上的层数越多,其嵌套函数也越多。对于一个三层网络来说,我们要用第一个权重矩阵乘以输入,对它应用一个激活函数,再重复这个过程。

这次我们使用输出作为我们新的输入。输入时间,等待,激活,结果是我们的输出。这可以表示为复合函数,因为我们用第一个函数的输出作为下一个函数的输入。

不过,假设我们的目标不是找到一个标签Y,而是重建原始输入X呢?

如果我们的输入是由几个数字组成的数组,在应用一系列运算之后,我们的网络应该以完全相同的数字输出这些相同的输入。我们将第一部分,可以将压缩输入成更少比特数的网络的,称为编码器。我们可以将第二部分,建立视觉图像的,称为译码器。

我们为什么要关心这个呢?我们不关心输出,因为输出只是复制了输入,我们关心的是隐藏层。如果一个网络能够重建输入,那么隐藏层必须包含足够信息给输出。如果隐藏层比输入层和输出层小,那么它代表的是低密度的相同信息,是从学习中得到的输入数据的集中代表。

f8024c2ba6939cd56ae0de8584b23401db4cdc18

也有别的更好的办法来压缩数据,不过自编码器在某些领域还是很有用的,例如降维。它也可以被用在分类问题上。如果自编码器能正确地构建示例,这个示例很可能和用于训练的类别属于同一类。另外一个用途是异常检测。我们用正常例进行训练,这样可以很容易发现异常。如果我们训练它检测训练集中的异常,它只会发现那些已经见过的异常,而通常情况下异常值是比较少的。

好啦!更多有关自编码器的分类和代码的内容,可以自行看视频和通过文末的链接下载代码喔。以下是视频的重点总结:

神经网络可以缓慢地逼近各种函数,它可以通过训练(迭代优化过程)从而映射输入为输出。如果我们把输出设置为输入,就可以称这个神经网络为自编码器。自编码器有很多类型,包括最近出现的变分自编码器(VAE)。

最后附上一个视频里有关语音助手的笑话:

贝佐斯:Alexa,买点Whole Food的吃的做晚餐。

Alexa:好的,正在买Whole Food。

(指语音助手误会这位CEO的意思让亚马逊直接收购Whole Food)

1afa40d7f939ad1999c2b77fdbb617b820d78fea


原文发布时间为:2018-04-21

本文作者:文摘菌

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“大数据文摘”。

相关文章
|
1天前
|
安全 JavaScript 前端开发
第十六届山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题—B模块安全事件响应/网络安全数据取证/应用安全
该内容描述了一次网络安全演练,包括七个部分:Linux渗透提权、内存取证、页面信息发现、数字取证调查、网络安全应急响应、Python代码分析和逆向分析。参与者需在模拟环境中收集Flag值,涉及任务如获取服务器信息、提权、解析内存片段、分析网络数据包、处理代码漏洞、解码逆向操作等。每个部分都列出了若干具体任务,要求提取或生成特定信息作为Flag提交。
3 0
|
1天前
|
安全 测试技术 网络安全
2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-C安全事件响应/网络安全数据取证/应用安全
B模块涵盖安全事件响应和应用安全,包括Windows渗透测试、页面信息发现、Linux系统提权及网络安全应急响应。在Windows渗透测试中,涉及系统服务扫描、DNS信息提取、管理员密码、.docx文件名及内容、图片中单词等Flag值。页面信息发现任务包括服务器端口、主页Flag、脚本信息、登录成功信息等。Linux系统渗透需收集SSH端口号、主机名、内核版本,并实现提权获取root目录内容和密码。网络安全应急响应涉及删除后门用户、找出ssh后门时间、恢复环境变量文件、识别修改的bin文件格式及定位挖矿病毒钱包地址。
3 0
|
1天前
|
安全 测试技术 Linux
2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-A模块安全事件响应/网络安全数据取证/应用安全
该内容描述了一个网络安全挑战,涉及Windows和Linux系统的渗透测试以及隐藏信息探索和内存取证。挑战包括使用Kali Linux对Windows Server进行服务扫描、DNS信息提取、密码获取、文件名和内容查找等。对于Linux系统,任务包括收集服务器信息、提权并查找特定文件内容和密码。此外,还有对Server2007网站的多步骤渗透,寻找登录界面和页面中的隐藏FLAG。最后,需要通过FTP获取win20230306服务器的内存片段,从中提取密码、地址、主机名、挖矿程序信息和浏览器搜索关键词。
2 0
|
1天前
|
安全 测试技术 网络安全
2024年甘肃省职业院校技能大赛中职组 “网络安全”赛项竞赛样题-C模块安全事件响应/网络安全数据取证/应用安全
涉及安全事件响应和应用安全测试。需使用Kali对Windows Server2105进行渗透测试,包括服务扫描、DNS信息提取、管理员密码、文件名与内容、图片中单词等。另外,需收集win20230305的服务器端口、页面信息、脚本、登录后信息等。在Linux Server2214上,要获取SSH端口、主机名、内核版本并进行提权操作。网络安全响应针对Server2228,涉及删除后门用户、查找SSH后门时间、恢复环境变量、识别篡改文件格式和矿池钱包地址。最后,对lin20230509进行网站渗透,获取端口号、数据库服务版本、脚本创建时间、页面路径、内核版本和root目录下的flag文件内容
3 0
|
2天前
|
机器学习/深度学习 算法 算法框架/工具
数据分享|PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
数据分享|PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
21 0
|
2天前
|
机器学习/深度学习 传感器 数据可视化
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
15 1
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
|
7天前
|
机器学习/深度学习 数据可视化 测试技术
深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据
深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据
19 0
|
8天前
|
机器学习/深度学习 API 算法框架/工具
R语言深度学习:用keras神经网络回归模型预测时间序列数据
R语言深度学习:用keras神经网络回归模型预测时间序列数据
16 0
|
8天前
|
机器学习/深度学习 数据采集 TensorFlow
R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)
R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)
27 0
|
8天前
|
存储 算法 前端开发
R语言中贝叶斯网络(BN)、动态贝叶斯网络、线性模型分析错颌畸形数据
R语言中贝叶斯网络(BN)、动态贝叶斯网络、线性模型分析错颌畸形数据
30 0

热门文章

最新文章