自编码器(二)

自编码器到底好在哪里?当我们把一个高维度的图片,变成一个低维度的向量的时候,到 底带来什么样的帮助呢?我们来设想一下,自编码器这件事情它要做的,是把一张图片压缩 又还原回来,但是还原这件事情为什么能成功呢?如图1.1所示,假设本来图片是3×3的 维度,此时我们要用9个数值来描述一张3×3的图片,假设编码器输出的这个向量是二维 的,我们怎么才可能从二维的向量去还原3×3的图片,即还原这9个数值呢?怎么有办法把 9 个数值变成2个数值,又还原成3,又还原回9个数值呢?

图1.1 自编码器的原理

能够做到这件事情是因为,对于图像来说,并不是所有3×3的矩阵都是图片,图片的变 化其实是有限的,你随便采样一个随机的噪声,随便采样一个矩阵出来,它通常都不是你会 看到的图片。举例来说,假设图片是3×3的,那它的变化,虽然表面上应该要有3×3个数 值,才能够描述3×3的图片,但是也许它的变化实际上是有限的。也许我们把图片收集起来 发现,它实际上只有如图1.1所示的白色和橙色方块两种类型。一般在训练的时候就会看到 这种状况,就是因为图片的变化还是有限的。因此我们在做编码器的时候,有时只用两个维度 就可以描述一张图片,虽然图片是3×3,应该用9个数值才能够储存,但是实际上它的变化 也许只有两种类型,那你就可以说看到这种类型,我就左边这个维度是1,右边是0,看到这 种类型就左边这个维度是0,右边这个维度是1。

而编码器做的事情就是化繁为简,有时本来比较复杂的东西,它实际上只是表面上看起 来复杂,而本身的变化是有限的。我们只需要找出其中有限的变化,就可以将它本来比较复杂 的东西用更简单的方法来表示。如果我们可以把复杂的图片,用比较简单的方法来表示它,那 我们就只需要比较少的训练数据,在下游的任务里面,我们可能就只需要比较少的训练数据, 就可以让机器学到,这就是自编码器的概念。

自编码器从来就不是一个新的概念,它具有悠长的历史。举例来说,深度学习之父Hinton 早在2006 年的Science 论文里面就有提到自编码器这个概念,只是那个时候用的网络跟今天 我们用的有很多不一样的地方。那个时候自编码器的结构还不太成熟,当时人们还并不认为 深度的神经网络是能够训练起来的,换句话说就是把网络叠很多层,然后每一层一起训练的 方法是不太可能成功的,因此人们普遍认为每一层应该分开训练,所以Hinton用的是一个叫 做受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)的技术。

这里我们特别把Hinton 教授 2006 年的文章里面的图拿出来给大家展示一下过去人们是 怎么看待深度学习这个问题的。那个时候要训练一个很深的网络不太可能,每一层分开要训 练,虽然这个在现在看来很深也没有很深,只是三层,但是在2006年这个已经是很深的了。 那这个三层要分开来训练才可以,那这边说分开来训练这件事情叫做预训练。但它跟自监督 学习中的预训练又不太一样,假设自编码器是预训练,那么这里的预训练就相当于是预训练 中的预训练,这里预训练倾向于训练流程的概念,自编码器的预训练倾向于算法流程的概念。 这里预训练是要先训练自编码器,每一层用RBM的技术分开来训练。先把每一层都训练好, 再全部接起来做微调这件事情,这边的微调也并不是BERT模型的微调,它是微调那个预训 练的模型。这个RBM技术我们会发现今天很少有人在提到它了,它其实不是一个深度学习 的技术,它有点复杂,我们也没有打算要深入细讲,至于为什么现在都很少人用它,就是因为它没有什么用。但是在2006年,还是有必要用到这个技术的。其实Hinton后来在2012年的 时候,有一篇论文呢偷偷在结尾下一个结论说其实RBM技术也没有什么必要,所以后来就 没有什么人再用这个技术了。而且那时候还有一个神奇的信念,即编码器和解码器,它们的结 构必须是对称,所以编码器的第一层,跟解码器的最后一层,它们必须对应,不过现在已经没 有或者说比较少这样的限制。总之,自编码器从来就不是一个新的概念。

相关推荐
xiaoxiaoxiaolll15 小时前
《Light: Sci & Appl》论文解读:基于q-BIC-CIT的热调硅膜超表面,突破静态光子学极限
机器学习
BD好产品15 小时前
2026年度AI接口聚合方案实测复盘:从多模型混战看企业级工程选型
人工智能
YOLO数据集集合15 小时前
智能道路病害识别 公路巡检深度学习数据集实战 | 路面缺陷检测 无人机视觉 道路养护AI方案10299期
人工智能·深度学习·目标检测·无人机
Dust-Chasing15 小时前
Claude Code源码剖析 - ShellTool与真实动作
人工智能·python·ai
“码”力全开15 小时前
突破安防黑盒:基于 Docker 与边缘计算的 AI 视频管理平台,实现 GB28181/RTSP 统一接入与全源码交付二次开发架构解析
人工智能·docker·边缘计算
资源分享交流15 小时前
[特殊字符]️2026 首选免费 AI 配音工具 本地部署的视频翻译 + 语音克隆方案(ElevenLabs 平替)
人工智能
AI浩15 小时前
【模型改进】SBA 改进 YOLO 系列:用选择性边界聚合替换 Concat,增强 VisDrone 多尺度小目标检测
人工智能·yolo·目标检测
沉默王二15 小时前
老板:“你是怎么使用 AI 的,真能做到不手写代码?为什么 Codex 在我手里感觉是个智障。。”我:“这样,然后再这样。。”老板直接跪了。
人工智能·agent·ai编程
学习3人组15 小时前
Python 评论朴素贝叶斯文本情感分析示例
人工智能·python·机器学习
OCR_1337162127515 小时前
金融智能化落地:护照核验技术在银行场景的应用与实践
大数据·人工智能·金融