3 元学习神经网络方法
本书对元学习的思想进行归纳汇总,前面两章是将读者带入元学习这个领域,接下来介绍元学习的主要方法。这是第一个正式介绍元学习方法的章节,介绍的是最重要的元学习神经网络方法,后面的章节会依次介绍元学习方法的思路,包括度量学习、元学习器、贝叶斯思想等方法。本书选取了许多论文中介绍的方法来阐释元学习的思想,以及如何在神经网络模型中使用元学习,如何快速准确地在分布外任务上进行推理。这些方法之间的分类并不明确,许多方法是很多元学习思想的综合,这里的重点不是对方法进行精准分类,而是通过这些方法阐释元学习的思路,让读者了解元学习的思想。
元学习神经网络方法是元学习最重要的思想之一,神经网络模型的应用非常广泛,因此,建立在神经网络模型上的元学习方法更容易获得大家的认可和应用,也便于大家理解。在神经网络模型中使用元学习方法的模块,在元学习框架下整合多个神经网络模型,都是可行的方案。元学习神经网络方法在神经网络模型设计中引入了更多灵活性,可实现神经网络模型更加灵活快速地适应分布外任务。自动化机器学习AutoML(Automated Machine Learning)通过搜索所有超参数组合下的神经网络模型的表现,找到最优的神经网络模型,来自动设计神经网络,达到匹敌人工调试神经网络模型的效果,它与元学习的结合很多。
本章将先介绍神经网络模型的基础结构、参数和超参数、梯度反向传播和常用正则化方法,然后介绍常用神经网络模型的结构——卷积神经网络模型和残差神经网络模型。之后,会介绍基于神经网络模型的元学习方法,包括预训练深度神经网络模型的局部梯度更新、带有任务专属参数的神经元设计等方法。最后,介绍元学习框架在自动化机器学习中的应用,包括使用记忆模块累积经验为新任务提供初始模型、使用元学习器作为预测器来加速神经网络模型的训练和指导遍历预测精度更好的超参数组合、使用遗传演化算法由简到繁地遍历稀疏超参数域寻找最优的超参数组合等。
近年来深度学习兴起,成为人工智能领域最重要的分支,Yann Lecun、Yoshua Bengio和Geoffrey Hinton于2015年在Nature上发表了论文“Deep Learning”[1],对深度学习进行了阐释。深度学习使用很多处理层对数据进行多层次的抽象,通过这样多层次的抽象,深度学习方法极大地提升了机器学习方法在语音识别、视觉物体识别、物体检测以及其他领域(例如,药物发现和基因工程)上的表现。深度学习模型可以发现大量数据中蕴含的细节规律,反向传播算法是训练深度学习模型的主要方法,卷积神经网络用来对图像、视频、语音进行处理,递归神经网络用来对有序数据进行处理。
深度学习模型是很好的高维数据降维模型。在高维数据降维模型中,研究者要求提取出来的特征是问题中需要的,因此需要根据大量有标注数据对神经网络进行训练。深度神经网络模型适用于很多不同任务中的数据集,不需要做太多修改就可以处理大量不同的数据集,使用起来非常方便,不需要太多在模型上的思考,输出的结果也还不错。深度神经网络是有监督学习模型,其训练需要大量有标注数据,深度神经网络模型中的参数是权重,通过损失函数对权重的梯度进行反向传播,来对权重参数进行训练。深度神经网络的表示力特别强,例如,在图像处理任务中,训练后的深度神经网络可以提取对图像分类有用的特征,而忽视其他无效的特征。
深度神经网络有很多隐藏层,在每一层的处理之后,输入发生了降维或者变换,在处理中会有信息的损失。常用的深度神经网络训练方法是误差反向传导,通过误差的求导和链式法则,来对网络中的权重参数进行训练。随着神经网络的层数变多,导数变得非常接近零或者非常大,使得神经网络的训练变得不稳定。有许多方法可以用来解决这个问题,例如,批归一化(Batch Normalization)、残差网络(Residual Neural Network)、长短期记忆网络等,使得误差的导数在反向传播过程中不会消失或者爆炸,让神经网络的层数变得更多,以增强神经网络对复杂问题的表示力。
Kaiming He等作者于2016年在论文“Deep Residual Learning for Image Recognition”[2]中提出残差神经网络,在网络层之间添加了残差加入的路径,使网络的训练变得更加容易,梯度在误差反向传播过程中不会消失或者爆炸。残差的加入有利于神经网络的加深,神经网络加深后可带来精度上的提升。Kaiming He等作者于2016年在论文“Identity Mappings in Deep Residual Networks”[3]中指出,通过恒等映射(Identity Mapping)的残差加入的效果最好。论文中考虑了多层网络中误差求导和链式法则,因为很多小于1的数相乘会变得很接近0,而很多大于1的数相乘会变得很大,所以只有恒等映射不会带来这种现象。然而在极限理论中,我们熟知
这说明很多大于1的数相乘不一定会变得巨大,尤其是在神经网络的误差反向传播过程中。随着层数加深,中间间隔的层数越多,误差的导数变得越小,两个层相隔越远,两个层之间的相互作用和影响越弱。尽管如此,恒等映射仍然是最安全的选择,不论实际上的导数减弱规律是怎样的,恒等映射都能保证误差传导过程中不会出现导数消失或者爆炸的问题。