Logits:神经网络输出的原始真相,从概念到实践的完整解析

当你问一个大语言模型"法国的首都是哪里?",它回答"巴黎"。这个看似简单的过程背后,模型经历了一系列复杂的计算。在最终的文字出现之前,模型首先要给出一个答案:对于词表中的每一个词,它认为这个词作为下一个输出的可能性有多大。这个"可能性"的原始形式,就是logits。 ...

13 min · 6400 words

为什么大模型连两位数加法都算不准:从tokenization到启发式神经元的完整技术解析

2024年7月,一个简单的问题让全球十二个主流大模型中的八个栽了跟头:9.11和9.9哪个大? 这不是孤例。同样的问题还有:247 × 389等于多少?8743 + 3927呢?如果你尝试让ChatGPT、Claude或其他大模型直接计算这些数字,得到的答案往往令人哭笑不得——要么差几位数,要么完全离谱。 ...

14 min · 6954 words

标签平滑的默认值为何是0.1:从训练稳定性到收敛理论的数学解析

训练一个图像分类模型,测试集准确率达到95%。随机抽取一个样本,模型输出预测概率:[0.999, 0.001, 0.000, …]。看起来模型对这个预测非常自信——99.9%的置信度。但这个置信度真的可靠吗? ...

16 min · 7926 words

权重初始化:为什么一行代码能决定神经网络的生死

2010年,Xavier Glorot和Yoshua Bengio在AISTATS会议上发表了一篇论文,标题是《Understanding the difficulty of training deep feedforward neural networks》。这篇论文揭示了一个困扰深度学习社区多年的问题:为什么深层神经网络在随机初始化下难以训练?他们提出了一种新的初始化方案,后来被称为Xavier初始化。五年后,何恺明等人针对ReLU激活函数提出了He初始化。这两种初始化方法至今仍是现代神经网络训练的基础。 ...

17 min · 8399 words

Dropout机制:为什么随机丢弃神经元反而能提升泛化能力

2012年,多伦多大学的Hinton团队在论文《Improving neural networks by preventing co-adaptation of feature detectors》中提出了一个反直觉的想法:在训练神经网络时,随机丢弃一部分神经元,反而能让模型表现更好。这个被称为Dropout的技术,随后成为深度学习领域最广泛使用的正则化方法之一,几乎所有的现代神经网络都在使用它。 ...

15 min · 7039 words

Softmax函数:为什么这个公式统治了神经网络的概率输出

在神经网络的输出层,我们经常看到这样一个公式: $$\text{softmax}(z_i) = \frac{e^{z_i}}{\sum_{j=1}^{K} e^{z_j}}$$它看起来如此简单——指数、求和、归一化。但为什么是这个特定的形式?为什么不直接除以总和?为什么要有指数?为什么这个函数能统治从图像分类到大语言模型的几乎所有概率输出? ...

12 min · 5596 words

为什么神经网络学会了新知识就会忘记旧知识:从灾难性遗忘到持续学习的技术突围

1989年,心理学家Michael McCloskey和Neal Cohen做了一个看似简单的实验:让一个三层神经网络先学会做一组加减法题目,再学习另一组。结果令人震惊——当网络掌握了第二组题目后,对第一组的正确率从接近100%暴跌到10%以下。他们给这种现象起了一个名字:灾难性干扰(Catastrophic Interference),后来更常被称为灾难性遗忘。 ...

13 min · 6479 words