回顾与动机 - 为什么我们需要 Transformer
在接下来的旅程中,我们将一起探索深度学习领域最重要、最具影响力的模型架构之一——Transformer。从它的基本原理出发,逐步深入,最终能够亲手实现一个文本生成模型。
本系列教程假设你已经具备一定的深度学习基础,了解神经网络、损失函数、优化器等基本概念,并且熟悉 Python 编程。我们将在此基础上,快速回顾一些必要的知识,并重点探讨为什么 Transformer 应运而生,以及它解决了哪些传统模型难以处理的问题。
1. 快速回顾:神经网络基础与序列模型
我们知道,神经网络是一种强大的函数拟合工具,通过多层非线性变换,可以从输入数据中学习复杂的模式和特征。一个最基本的神经网络由输入层、隐藏层和输出层组成,层与层之间通过权重(Weights)和偏置(Biases)连接。训练过程通过反向传播(Backpropagation)算法计算损失函数关于模型参数的梯度,再利用优化器(如梯度下降及其变种)更新参数,以最小化损失。
对于图像、声音等数据,卷积神经网络(CNN)展现出了强大的特征提取能力,它通过卷积核在局部区域内共享参数,有效地捕捉空间上的结构信息。
然而,对于像文本、语音、时间序列这类数据,它们的特点是具有序列性