模型架构是什么?神经网络的整体设计蓝图
在机器学习中,架构(Architecture),也常称为模型结构或网络结构,是指一个模型的整体设计:它由哪些组件构成、这些组件如何连接和排列、信息在模型中如何流动,以及各个部分的规模有多大。如果把训练好的参数比作一栋房子里的装修和家具,那么架构就是这栋房子的建筑设计图。
架构包含哪些方面
一个神经网络的架构通常需要规定:使用哪些类型的层或模块,比如全连接层、卷积层、循环层、注意力层、归一化层;这些层的排列顺序和连接方式,比如是简单地一层接一层,还是有跳跃连接、分支和合并;每一层的规模,比如有多少个神经元、多少个卷积核、注意力有多少个头;网络的深度,也就是有多少层;使用什么样的激活函数;以及输入和输出的形式。架构确定之后,再通过训练从数据中学到其中的参数,也就是权重。
几种经典的架构
多层感知机:最基本的神经网络,由多个全连接层堆叠而成,每一层的每个神经元都与下一层的所有神经元相连,常用于处理表格数据。卷积神经网络:使用卷积层在图像的局部区域中提取特征,并在不同的位置共享参数,特别擅长处理图像。代表性的架构有 LeNet、AlexNet、VGG、GoogLeNet,以及何恺明等人在 2015 年提出的残差网络 ResNet,它通过残差连接使得训练上百层的网络成为可能。循环神经网络:神经元之间有循环的连接,能够记住之前的信息,适合处理文本、语音等序列数据,代表有长短期记忆网络和门控循环单元。Transformer:2017 年提出,完全基于注意力机制,能够高效地并行处理序列,如今成为大语言模型以及众多视觉、语音模型的基础架构。此外还有用于生成的编码器-解码器结构、U-Net、生成对抗网络、扩散模型中的去噪网络,以及用于处理图结构数据的图神经网络、在大模型中流行的混合专家架构,和状态空间模型等新的探索。
架构为什么重要
架构决定了模型的“先天能力”和擅长的方向。一个好的架构往往蕴含了对问题本身的合理假设,这被称为归纳偏置:比如卷积神经网络假设图像中相邻的像素关系密切,同一个特征可能出现在图像的任何位置,这非常符合图像的特点,因此用较少的参数就能学好图像任务;循环神经网络假设数据是按顺序到来的。选择与任务相匹配的架构,可以让模型学得更快、更好。历史上,很多重大的进步都来自架构的创新,比如残差连接和 Transformer。
架构的设计和发展趋势
传统上,神经网络的架构由研究人员凭借经验和直觉手工设计,再通过大量实验来验证。2017 年前后,研究者开始尝试用算法自动地搜索最优的架构,这叫神经架构搜索,谷歌的 EfficientNet 等模型就借助了这种方法。近年来,一个明显的趋势是架构的统一:Transformer 这一种架构被广泛用于文字、图像、语音、视频等各种数据,研究的重点越来越多地转向扩大模型的规模、提高数据的质量和改进训练方法。不过,围绕如何降低 Transformer 的计算成本、更高效地处理长文本,研究者仍在不断地探索新的架构改进。