用自编码器做异常检测:基于 Deep Learning with Python Notebook 的实践指南
发布时间:2026/10/30 1:35:48 锦皓数字建站

用自编码器做异常检测基于 Deep Learning with Python Notebook 的实践指南【免费下载链接】deep-learning-with-python-notebooksJupyter notebooks for the code samples of the book Deep Learning with Python项目地址: https://gitcode.com/gh_mirrors/de/deep-learning-with-python-notebooks在传感器监控、交易风控这类场景中异常样本往往很少且难以标注手里大多只有大量正常数据。自编码器Autoencoder正是为这种问题提供思路的模型它只学正常数据的压缩表示再把样本送回去重建重建误差明显偏高的样本就有嫌疑是异常。deep-learning-with-python-notebooks 收录了《Deep Learning with Python》三版教材的配套代码其中包含自编码器与变分自编码器VAE的完整可运行实现适合作为学习这条技术路线的动手材料。项目定位可运行的实现而不是封装好的工具仓库按版次 章节组织根目录是第三版 notebooksecond_edition/与first_edition/分别是第二版和第一版的遗留示例。与自编码器直接相关的文件有三个chapter17_image-generation.ipynb第三版含 VAE 实现、潜在空间网格采样以及一个 U-Net 去噪自编码器second_edition/chapter12_part04_variational-autoencoders.ipynbfirst_edition/8.4-generating-images-with-vaes.ipynb这些 notebook 只保留可执行代码块和小节标题不带你读书中的推导README 也明确建议配合纸质书阅读。运行环境方面README 推荐 Colab免费 GPU 运行时足以跑完全部代码本地 Jupyter 环境同样可以。最短上手路径git clone https://gitcode.com/gh_mirrors/de/deep-learning-with-python-notebooks打开 chapter17_image-generation.ipynb定位到 Implementing a VAE with Keras 小节按顺序执行定义编码器 → 自定义 Sampler 层 → 定义解码器 → 组装 VAE 模型 →fit训练 → 从二维潜在空间采样生成图像网格。全程跑通一遍异常检测所需的全部构件就都见到了。从 VAE 到异常检测四个部件各自能做什么编码器两层Conv2D32、64 通道strides2逐层下采样Flatten 后接 Dense(16)最后分出z_mean和z_log_var两个输出头。做异常检测时可以砍掉采样这一步只把瓶颈层潜在向量当压缩表示用就得到一个标准自编码器。Sampler实现重参数化技巧z z_mean exp(0.5 * z_log_var) * epsilon让潜在空间可采样、连续。这是 VAE 与普通自编码器的分界点。解码器Dense Reshape 后用两层Conv2DTranspose对称上采样最后一层Conv2D用 sigmoid 输出 0~1 的像素图。自定义train_step损失 二元交叉熵重建项 KL 散度正则项。异常检测场景下可以改造成逐样本的重建误差比如 MSE再取一个高分位数例如 95%作为阈值误差超阈值的样本标记为异常。模型类里自带total_loss、reconstruction_loss、kl_loss三个指标跟踪器训练时直接观察重建项的下降曲线就能判断模型有没有学到数据的正常模式。入门、进阶与排障入门先按原参数把 MNIST 上的latent_dim 2跑通对比潜在网格采样输出和原始手写体直观理解压缩—重建是什么。进阶把latent_dim调大调小观察重建质量和可采样性的变化把 28×28 的图像输入换成带通道维的时序张量同一套卷积编码器思路可以迁移到传感器数据。排障异常样本和正常样本的重建误差区分不开时说明瓶颈太松、模型背住了输入应收窄潜在维度重建模糊则优先检查训练轮数和 batch size示例用 30 epochs、128 batch。另外第三版基于 Keras 3后端可在 notebook 顶部通过KERAS_BACKEND切换为 jax、tensorflow 或 torch改完必须重启会话。延伸阅读README.md运行方式、后端选择与 Kaggle 数据登录说明chapter08_image-classification.ipynb编码器所用卷积结构的来源背景chapter13_timeseries-forecasting.ipynb时序数据建模可对照异常检测的时序化改造chapter18_best-practices-for-the-real-world.ipynb模型落地工程习惯阈值调优可参考其中的验证思路【免费下载链接】deep-learning-with-python-notebooksJupyter notebooks for the code samples of the book Deep Learning with Python项目地址: https://gitcode.com/gh_mirrors/de/deep-learning-with-python-notebooks创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。