深度学习笔记——理论与推导之Structured Learning【Learning with Hidden Information】(九)

引言:
Different Kinds of Learning:
1. Supervised Learning:
Data:这里写图片描述
2. Semi-supervised Learning
Data:这里写图片描述
3. Unsupervised Learning
Data:这里写图片描述
4. Hidden variable Learning
Data:这里写图片描述

Example Applications for Hidden Variable Learning(Hidden Variable Learning用在哪?)

  1. Sentiment Analysis(情感分析):
    自动识别一个电影观点是积极的还是消极的。
    这里写图片描述
    它的Hidden Information是那些和电影观点有关的document。
  2. Summarization(演讲总结):
    在一个总结中,我们想通过摘取几个重要的段落进行总结,然而在一个演讲中,我们通常分不清段落的界限,因此段落的界限就成了hidden information
    这里写图片描述
  3. Speech Recognition(语音识别):
    在语音识别的时候,音素/状态和声学特征之间的排列是隐藏的。
    这里写图片描述
  4. Machine Translation(机器翻译):
    在机器翻译的时候,句子对的词对齐是隐藏的。
    这里写图片描述

General Framework

Two Steps

Step1、Training:

  1. Find function F:
    • F:X × Y × H –> R
    • F(x,y,h) 用来评估x,y和h的匹配度。
      Step2、Inference(Testing):
    • Given object x
      • 拿出一个能让F(x,y,h)最大的h这里写图片描述
      • 拿出所有的h这里写图片描述

Three Problems

  1. Problem 1:Evaluation:
    • F(x,y,h)长什么样呢?
    • Eg. F(x,y,h) = w · ψ(x,y,h)
  2. Problem 2:Inference:
    • 这里写图片描述
    • 这里写图片描述
  3. Problem 3:Training:
    • Given 这里写图片描述
    • EM-like algorithm

Three Problems - Training

  1. 我们假定我们知道(x,h,y),这个Training对于我们来说不是一个问题,因为我们可以把h想成x的一部分或y的一部分,这时我们只要定义一个feature,那么我们就可以用structure svm的方法来解这个问题。
  2. 假设我们知道F(x,y,h),也知道了x和y,那么我们把h都带进去,能够使F(x,y,h)最大的值就是我们要的h。
  3. 上面的解法,我们发现第一个是从h –> F,第二个是从F –> h,那么我们应该要initialize random F(x,y,h)。
    这里写图片描述

Structured SVM with Hidden Information

Motivation(动机)

这里写图片描述
下面两个都是Haruhi,但一个是短发,一个是长发:
这里写图片描述

Two Cases

两个Case的介绍:

  1. Case 1 :
    • 有用的信息在training data中是可见的,而在testing data中是被hidden的(知h求F)。
    • 即假设我们的training data上是有label的,加入type之后,structured svm就可以处理了。
      Case 2:
    • 有用信息在training data和testing data中都是hidden的。(知F求h)
      这里写图片描述
Case 1

Case1:Two kinds of Objects?
每一张图片,我们不仅知道框框在哪(y),也知道了Haruhi是短发还是长发(label),所以我们可以将这个问题看成我们就是要detect两种不同type(短发,长发)的Haruhi。
这里写图片描述
如果图片是Haruhi_1时,我们就要用w1来处理,用w1和图片的feature来做乘法,得到的F1(x,y)来做所有的事情。
那么在Training的时候,我们就要让正确y形成的F1(x,y)大于其他的y形成的F1(x,y),对于Haruhi_2也是一样的,这里用的是w2。
这里写图片描述
Case1:Problematic Inference
问题:
这里有一个潜在问题:对于Haruhi_1我们有w1,对于Haruhi_2,我们有w2,只需要把每一个y带进去,得到最大的F(x,y,h)的值就是最有可能的y值。然而在图片输入之初,我们不知道Haruhi是短发还是长发
这里写图片描述
解决方法:
那么,我们假设图片有可能是type1也有可能是type2,这里将图片带入到w1和w2中:
这里写图片描述
但是,由于w1和w2可能是分开学习的,所以值可能差异很大,所以w1和w2应该联合学习:
这里写图片描述

Case 1:Evaluation
  1. 我们可以把w1和w2放在一起训练,隐藏信息是Haruhi是短发还是长发,ψ(x,y,h)表示的是x,y和h的feature vector,它的长度是Φ(x,y)的两倍,w是w1和w2的两倍:
    这里写图片描述
  2. F(x,y,h) = w · ψ(x,y,h)是以下模式,type1和type2(也就是0,决定Φ(x,y)是放在vector的上半部还是下半部)
    这里写图片描述
Case 1:Inference

所以今天我们不仅要遍历y,还要遍历h:
这里写图片描述

Case 1:Training

一般的Structured SVM中,我们的Cost function是这么做的:这里写图片描述
同时我们也可以把margin(Δ)加进去
这里写图片描述
现在,当我们改变我们的evaluate function,我们便可以做以下变换:
这里写图片描述
举个例子:
15. 我们计算Structured SVM的cost function是可以画成这样的:
这里写图片描述
16. 我们计算Structured SVM with Hidden Information,我们要遍历所有的y和所有的h:
这里写图片描述
那么,我们应该如何Training这个Cost Function呢?
17. 我们可以将绿框框里的公式,转成QP问题,也就是对任意一个y和任意一个h,我们都存在constraint,因此我们就可以用Cutting Plane Method方法。
这里写图片描述

Case 2

