Skip to Content
Deep Learning

8-Methodology

2020-06-18Original-language archivelegacy assets may be incomplete

半监督学习

  • 自训练(Self-Training, Self-Teaching, Bootstrapping):先用标注数据训练一个模型,将预测置信度较高的样本的位标签加入训练集重新训练
  • 协同训练(Co-Training):基于不同视角的分类器促进训练
    • 在训练集上根据不同视角分别训练两个模型 f1f_1f2f_2
    • 在无标注训练集上预测,各选取预测置信度比较高的样本加入训练集,重新训练两个不同视角的模型

多任务学习

  • 多任务学习:归纳迁移学习的一种,利用相关任务中的信息作为归纳偏置提高泛化能力
  • 共享模式
    • 硬共享模式:让不同任务的神经网络共同使用一些共享模块提取通用特征
    • 软共享模式:每个任务从其它任务获得一些信息(如隐状态、注意力机制)
    • 层次共享模式:一般神经网络中不同层抽取的特征类型不同,低层一般抽取一些低级的局部特征,高层抽取一些高级的抽象语义特征
    • 共享-私有模式:将共享模块和任务特定(私有)模块的责任分开

迁移学习

  • 领域:一个样本空间极其分布 D=(X,Y,p(x,y))\mathcal{D}=(\mathcal{X},\mathcal{Y},p(x,y))
  • 机器学习任务:建模 D\mathcal{D} 上的条件概率 p(yx)p(y|x)

Inductive Trasfer Learning

Different Tasks: pS(yx)pT(yx),pS(x)=pT(x)p_S(y|x)\neq p_T(y|x), p_S(x)=p_T(x)

  • Multi-task Learning: Source Domain Labels are available
    • learn source and target
  • Self-taught Learning: Source Domain Labels are unavailable
    • feature based: learn good feature on source
    • fine-tuning: pretrain model

Transductive Transfer Learning

pS(x,y)pT(x,y)p_S(x,y)\neq p_T(x,y),假设源领域有大量标记数据,目标领域有无标记数据

  • Domain Adaptation: 协变量偏移 pS(x)pT(x),pS(yx)=pT(yx)p_S(x)\neq p_T(x),p_S(y|x)=p_T(y|x)
    • 学习 domain-invariant feature 使得学习到的特征不受限于 Source Domain 而导致 over-fitting,缩小 co-variant shift
    • 协变量 Covariate:可能影响预测结果的统计变量,机器学习中可以看作输入
  • 概念偏移:different tasks pS(yx)=pT(yx)p_S(y|x)=p_T(y|x) with pS(x)=pT(x)p_S(x)=p_T(x)
  • 先验偏移:pS(y)pT(y),pS(xy)=pT(xy)p_S(y)\neq p_T(y),p_S(x|y)=p_T(x|y)

Unsupervised Transfer Learning

No labeled data in both source and target domain

Domain Adaptation

  • 学习模型 f:XYf:\mathcal{X}\rightarrow\mathcal{Y}
    • RT(θf)=E(x,y)pS(x,y)pT(x)pS(x)(L(f(x;θf),y))\mathcal{R}_T(\theta_f)=E_{(x,y)\sim p_S(x,y)}\frac{p_T(x)}{p_S(x)}(L(f(x;\theta_f),y))
  • 领域无关表示 Domain-Invariant:g:XRdg:\mathcal{X}\rightarrow\mathbb{R}^d
    • pS(g(x;θg))=pT(g(x;θg)),xXp_S(g(x;\theta_g))=p_T(g(x;\theta_g)),\forall x\in\mathcal{X}
    • RT(θf,θg)=E(x,y)pS(x,y)([L(f(g(x;θg);θg),y)])+γdg(S,T)R_T(\theta_f,\theta_g)=E_{(x,y)\sim p_S(x,y)}([L(f(g(x;\theta_g);\theta_g),y)])+\gamma d_g(S,T)
  • 分布差异
    • MMD(Maximum Mean Discrepancy)
    • CMD(Central Moment Discrepancy)
  • 对抗学习(Adverserial)
    • 判别器 c(h,θc)c(h,\theta_c)Lc(θg,θc)=1Nn=1Nlogc(hS(n),θc)+1Mm=1Mlog(1c(xD(m),θc))L_c(\theta_g,\theta_c)=\frac{1}{N}\sum_{n=1}^N\log c(h_S^{(n)},\theta_c)+\frac{1}{M}\sum_{m=1}^M\log(1-c(x_D^{(m)},\theta_c))
    • 特征提取:dg(S,T)=Lc(θf,θc)d_g(S,T)=\mathcal{L_c}(\theta_f,\theta_c)

