开学三个月小记
...
深度学习优化器全家桶:从 SGD 到 AdamW 及未来
在深度学习的训练过程中,优化器 (Optimizer) 扮演着至关重要的角色。它决定了网络参数更新的方式,直接影响模型的收敛速度和最终性能。本文将深入剖析深度学习中常见的优化器,从最基础的 SGD 到目前最流行的 AdamW,以及一些前沿的变体。 1. 梯度下降家族 (Gradient Descent Variants) 1.1 BGD, SGD 与 Mini-batch SGD BGD (Batch Gradient Descent):每次迭代使用全部样本计算梯度。 优点:梯度准确,收敛稳定。 缺点:计算量大,内存无法承受,无法在线更新。 SGD (Stochastic Gradient Descent):每次迭代使用一个样本。 优点:计算快,引入噪声有助于跳出局部最优。 缺点:震荡剧烈,收敛慢,无法利用向量化加速。 Mini-batch SGD:折中方案,每次使用一批样本(如 32, 64)。这是实际中最常用的形式。 $$ w_{t+1} = w_t - \eta \cdot \nabla L(w_t) $$ 1.2 Momentum (动量法) 为了抑制...
深度学习损失函数:从 MSE 到 Focal Loss
在深度学习中,损失函数 (Loss Function) 是连接模型预测与真实标签的桥梁,它定义了模型的优化目标。选择合适的损失函数往往能起到事半功倍的效果。本文将对深度学习中常见的损失函数进行梳理,从基础的回归/分类到进阶的难例挖掘和度量学习。 1. 回归任务 (Regression) 回归任务的目标是预测连续值。 1.1 MSE (L2 Loss) 均方误差 (Mean Squared Error): $$ L = (y - \hat{y})^2 $$ 特点:收敛快,但对异常值 (Outliers) 非常敏感(因为误差被平方放大了)。 1.2 MAE (L1 Loss) 平均绝对误差 (Mean Absolute Error): $$ L = |y - \hat{y}| $$ 特点:对异常值鲁棒,但在 0 点处不可导,梯度恒定可能导致收敛困难。 1.3 Smooth L1 Loss 结合了 L1 和 L2 的优点: 在误差较小时($|x| < 1$)使用 L2(平滑,可导)。 在误差较大时($|x| \ge 1$)使用...
深度学习杂谈:残差、MAE与特征维度的本质思考
最近有一些问题,正好记录下来了一些,用AI探讨了一下这些问题。 1. 残差 (Residual) 的本质:仅仅是保留原始信息吗? 问题: 残差的本质是什么?为什么有用?是因为保留了之前的原始信息的特征吗?那么添加动量 (Momentum) 也是保留之前的原始信息,和残差的本质有什么区别吗? 残差连接 (Skip Connection) 残差网络 (ResNet) 的核心公式是 $y = F(x) + x$。 确实,从直观上看,$+x$ 这一项直接将上一层的原始信息“保留”并传递到了下一层。这使得网络在初始化阶段即使 $F(x)$ 接近于 0,整个网络也近似于一个恒等映射 (Identity Mapping),梯度可以无损地反向传播。 本质区别: 残差 (ResNet) 解决的是 模型结构 (Model Architecture) 和 梯度流 (Gradient Flow) 的问题。它是在空间/层级维度上,让深层网络更容易训练,避免梯度消失。它让网络“有机会”去学习恒等映射,如果某一层是多余的,网络可以将 $F(x)$ 权重置为 0,自动“跳过”这一层。 动量...
监督对比学习
Supervised Contrastive Learning 论文地址:https://arxiv.org/pdf/2004.11362 代码地址:https://github.com/HobbitLong/SupContrast 引言 监督对比学习(Supervised Contrastive Learning, SupCon)...
对比学习综述
对比学习综述:从理论到实践全面解析 引言 对比学习(Contrastive Learning) 是近年来自监督学习领域最重要的突破之一,它通过"拉近正样本、推远负样本"的简单思想,在无需大量标注数据的情况下学习到强大的视觉表示。从2020年的SimCLR、MoCo开始,对比学习在ImageNet等基准上取得了与监督学习相当甚至更好的性能,彻底改变了我们对无监督表示学习的认知。 对比学习的核心优势在于: 无需标注数据:可以在海量无标注图像上预训练 学习鲁棒表示:对数据增强、噪声等具有强鲁棒性 迁移能力强:预训练的特征在下游任务上表现优异 可扩展性好:可以轻松扩展到大规模数据和模型 什么是对比学习? 核心思想 对比学习的核心思想可以用一句话概括:通过对比正样本对和负样本对,学习到区分性的表示。 正样本对(Positive Pairs):应该相似的样本对 无监督:同一图像的不同增强视图 有监督:同一类别的不同样本 负样本对(Negative...
LeetCode 两个变量 - 2025.11.13
今日概览 日期:{2025-11-13} 题目数量:{共 2 题} 难度分布:简单 2 主要收获:自己的方法就是屎山,灵神的方法高端又通透 心情/状态:太久没刷了,已经把基本的语法忘记了,以后尝试用python刷题,学习一些比较好用的函数 题目列表与详解 1. Two Sum 题号 / 链接:#1 / 题目链接 难度:简单 题型标签:哈希表,数组 题目描述(简要): 就是查找一下哪两个数相加等于target,返回下标。 思路分析 两个方法,不同的时间复杂度 方法一:暴力写法。 复杂度 时间:O(*n*2) 空间:O(1) 123456class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: for i, x in enumerate(nums): for j in range(i + 1, len(nums)): if...
实例判别学习 - Non-Parametric Instance Discrimination精读
Unsupervised Feature Learning via Non-Parametric Instance Discrimination 论文地址:https://arxiv.org/pdf/1805.01978 代码地址:https://github.com/zhirongw/lemniscate.pytorch 引言 实例判别(Instance Discrimination)...
Mamba详解 - 选择性状态空间模型精读
Mamba: Linear-Time Sequence Modeling with Selective SSMs 论文地址:https://arxiv.org/pdf/2312.00752 代码地址:https://github.com/state-spaces/mamba 引言 Mamba 是一种基于状态空间模型(State Space Model, SSM)的高效序列建模框架,旨在在保持强表达能力的同时,将计算与内存复杂度降至与序列长度线性相关。与Transformer的二次复杂度相比,Mamba在超长序列、低时延和内存受限场景中具有显著优势。 Mamba的核心在于“选择性扫描(Selective Scan)”与“输入依赖的状态转移”,通过对经典S4(Structured State Space Sequence Model)的工程化与理论改进,实现端到端可训练、GPU友好、且具有SOTA性能的线性时间序列模型。 背景知识:状态空间模型(SSM)与S4 连续与离散SSM 连续时间SSM: $$ \dot x(t) = A x(t) + B u(t), \quad y(t)...
MAE详解 - Masked Autoencoders精读
Masked Autoencoders Are Scalable Vision Learners 引言 MAE (Masked Autoencoders) 由He Kaiming团队在2021年提出,为视觉自监督学习带来了新的范式。论文标题“Masked Autoencoders Are Scalable Vision Learners”凸显了其两大特性:一是基于掩码的自重构任务;二是能在大规模数据和模型上稳定扩展。和SimCLR、MoCo等对比学习方法相比,MAE丢弃了昂贵的负样本构造环节,通过简单的遮挡-重建目标即可学习高质量的视觉特征。 在图像理解任务中,过去的自监督方法往往依赖对比学习或生成式建模。MAE将NLP中成熟的Masked Language Modeling理念迁移到视觉领域,将图片切分为patch token,然后随机遮挡大部分token,让模型仅凭剩余少量可见token推断出被遮挡的像素,从而学到上下文结构。 背景知识 自监督视觉预训练的演进 预文本任务 (Pretext...








