0
点赞
收藏
分享

微信扫一扫

李宏毅机器学习——结构化学习(一)


引言

本文主要介绍了什么是结构化学习(Structured Learning),并简要介绍了下原理。最后对一些应用场景进行了一些说明。

结构化学习

到目前为止,我们考虑的问题它的输入和输出都只是向量。

李宏毅机器学习——结构化学习(一)_结构化学习

实际上我们面对的问题可能比这更复杂,可能输入或输出是序列(sequence),列表(list)、树(tree)或边框(bounding box)。

我们想要一个更强大的函数李宏毅机器学习——结构化学习(一)_穷举_02,它的输入是一种对象,输出是另一种对象。

它其实有很多应用。

  • 语音识别
  • 李宏毅机器学习——结构化学习(一)_目标检测_03: 语音讯号(序列) →李宏毅机器学习——结构化学习(一)_机器学习_04:文字(序列)
  • 翻译
  • 李宏毅机器学习——结构化学习(一)_目标检测_03: 中文语句(序列) →李宏毅机器学习——结构化学习(一)_机器学习_04:英文语句(序列)
  • 中文分词
  • 李宏毅机器学习——结构化学习(一)_目标检测_03: 句子(序列) →李宏毅机器学习——结构化学习(一)_机器学习_04:切分树(parsing tree,树结构)
  • 目标检测
  • 李宏毅机器学习——结构化学习(一)_目标检测_03: 图像 →李宏毅机器学习——结构化学习(一)_机器学习_04:边框(bounding box)
  • 摘要生成
  • 李宏毅机器学习——结构化学习(一)_目标检测_03: 文档 →李宏毅机器学习——结构化学习(一)_机器学习_04:摘要(短片段)
  • 检索
  • 李宏毅机器学习——结构化学习(一)_目标检测_03: 关键字→李宏毅机器学习——结构化学习(一)_机器学习_04:搜索结果(网页列表)

李宏毅机器学习——结构化学习(一)_结构化_15

那如何做结构化学习呢,虽然它听起来困难,实际上有个统一的框架。

Unified Framework

李宏毅机器学习——结构化学习(一)_机器学习_16

训练的时候,找一个函数李宏毅机器学习——结构化学习(一)_目标检测_17,它的输入是李宏毅机器学习——结构化学习(一)_目标检测_18李宏毅机器学习——结构化学习(一)_结构化_19,输出是实数李宏毅机器学习——结构化学习(一)_穷举_20。该实数代表这两个结构化对象有多匹配。

在测试的时候,给定一个新的结构化对象李宏毅机器学习——结构化学习(一)_机器学习_21,穷举所有可能的李宏毅机器学习——结构化学习(一)_结构化_19,代入函数李宏毅机器学习——结构化学习(一)_目标检测_17,求得使其结果最大的李宏毅机器学习——结构化学习(一)_机器学习_24

目标检测

假设我们要做的是目标检测,给定一张图像,需要从图像中框出某个物体(目标)。

  • 李宏毅机器学习——结构化学习(一)_结构化_25: 图像 →李宏毅机器学习——结构化学习(一)_结构化_26:边框(bounding box)

李宏毅机器学习——结构化学习(一)_结构化_27


比如要做凉宫春日人物(戴黄色丝带的那个)检测。这只是举个例子,看来李宏毅老师很喜欢二次元啊。实际上可以用同样的技术来检测人脸。

李宏毅机器学习——结构化学习(一)_机器学习_28


来识别车辆并测距离。

李宏毅机器学习——结构化学习(一)_目标检测_29

回到识别凉宫春日的图。

李宏毅机器学习——结构化学习(一)_机器学习_30

输入就是一张图像,输出就是一个边框,李宏毅机器学习——结构化学习(一)_机器学习_31说的是假设这张图片这个位置和这个红色边框有多匹配。

你可能期待你的模型能做到框的很正确。下面是一些正确和错误的示例:

李宏毅机器学习——结构化学习(一)_穷举_32

