自编码器是一种无监督学习模型,它接收未标记的数据,并学习有效的编码,这些编码可以应用于其他上下文。它近似于将数据从输入空间映射到低维坐标的函数,并进一步近似于输入空间的相同维度,以使损失最小化。自编码器可以用于异常检测、图像压缩、图像搜索、图像去噪等多种任务。因此,鉴于其在工业中的流行和广泛使用,对这一技术有清晰的理解对于在数据科学面试中取得成功至关重要。
在本文中,整理了五个关于自编码器的重要问题,可以用它们作为指南,以更熟悉这个话题,并制定有效的答案,以帮助在下一次面试中取得成功。
自编码器是一种神经网络,其目标是学习一个恒等函数,以在同时压缩数据的过程中重建原始输入。重建的图像是对输入x的近似。这个概念最早出现在1980年代,后来由Hinton和Salakhutdinov在2006年发表的开创性研究论文中公之于众。自编码器由两个网络组成:编码器网络和解码器网络。编码器网络将原始的高维输入数据转换为潜在的低维或压缩表示。因此,输入大小大于输出大小。简而言之,编码器学习创建输入数据的压缩/编码版本,并完成降维。解码器网络从其潜在表示中恢复数据,编码器的原始输入数据与重建的输入数据几乎相同。简而言之,解码器从压缩版本重建原始数据。编码器函数g(.)由ϕ参数化,解码器函数f(.)由θ参数化。在瓶颈层为输入x学习的低维代码是z=gϕ(x),重建的输入是x′=fθ(gϕ(x))。参数(θ,ϕ)是联合学习的,以输出与原始输入相同的重建数据样本,x≈fθ(gϕ(x))。可以使用交叉熵和MSE损失等指标来量化两个向量之间的差异。
当隐藏层和输入层的节点数量相同时,编码将类似于输入,使得自编码器完全无用。