神经网络的优化景观:为什么非凸损失函数没有想象中可怕

2014年,Yann Dauphin和同事们在NIPS上发表了一篇引起广泛关注的论文。他们发现,在训练深度神经网络时,真正阻碍优化的不是我们一直担心的"局部最小值",而是另一种被忽视已久的东西——鞍点。这个发现彻底改变了我们对神经网络优化的理解。 ...

17 min · 8098 words

万能逼近定理:为什么两层神经网络能逼近任意函数

一个被误解的定理 在深度学习面试中,经常会出现这样一个问题:为什么神经网络需要非线性激活函数? 很多人会回答"因为线性函数的组合仍然是线性的"。但这个回答虽然正确,却只触及了问题的表面。更深层次的问题是:为什么加上非线性激活函数后,神经网络就能逼近任意复杂的函数? ...

16 min · 7802 words

Self-Attention计算全解:从矩阵乘法到梯度流动的完整技术解析

2017年,Vaswani等人在论文《Attention Is All You Need》中提出了Transformer架构。这个标题本身就是一个宣言:注意力机制不再需要循环神经网络或卷积神经网络的辅助,它足以独立承担序列建模的全部任务。 ...

17 min · 8037 words

模型训练调试:从损失不下降到梯度爆炸的完整诊断指南

你花了三天时间设计了一个"完美"的神经网络架构,数据集准备好了,训练脚本也写好了。点击运行,满怀期待地盯着终端输出… ...

14 min · 6911 words

神经网络是如何学习的:从前向传播到反向传播的完整训练过程解析

当你点击"训练"按钮时,神经网络内部发生了什么? 想象你正在训练一个图像分类模型。你准备了数据集,设置了超参数,点击了"开始训练"按钮。屏幕上开始显示loss值不断下降,准确率不断上升。但在这些数字背后,究竟发生了什么?模型是如何从"一无所知"变成"精准识别"的? ...

17 min · 8161 words

神经网络中的偏置:为什么简单的加法如此重要

打开任何一本深度学习教材,翻开任何一篇讲解神经网络的博客,你都会看到神经元的基本公式: $$y = \sigma(Wx + b)$$其中 $W$ 是权重矩阵,$x$ 是输入,$\sigma$ 是激活函数,而 $b$ 就是那个不起眼的偏置(bias)。它看起来只是一个简单的加法,一个向量加法操作,却困扰了无数初学者:为什么需要它?它到底在做什么?为什么有些现代大模型(如LLaMA)会把它删掉? ...

19 min · 9053 words

Sigmoid与Softmax:多分类与多标签任务的激活函数选择逻辑

打开任何一本深度学习教材,或者浏览机器学习面试题库,几乎都会遇到这个问题:多分类任务应该用Sigmoid还是Softmax?答案似乎很简单——多分类用Softmax,二分类用Sigmoid。但当面试官追问"为什么"时,很多人就卡住了。更麻烦的是多标签分类场景:一个样本同时属于多个类别,这时候该用什么? ...

13 min · 6014 words