多目标学习_biji

模型倾向于学习到同时可解释多个目标的解,提升模型的泛化能力。泛化(generalization)是通过利用相关任务的训练信号中的领域特定信息来改进的。

单目标 多目标

一个单目标任务的目标是从数据集S中学习到一个函数,目标函数定义: m i n ∑ ( x , y ) ∈ S L i ( f i ( X ) , y ) min\sum_{(x,y)\in S}L_i(f_i(X),y) min(x,y)SLi(fi(X),y)
多目标任务,包含多个输出 Y = ( Y 1 , Y 2 , . . . . . Y n ) Y=(Y_1,Y_2,.....Y_n) Y=(Y1,Y2,.....Yn)
目标函数: m i n ∑ ( x , y ) ∈ S L ( F ( X ) , y ) min\sum_{(x,y)\in S}L(F(X),y) min(x,y)SL(F(X),y)
Loss: L ( y , y ′ ) = ∑ L i ( y i , y i ′ ) L(y,y')=\sum L_i(y_i,y'_i) L(y,y)=Li(yi,yi)

实现

硬共享机制

多个目标,一套参数,所有任务之间共享隐藏层,保留几个特定任务的输出层实现。降低了过拟合的风险,因为必须同时满足多个目标。

软共享机制

每个目标都有自己独立的参数,各个目标的参数之间,计算距离,优化距离最短。

单任务更容易陷入到局部最小值,多任务各个任务的局部最小值位于不同的位置,多任务可以增强逃离各个任务局部最小值的机制。

Ref

  1. 深度神经网络中的多任务学习汇总
  2. 多目标学习(Multi-Task Learning)

你可能感兴趣的:(深度学习,tensorflow,推荐系统)