在应用机器学习中,您可能会遇到转导或转导学习这些术语。
该术语在循环神经网络应用于序列预测问题的某些场景中被使用,例如自然语言处理领域中的一些问题。
在这篇文章中,您将了解机器学习中的转导是什么。
阅读本文后,你将了解:
- 转导的定义,包括它在某些特定研究领域的定义。
- 在机器学习中,什么是转导学习。
- 在谈论序列预测问题时,转导的含义。
开始您的项目,阅读我的新书《自然语言处理深度学习》,其中包含分步教程和所有示例的Python源代码文件。
让我们开始吧。
概述
本教程分为4个部分,它们是:
- 什么是转导?
- 转导学习
- 语言学中的转导
- 序列预测中的转导
什么是转导?
让我们从一些基本的字典定义开始。
转导意味着将某物转换为另一种形式。
转导:将(如能量或信息)转换为另一种形式,例如感觉器官将物理能量转化为神经信号。
— Merriam-Webster Dictionary (在线), 2017
它是电子和信号处理领域的一个流行术语,其中“传感器”是对将声音转换为能量或反之亦然的组件或模块的通用名称。
所有信号处理都始于输入传感器。输入传感器接收输入信号并将其转换为电信号。在信号处理应用中,传感器可以采取多种形式。麦克风是输入传感器的常见示例。
— 数字信号处理解密, 1997
在生物学,特别是遗传学中,转导是指微生物将遗传物质转移到另一个微生物的过程。
转导:转导的动作或过程;特别是:通过病毒介质(如噬菌体)将遗传物质从一种微生物转移到另一种微生物。
— Merriam-Webster Dictionary (在线), 2017
因此,总的来说,我们可以看到转导就是将信号转换为另一种形式。
信号处理的描述最为显著,它将声波转化为电能,以便在系统中使用。每个声音都将由某种电信号表示,并以选定的采样率进行表示。

信号处理传感器的示例
转导学习
转导或转导学习在统计学习理论领域被用来指代给定特定领域中的特定样本来预测特定样本。
它与其他学习类型形成对比,例如归纳学习和演绎学习。
归纳:从给定数据中推导出函数。演绎:为感兴趣的点推导出给定函数的取值。转导:从给定数据中为感兴趣的点推导出未知函数的取值。
— 第 169 页, 统计学习理论的本质, 1995

归纳、演绎和转导之间的关系
摘自《统计学习理论的本质》。
这是一种有趣的监督学习表述方式,其中传统的“从数据中近似映射函数并使用它进行预测”的问题被认为比实际需要更难。相反,直接从领域中的真实样本进行特定预测。无需进行函数近似。
估计给定感兴趣点处函数值的模型描述了一种新的推理概念:从特殊到特殊。我们将这种推理称为转导推理。请注意,当希望从有限信息中获得最佳结果时,就会出现这种推理概念。
— 第 169 页, 统计学习理论的本质, 1995
转导算法的一个经典示例是 k-最近邻算法,它不建模训练数据,而是在每次需要预测时直接使用训练数据。
转导自然与一组称为实例式或案例式学习的算法相关。也许,这类算法中最著名的算法是 k-最近邻算法。
— 通过转导学习, 1998
需要深度学习处理文本数据的帮助吗?
立即参加我的免费7天电子邮件速成课程(附代码)。
点击注册,同时获得该课程的免费PDF电子书版本。
语言学中的转导
传统上,在谈论自然语言时会用到转导,例如在语言学领域。
例如,“转导语法”的概念是指一套将一种语言的示例转换为另一种语言的规则。
转导语法描述了结构上相关的语言对。它生成句子对,而不是句子。语言 1 句子是(旨在)语言 2 句子的翻译。
— 第 460 页, 自然语言处理手册, 2000.
计算理论中还有一个“有限状态转导器”(FST)的概念,在谈论将一组符号映射到另一组符号的翻译任务时会引用它。重要的是,每个输入都会产生一个输出。
有限状态转导器由多个状态组成。在状态之间转换时,会消耗一个输入符号并发出一个输出符号。
— 第 294 页, 统计机器翻译, 2010.
在谈论理论和经典机器翻译时,这种转导的使用方式影响了术语在谈论现代循环神经网络在自然语言处理任务上的序列预测时的用法。
序列预测中的转导
在他关于语言处理的神经网络教材中,Yoav Goldberg 将转导定义为 NLP 任务的一种特定网络模型。
转导被狭义地定义为一种模型,该模型为提供的每个输入时间步输出一个输出。这与语言学用法相符,特别是与有限状态转导器。
另一种选择是将 RNN 视为一个转导器,为它读取的每个输入生成一个输出。
— 第 168 页, 自然语言处理中的神经网络方法, 2017.
他提出了这种模型用于序列标记以及语言建模。他进一步指出,诸如编码器-解码器架构之类的条件生成可以被视为 RNN 转导器的一个特例。
鉴于编码器-解码器模型架构中的解码器允许为给定的输入序列生成不同数量的输出,这打破了 Goldberg 和 FST 定义中的“每个输入一个输出”,因此这一点令人惊讶。