终身学习(持续学习)

  • 通过历史任务 T1,T2,,Tm\mathcal{T}_1,\mathcal{T}_2,\cdots,\mathcal{T}_m 学习 Tm+1\mathcal{T}_{m+1}

  • 避免灾难性遗忘:按照一定顺序学习多个任务时,在学习新任务的同时不忘记先前学 会的历史任务

  • 弹性权重巩固(2017)

    • logp(θD)=logp(DBθ)+logp(θDA)logp(DB)\log p(\theta|D)=\log p(D_B|\theta)+\log p(\theta|D_A)-\log p(D_B)
    • 假设 p(θDA)p(\theta|D_A) 为高斯分布,期望为任务 TA\mathcal{T}_A 上学习到的参数 θA\theta_A,精度矩阵(协方差矩阵的逆)为 θ\thetaDA\mathcal{D}_A 上的 Fisher 信息矩阵近似,p(θDA)=N(θA,F1)p(\theta|D_A)=\mathcal{N}(\theta_A,F^{-1})
    • Fisher 信息矩阵:测量似然函数 p(x,θ)p(x,\theta) 携带的关于参数 θ\theta 信息量的方法,对角线反应了最大似然估计时的不确定性,值越大,参数估计值方差越小,越有可靠性

    打分函数:s(θ)=θlogp(x;θ)s(\theta)=\nabla_\theta\log p(x;\theta)

    • E(s(θ))=0E(s(\theta))=0
    • Fisher 信息矩阵:s(θ)s(\theta) 的协方差矩阵,F(θ)=E(s(θ)s(θ))F(\theta)=E(s(\theta)s(\theta)^\top)
    • L(θ)=LB(θ)+i=1Nλ2FiA(θiθA,i)2L(\theta)=L_B(\theta)+\sum_{i=1}^N\frac{\lambda}{2}F_i^A(\theta_i-\theta_{A,i}^*)^2

元学习

  • 元学习
    • 基于优化器
      • 优化器:gt()g_t(\cdot)
      • 更新规则:θt+1=θt+gt(L(θt);ϕ)\theta_{t+1}=\theta_t+g_t(\nabla\mathcal{L}(\theta_t);\phi)
      • L(ϕ)=Ef(t=1TωtL(θt))\mathcal{L}(\phi)=E_f(\sum_{t=1}^T\omega_tL(\theta_t))
      • θt=θt1+gt\theta_t=\theta_{t-1}+g_t
      • [gt;ht]=LSTM(L(θt1,ht1;ϕ))[g_t;h_t]=\text{LSTM}(\nabla L(\theta_{t-1},h_{t-1};\phi))
    • 模型无关(MAML):假设所有任务来源任务空间 p(T)p(\mathcal{T})
      • θm=θαθLTm(fθ)\theta_m'=\theta-\alpha\nabla_\theta\mathcal{L}_{\mathcal{T}_m}(f_\theta)
      • 学习一个参数 θ\theta 使得其经过一个梯度迭代就可以在新任务上达到最好的性能:minθTmp(T)LTm(fθm)\min_\theta\sum_{\mathcal{T}_m\sim p(\mathcal{T})}L_{\mathcal{T}_m}(f_{\theta'_m})
  • 小样本学习
    • kk-shot: 每个类只有 KK 个标注样本
    • tt-way: tt classes