接下来测试的时候,给定一张从来没看过的图像,穷举所有的边框。然后看哪个边框得到的分数最高。

李宏毅机器学习——结构化学习(一)_结构化学习_33

可能红色的得到10分,黄色的分数最低。那么红色就是你模型的输出。

摘要生成

在摘要生成中,给定一篇很长的文章(文档),输出一个摘要。

李宏毅机器学习——结构化学习(一)_目标检测_34

我们训练的时候,当它的文章和正确的摘要配成一对的时候,李宏毅机器学习——结构化学习(一)_目标检测_17的值就很大,否则就很小。

李宏毅机器学习——结构化学习(一)_结构化_36


在测试的时候就穷举所有可能的摘要,看哪个最匹配。

李宏毅机器学习——结构化学习(一)_穷举_37

检索

在检索的时候,输入是一个关键字,输出是搜索结果的列表。

李宏毅机器学习——结构化学习(一)_穷举_38

训练的时候,我们要知道输入某个关键字(query)的时候,输出哪个列表是最匹配的。

李宏毅机器学习——结构化学习(一)_穷举_39

测试的时候,穷举所有可能的列表,看哪个列表得分最高。

李宏毅机器学习——结构化学习(一)_穷举_40

虽然这个框架看起来很强大,但是这里有三个问题需要解决。

三个问题

李宏毅机器学习——结构化学习(一)_穷举_41

  • 李宏毅机器学习——结构化学习(一)_机器学习_42长什么样子

李宏毅机器学习——结构化学习(一)_目标检测_43

当输入是个图像+边框,这个李宏毅机器学习——结构化学习(一)_机器学习_31是怎样的?
当输入是关键字+列表,这个李宏毅机器学习——结构化学习(一)_机器学习_31是怎样的?

  • 如何解​​arg max​​问题

李宏毅机器学习——结构化学习(一)_机器学习_46

李宏毅机器学习——结构化学习(一)_结构化_19的空间可能非常大。

李宏毅机器学习——结构化学习(一)_穷举_48


要做目标检测要穷举所有可能的边界。

  • 给定训练数据,如何找到李宏毅机器学习——结构化学习(一)_机器学习_42

李宏毅机器学习——结构化学习(一)_穷举_50

在训练的时候,我们希望正确的李宏毅机器学习——结构化学习(一)_机器学习_51的结果是最大的。

只要解决这三个问题,就能解结构化学习的问题。

与DNN的关系

结构化学习和深度神经网络是有关系的,怎么说。

李宏毅机器学习——结构化学习(一)_穷举_52


假设现在要做手写数字识别,我们的李宏毅机器学习——结构化学习(一)_目标检测_17是这样的

李宏毅机器学习——结构化学习(一)_目标检测_54

先把李宏毅机器学习——结构化学习(一)_机器学习_21丢到DNN,得到一个向量叫李宏毅机器学习——结构化学习(一)_机器学习_56,接下来再输入李宏毅机器学习——结构化学习(一)_机器学习_24,这个李宏毅机器学习——结构化学习(一)_机器学习_24就是手写数字识别中的那个10维向量(只有一个维度是1其他都是0)。

然后把李宏毅机器学习——结构化学习(一)_机器学习_24李宏毅机器学习——结构化学习(一)_机器学习_56做交叉熵(CE),把交叉熵的结果取负就是李宏毅机器学习——结构化学习(一)_机器学习_31

接下来在测试的时候,需要穷举10个所有可能的结果。

李宏毅机器学习——结构化学习(一)_穷举_62

每一个结果都代入这个函数中,看哪个结果让李宏毅机器学习——结构化学习(一)_机器学习_31最大。

所以这件时候和用交叉熵训练神经网络是一样的。
我们可以把李宏毅机器学习——结构化学习(一)_结构化_64想成输入一个李宏毅机器学习——结构化学习(一)_穷举_65输出它们有多匹配。

参考

  1. ​​李宏毅机器学习​​


举报

相关推荐

0 条评论