神经网络的过程包括其权重矩阵(Weight Matrix:WM)的更新。
一旦网络训练结束,权重矩阵将被永久固定,然后根据网络在测试数据上的泛化结果评估其有效性。然而,许多环境在训练结束后会继续进化,测试数据可能会偏离训练,超出神经网络的泛化能力。
这就需要人工干预,来重新训练或调整模型。相反,一个完全自主的系统应该学会在没有干预的情况下,根据新的经验更新自己的程序。特别是在多任务学习(Multi-task learning)和元学习(Meta-learning,学习如何去学习)中,学习如何保持更新和微调模型是非常重要,这可以帮助网络快速适应各种情况和新挑战。
在A Modern Self-Referential Weight Matrix That Learns to Modify Itself这项研究中,“LSTM之父”Jürgen Schmidhuber等人根据更新和生成权重的现代技术,重新审视90年代以来提出的自我修正权重矩阵(self-referential WM),特别是利用了Fast Weight Programmers(FWPs)背景下建立的机制,推导出一种新型的自我修正的权重矩阵(self-referential WM:SRWM)。
这项研究从以下三种方面对SRWM进行评估:
首先,该模型在标准的小样本学习上取得了具有竞争力的性能,证明了所提模型能够有效地产生有用的自我修正;
其次,通过将小样本学习设置扩展到连续多任务学习设置,测试了SRWM在运行时适应任务实时变化的能力;
最后,在ProcGen游戏环境设置的多任务强化学习(RL)环境中对其进行了评估,其中包括程序性生成的游戏环境。总的来说,证明了本文所提方法的实际适用性和强性能。
新型自我修正权重矩阵
本文提出的新型自我修正权重矩阵(SRWM)与最近提出的FWPs变体类似,通过学习自己发明的键/值的“训练”模式和学习速率进行自我训练,调用基于外积(outer products)和delta函数更新规则的基本编程指令。
具体步骤如下:
给定t时刻的输入xt∈Rdin,本文的SRWM Wt−1∈R(dout+2*din+1)×din将会产生四个变量[yt,qt,kt,βt]。
其中,yt∈Rdout是该层在当前时间步长的输出,qt∈Rdin和kt