基于流的深度生成模型:Normalizing Flows 如何显式建模数据分布
基于流的深度生成模型通过一系列可逆变换构建,借助 normalizing flows 显式学习数据分布 p(x),损失函数即负对数似然,从而绕开 GAN 与 VAE 难以计算概率密度的问题。与 GAN 的对抗博弈和 VAE 优化 ELBO 不同,该模型依赖 Jacobian 行列式与变量变换定理完成密度估计,可用于数据生成、密度估计、隐变量推断和补全不完整样本。
基于流的深度生成模型通过一系列可逆变换构建,借助 normalizing flows 显式学习数据分布 p(x),损失函数即负对数似然,从而绕开 GAN 与 VAE 难以计算概率密度的问题。与 GAN 的对抗博弈和 VAE 优化 ELBO 不同,该模型依赖 Jacobian 行列式与变量变换定理完成密度估计,可用于数据生成、密度估计、隐变量推断和补全不完整样本。
Lilian Weng 在 Lil'Log 发布教程文章,系统讲解自编码器家族及变分推断原理。文章覆盖 Denoising、Sparse、k-Sparse、Contractive 自编码器,推导 VAE 的 ELBO 损失与重参数化技巧,并介绍 Beta-VAE 解耦表示、VQ-VAE 与 VQ-VAE-2 的离散潜变量方法以及处理序列数据的 TD-VAE。
Lilian Weng 在 Lil'Log 发表注意力机制综述教程,从 seq2seq 的定长上下文向量缺陷讲起,解释注意力如何解决长句遗忘问题,并给出 Content-base、Additive、Scaled Dot-Product 等多种对齐分数函数的汇总表。
推荐理由:原文系统梳理了注意力机制从 seq2seq 到 Transformer 的各种形式与对齐分数函数,适合作为理解后续模型架构的基础参考。
这篇教程用 TensorFlow 和 OpenAI Gym 动手实现深度强化学习模型,完整代码见 lilian/deep-reinforcement-learning-gym。
Lilian Weng 在 Lil'Log 发布《Policy Gradient Algorithms》综述,系统梳理策略梯度方法,并陆续补充 SAC、D4PG、TD3、SVPG、IMPALA、PPG 等新算法及 SAC 自动温度调整。
Lilian Weng 在 Lil'Log 发布强化学习综述教程,从智能体与环境交互的基本概念讲起,覆盖 MDP、Bellman 方程、动态规划、蒙特卡洛方法。
推荐理由:文章系统梳理了强化学习的核心概念与经典算法,从动态规划到策略梯度再到 AlphaGo Zero,适合作为入门起点。
多臂老虎机问题刻画了探索与利用的两难:面对 K 台奖励概率未知的老虎机,需在有限信息下最大化累计奖励。文章给出 Bernoulli 多臂老虎机的形式化定义与 regret 损失函数,并介绍 ε-Greedy 与 Upper Confidence Bounds(UCB)两类策略,代码实现见 lilianweng/multi-armed-bandit。
R-CNN 家族包含 R-CNN、Fast R-CNN、Faster R-CNN 和 Mask R-CNN 四个模型,前三个用于目标识别,Mask R-CNN 用于图像分割。R-CNN 先用 selective search 生成约 2k 个候选区域,再对每个区域独立提取 CNN 特征做分类,并用回归模型修正边界框。文章还介绍了非极大值抑制和难负样本挖掘等常用技巧。
"Object Detection for Dummies"系列第二部分梳理了图像分类的经典卷积网络架构,包括 AlexNet(5 个卷积层 + 2 个 MLP 层 + 1 个 LR 层)、19 层的 VGG 和 152 层的 ResNet,并介绍了残差块对深层网络可训练性的作用。
这是 Lilian Weng《Object Detection for Dummies》系列第一篇,从图像处理基础概念讲起,尚未涉及深度神经网络。
词嵌入把词和短语表示为维度更低、更稠密的非二值数值向量,以近似词间相似度并揭示隐藏语义关系。学习词嵌入主要有两类依赖上下文的方法:基于计数的无监督方法对全局词共现矩阵做矩阵分解,基于上下文的监督方法则设计预测模型,在预测目标词的同时学到词向量,代表模型为 skip-gram 与 CBOW。
Naftali Tishby 提出用信息瓶颈(IB)方法研究深度神经网络训练,将 DNN 视为马尔可夫链,用编码器互信息 I(X;T_i) 与解码器互信息 I(T_i;Y) 构成信息平面刻画各隐藏层。他发现 DNN 训练分为两个阶段:先充分表示输入并最小化泛化误差,再压缩表示、遗忘无关细节,并认为"学习最重要的部分其实是遗忘"。
生成对抗网络(GAN)由生成器和判别器构成零和博弈,但存在训练不稳定、难以收敛的问题。文章从 KL 散度与 JS 散度出发推导 GAN 的 minimax 损失函数,指出判别器最优值为 p_r/(p_r+p_g),并介绍为解决训练困难而提出的改进版本 WGAN。
Lilian Weng 在 Lil'Log 发表综述文章,讲解如何解释机器学习模型的预测。文章从金融、医疗、司法等场景对模型可信度的需求出发,先介绍线性回归、朴素贝叶斯、决策列表、随机森林等自带可解释性的模型,再讲解预测分解、局部梯度解释向量和 LIME 等黑盒模型局部解释方法,并概述 BETA 和 DARPA 的可解释 AI(XAI)项目等全局解释方向。
在 RNN 股票价格预测教程第二部分中,作者为第一部分搭建的循环神经网络加入股票代码嵌入向量,使其能同时处理多只股票。模型将股票代码映射为长度为 3 的嵌入向量,与每日价格输入拼接后送入 LSTM,替代 one-hot 编码以压缩表示并让相似股票共享模式。新增 embedding_size 和 stock_count 两个配置项,数据来自 Google Finance 历史股价。
Lilian Weng 发布教程,演示如何用 TensorFlow 构建带 LSTM 单元的 RNN 模型预测 S&P500 指数价格,完整代码开源在 github.com/lilianweng/stock-rnn。
Lilian Weng 在 WiMLDS x Fintech meetup 的演讲整理稿中,以 2016 年 AlphaGo 4-1 击败李世石为引,梳理了深度学习的原理与经典模型。文章指出深度学习如今奏效的关键在于数据规模大幅增长与算力显著提升,并介绍了 CNN、RNN 等模型,其中 CNN 的神经元连接方式受视觉皮层启发。