深度学习基于神经网络,有点像人类的大脑。模型由很多神经元组成。神经元的层数也叫“深度”。一般来说,神经元的层数越多,深度学习网络也就越深,它的性能上限就越高,但训练起来难度也就越大。
例如,感知机只有一层神经网络,无法完成任何复杂的任务。20世纪80年代末到90年代初的LeNet一开始有3层神经元,后来扩展到7层,可以识别手写或打印的数字。随着模型变得越来越“深”,训练起来也越来越困难,对算力的要求也越高。所以从90年代中期到21世纪初,神经网络再一次陷入沉寂。
但是,在神经网络领域已经耕耘了十多年的杰弗里·辛顿并没有放弃。他的实验室发明了一系列技术,可以更好地训练层数更多的神经网络。同时他还借助计算速度更快的GPU,作为训练深度学习模型的硬件设备。
图片来源:pixabay
一、深度学习时代的到来
2012年,辛顿和他的两个学生发表了神经网络AlexNet。这个网络立刻在图片分类比赛ImageNet上产生了巨大的突破,误差率比第二名低了10%。AlexNet 共有8层神经元,包括了数千万个参数。这种规模的模型在之前是无法想象的。AlexNet在当年的ImageNet比赛上大放异彩,取得了历史性的胜利,标志着深度学习时代的到来。
两年后的2014年,谷歌大脑推出了GoogLeNet。这种网络使用了一种新技术,可以在减少参数的情况下增加网络的深度。
这样GoogLeNet就可以把神经元增加到22层,共包括6万多个神经。GoogLeNet获得了当年ImageNet比赛的冠军。这届比赛的第二名是牛津大学视觉几何研究小组设计的深度学习模型VGG。这个模型有16或19层,比GoogLeNet要“浅”一些,也因此屈居第二。
二、革命性网络的出现
2015年,微软亚洲研究院的何凯明和孙剑等人提出了深度残差网络(ResNet)。2015年,深度残差网络获得了当年的ImageNet冠军,并把图片分类的误差率压缩到3%左右,首次超过了人类的水平。这标志着深度学习模型在计算机视觉领域获得了压倒性的优势。
在此之前,如果神经网络层数过多,有些层会很难训练。而深度残差网络引入了一个特别的结构,可以在神经网络中增加跨层连接。这个新增加的结构能让神经网络扩展到几百甚至几千层。
在自然语言处理领域,深度学习从2015年前后开始也逐渐占据了统治地位。从早期的神经翻译模型,到后来的大规模预训练模型GPT-4和chatGPT,本质上都是深度学习。
三、神经元到底在学习什么?
当我们使用这些海量神经元组成的深度神经网络时,可能会思考一个问题,这些神经元都学到了什么?事实上,这些神经元在网络中扮演的角色并不相同。其中,表层的神经元会学习一些基本的特征,而深层的神经元则会学习一些高层次的特征。
以GoogLeNet为例,浅层的神经元会关注一些线条状的边缘结构,更深一些的神经元会学习二维的材质图案,再往下基层的神经元会学到更复杂的模式,再深一些的神经元会学到重复的局部结构,更深层的神经元有能力学到比较复杂的物体。
这种现象也部分解释了为什么深度学习效果更好,因为不同层的神经元有了更多样化的分工和合作,从而可以完成更复杂的任务。
文章由科普中国-星空计划(创作培育)出品,转载请注明来源。
作者:管心宇 科普作者
审核:于旸 腾讯玄武实验室负责人