转导器 RNN 训练图。
摘自《自然语言处理中的神经网络方法》。
更广泛地说,转导在 NLP 序列预测任务中特别是在翻译中被使用。定义似乎比 Goldberg 的严格的“每个输入一个输出”和 FST 更宽松。
例如,Ed Grefenstette 等人将转导描述为将输入字符串映射到输出字符串。
许多自然语言处理(NLP)任务可以视为转导问题,即学习将一个字符串转换为另一个字符串。机器翻译是转导的一个典型例子,最近的结果表明,深度 RNN 能够编码长源字符串并生成连贯的翻译。
— 具有无界内存的学习转导, 2015.
他们继续列出了一些具体的 NLP 任务,有助于使这个广泛的定义具体化。
字符串转导是许多 NLP 应用的核心,从名称音译和拼写纠正,到屈折形态和机器翻译。
Alex Graves 也将转导用作转换的同义词,并且还有用性地列出了一些符合该定义的 NLP 任务示例。
许多机器学习任务可以表示为将输入序列转换为输出序列的转换——或转导:语音识别、机器翻译、蛋白质二级结构预测和文本到语音转换等等。
— 带循环神经网络的序列转导, 2012.
总结一下,我们可以将转导性自然语言处理任务的列表重述如下:
- 音译,给定源形式的示例,生成目标形式的单词。
- 拼写纠正,给定不正确的单词拼写,生成正确的单词拼写。
- 屈折形态,给定源序列和上下文,生成新序列。
- 机器翻译,给定源语言的示例,生成目标语言的单词序列。
- 语音识别,给定音频序列,生成文本序列。
- 蛋白质二级结构预测,根据氨基酸的输入序列预测三维结构(非 NLP)。
- 文本到语音,或语音合成,给定文本序列生成音频。
最后,除了转导的概念可以指代广泛的 NLP 问题和 RNN 序列预测模型之外,一些新方法也明确地以这种方式命名。Navdeep Jaitly 等人将他们新的 RNN 序列到序列预测方法称为“神经转导器”,技术上来说,用于序列到序列预测的 RNN 也属于此类。
我们提出了一个神经转导器,这是一个更通用的序列到序列学习模型类别。神经转导器可以在输入块到达时生成输出块(可能长度为零),从而满足“在线”的条件。该模型通过使用实现序列到序列模型的转导器 RNN 来为每个输入块生成输出。
— 神经转导器, 2016
进一步阅读
如果您想深入了解此主题,本节提供了更多资源。
定义
学习理论
- 统计学习理论的本质, 1995
- 通过转导学习, 1998
- 维基百科上的转导(机器学习)
语言学
- 自然语言处理手册, 2000.
- 维基百科上的有限状态转导器
- 统计机器翻译, 2010.
序列预测
- 自然语言处理中的神经网络方法, 2017.
- 具有无界内存的学习转导, 2015.
- 带循环神经网络的序列转导, 2012.
- 神经转导器, 2016
总结
在这篇文章中,您了解了应用机器学习中的转导。
具体来说,你学到了:
- 转导的定义,包括它在某些特定研究领域的定义。
- 在机器学习中,什么是转导学习。
- 在谈论序列预测问题时,转导的含义。
你有什么问题吗?
在下面的评论中提出你的问题,我会尽力回答。
我在 xy 平面上有一组点,我发现它们对应于具有特定周期、相位和幅度的正弦波:归纳。
我有一个具有特定周期、相位和幅度的正弦波,并且我想知道在特定 x 值下的 y 值:演绎。
我在 xy 平面上有一组点,我想知道在特定 x 值下的 y 值:插值。
转导中是否有任何东西不能称为插值?
在信号处理(和自然语言处理)的意义上,转导最好被认为是变换。
在统计机器学习的意义上,这是一种即时实例式预测。插值听起来是合理的。
很好,解释得非常清楚。
谢谢。
你好,先生
我想了解如何用 KERAS Python 实现 seq2seq。您能否提供一些资源、书籍或示例?
最好的祝福
请看这个教程
https://machinelearning.org.cn/encoder-decoder-long-short-term-memory-networks/
很好的总结,谢谢。
我注意到许多转导解释都强调它在于避免学习函数,而是直接为测试用例进行预测。我明白这个意思,但觉得有点不精确。
以 k-means 为例。给定一组训练用例和 k-means,确实存在一个函数将每个测试用例映射到其聚类,即使用那些训练样本和 k-means 定义的函数。换句话说,k-means 本身就是一个函数。
所以,在我看来,“不学习函数”实际上的意思更可能是“不进行太多先验处理,并且不以紧凑、抽象的形式表示函数,而是以训练样本的形式表示它”。
这让我想起了“非参数概率模型”这个误称,实际上它们是参数化的,但参数的数量是无界的而不是固定的,通常也以训练数据来表示。
是的,我完全同意。
您可能在寻找“溯因”,它已经包含了本文所述的“转导”的含义。
您能详细说明一下吗,David?
非常感谢您这篇文章。我被这个词的各种定义弄糊涂了。
那么,可以说序列预测中的转导不适用于转导学习的预测类型吗?还是两者都相关?
我认为您可以将它们视为相关的。毕竟,转导是你想要做什么的概念。具体问题的实现方式可能不同。
这是一个有用的关于“转导”一词的解释,这是我开始深入理解“Attention is all you need” Transformer 论文时遇到的第一个词。谢谢。
Alexander,非常欢迎!我们非常感谢您的反馈和支持。