Case 2:Training with Hidden Information:
问题:
The useful information are usually hidden
解决方法:

  1. 如果我们今天已经知道了F,那么我们直接把h带入方程,看看谁的分数最高,就知道了什么样的h和(x,y)最匹配。
  2. 然而我们不知道w,这里,我们可以random initialize一个w。
    这里写图片描述
  3. 那么我们这里就带入w0对4组training data做运算,找到type1和type2能让以下式子最大。那么这样我们能得到好的值吗?答案是不会的,因为w0是random的:
    这里写图片描述
  4. 现在我们相当于给定了h,这样就相当于解一个QP问题:
    这里写图片描述
    当你求解QP后,你就会得到一个w1,当然w1不一定是一个很准确的值,接下来,我们用w1重新计算h = argmax这个公式,然后得到一个新的h,接着我们就可以继续我们的Training,新的w一定会比旧的w更好。
    这里写图片描述
    这里写图片描述
    Summary
    随机初始w后,根据w和training data给我们的x和y head,我们可以找出最有可能的h值,根据h值我们可以解一个QP问题,这样我们就可以获取一个新的w,这样我们就可以一直循环下去。
    这里写图片描述
    为什么新的w会比旧的w更好呢:
    复习一下Structured SVM:
    我们之前说过,我们最小化的cost function会是margin的upper bound,如果你的error是用margin衡量的话,那么就是minimize cost function的upper bound
    这里写图片描述
  5. 那我们接下来看看C^n长什么样:
    我们先看看max部分长什么样,我们先把max拿掉,我们发现这是一条斜线,因为Δ项是一个常数项。
    这里写图片描述
    那么今天我们要求的max就是这样的,我们发现不管我们的w怎么变,我们得到的都是一个convex的形状:
    这里写图片描述
    cost function的第一项是一个convex,第二项对于w而言就是一条斜线,所以两项相减后又是一个convex:
    这里写图片描述
    所以cost function整体来说就是一个convex function
    我们真正要minimize的是一个
    这里写图片描述
    我们知道每一个c^n都是convex,而w也是一个convex,那么好多个convex加起来,就可以得到一个convex function,所以今天我们在做structure SVM时,我们就是在找一个convex function的最小值,这个对Structured SVM是比较容易的,和之前的DNN不一样,在做DNN的时候,我们不知道function长什么样,但在做Structured SVM时,我们是找到function长什么样的,所以就算我们用的Gradient Descent的方法,我们还是可以找到global的minima,而不是local minima。Structured SVM很不同的一点就是他找到的minima就是global minima
    这里写图片描述
    现在我们要说的Structured SVM with Hidden Information:
    每一次迭代中,我们也会让cost function变小,这个cost function长这样:
    我们每走一步都会让这个cost function变小,所以我们说新的w比旧的w更小。
    这里写图片描述
    这个cost function和我们之前在做SVM时有同样好的性质,即如果今天inference是用穷举所有的h和穷举所有的y,那么这个cost function依旧是error function的upper bound。
    这里写图片描述
    那么这个cost function长什么样呢?
    红线部分:穷举所有的h,(x^n,y^n head)给定的,我们找出红线公式上配对出的结果最大。
    黑色部分:穷举所有的y和h的pair带入公式。
    绿色部分:穷举所有的y带入公式
    这里写图片描述
    那么我们接下来可以得到:
    (后面那项因为加上了减号,所以是一个concave)
    这里写图片描述
    所以我们今天,如果在svm中加入了hidden information,那么像之前DNN那样,可能找到local minima。
    那我们如何找到minima呢?
    Method 1. Gradient Descent
    Method 2. Auxiliary Function:
    • 给定一个weight w0,在w0这点找一个辅助函数(Auxiliary function)
    • 这个A(w)要有以下特性:
      • A(w0) = C^n(w0)
      • Upper bound of C^n(w)
      • Easy to be minimized
    • 找到A(w)的最小值:w1
      • 即:A(w1) < A(w0)
      • 根据第二条A(w)特性,所以C^n(w1) < A(w1)
    • 最后我们得到C^n(w1) < C^n(w0)
    • 接下来,从w1开始,再找一个A(w),这样,我们的w就可以让C^n越来越小:
      这里写图片描述
      列表内容
    • 和Gradient Descent不同的就是,它不用调整learning rate,步伐多大,是由A(w)自动决定,最麻烦的是找A(w)。
      在Structured SVM with Hidden Information中,如何找到A(w)呢?
      我们可以找到concave function的upper bound,即在w0的切线,再将切线和convex相加,这条线就会使我们的A(w)。
      为什么呢?这条Function可以满足A(w)的三个特征
      这里写图片描述
      那么这些和我们的迭代过程有什么关系呢?
      右边其实就是左边的一个过程:
      这里写图片描述
      所以在每次迭代后,我们得到的w值都能使cost function减小,只是有可能卡在local minima中
      我们来举个例子:
      我们现在有两个hidden information(h只有两个可能),所以我们对这两条线求切线,如果h = 1时得到最大值,那么切线其实就是h=1的时候,h=2时同理。
      这里写图片描述
    • 所以我们在求argmax时,就是再求切线,我们的A(w)就是如下形式,接下来就是要minimizing A(w):
      这里写图片描述
    • 求A(w)可以用Gradient Descent,也可以用QP
      这里写图片描述
      所以我们今天在做QP时,就是在minimize这个A(w)。

Structured SVM with Hidden Information

这里写图片描述

To Learn More

这里写图片描述

猜你喜欢

转载自blog.csdn.net/sysstc/article/details/76560077
今日推荐