科普丨机械学习与学习机器论述(经典论文)


熊楚渝    美国纽约独立研究员

摘要

机械学习是一个基于一套简单固定规则的计算系统,它可以从输入数据进行学习。学习机器是实现机械学习的系统。重要的是,我们强调机械学习基于一套简单固定规则是为了与机器学习进行区分,机器学习是一个基于复杂数学运算的软件,它常常需要人工对软件进行优化或调整。这里,我们将讨论一下机械学习系统的基本问题和原则,并尝试为进一步的研究定下一个框架。就像丘奇-图灵对那样,为了实现机械学习,我们提出了两个方向:一个是尝试去实现一个学习机器,另一个是尝试去描述机械学习。

关键词:机械学习、学习机器、空间学习、丘奇-图灵论题

校正我们推理的唯一方式就是使它们像数学一样具体,这样我们一眼就能发现错误,当人们有争论的时候,我们只需说:不用再啰嗦了,让我们来计算一下,看看谁是对的。

——戈特弗里德·莱布尼茨

1.介绍

近年来,机器学习成为IT开发和研究中的热点。然而,现在仍有些基础性的问题有待解决,为了尽量理解这些问题,我们提出了“机械学习”这个术语。这里,我们将尝试为机械学习定下一个论述框架。

虽然,电子设备可以非常有效的处理数字运算,实际上也可以处理很多非常复杂乃至很智能的问题。但是,这些设备的核心仍然是一些非常机械化的东西,例如,它们都受一套简单固定法则支配。电子设备之所以能进行复杂的信息处理是因为它们运行着来自人类智慧的预装程序。换言之,计算设备的核心是非常机械化的东西,它们进行复杂信息处理的能力,是由人类智慧赋予的。

对机器学习软件来说,情况看起来有些不同。它们进行信息处理的能力,至少有一部分是来自于学习。我们不禁要问:一个计算设备可以通过学习自己获得进行信息处理的能力吗?这个问题不好回答。看起来,机器学习软件通过学习获得处理信息的能力,但如果我们观察的再深入一些,就会发现,这种学习严重依赖人类的参与和干预。这促使我们考虑把学习的那部分孤立起来,使其不需要人工干预。那么,接下来我们就对这种需求设定“一套简单固定法则”

术语“机械”的目的是为了强调“一套简单固定法则”,而不代表齿轮、杠杆、推杆、拉头之类的东西。我们通常称由一套简单固定法则支配的东西为机械。这同诸如机械推理、机械计算之类的历史用法相一致。

首先,我们介绍IPU(信息处理单元),并基于IPU进行论述。然后,我们会进一步解释为何我们会对“机械学习”或通过“一套简单固定法则”学习感兴趣。为了说明这种要求的效用,我们展现了一些通过这种思路可能会达成的重要结果。

曾经,思路是这样的,我们很自然的就想到对机械计算和机械学习进行类比,并且回顾了丘奇和图灵关于机械计算和机械推理的基础成果。这强烈的启示我们要走两条不同而又对应的道路来实现机械学习:拓展丘奇-图灵论题。即一条是构建一个通用且高效的学习机器,另一是为对机械学习进行描述。丘奇-图灵论题是人们理解机械计算的关键,我们相信,扩展丘奇-图灵论题可以给我们理解机械学习一个好的指引。

这篇文章是我们讨论机械学习的第一篇文章,我们会在后面的文章中写下我们的研究。在最后部分,我们会留下一些想进行深入讨论的论题。

在这个论述中,我们会限制在空间学习的范围之中,而不去考虑时间学习。首先,让我们在这先对“空间”和“时间”进行粗略的区分。对机械学习而言,我们非常关心模型,简略的说,伴随着空间输入的是空间模型,而伴随着时间线的是时间模型。说我们限制在空间学习是指,我们只考虑空间输入的模型,而不考虑几个模型序列组合而成的模型。举一个简单的例子,对几个字母 A,B,C,...,Z,每一个字母代表一个空间模型,若限制在空间模型,那么学习机器就会分别去考虑模型A,B,...,Z,而不去,实际上也没有能力去考虑诸如AB,CZW之类的模型序列。术语“空间”的含义会在后面的讨论中更加明确。限制在空间学习,可以简化论述,从而使我们的论述更加深入。当然,任何一个真实的学习系统都应同时考虑空间学习与时间学习,但那超出了我们当前论述的范围。

2.信息处理单元和机械学习

在这,我们将尝试确定机械学习的定义,以及与之相关的一些原则。由于学习与信息及信息处理不可分割,那么我们就从信息的处理开始。实际上,信息的处理就是计算。因此,我们在这的讨论时间上就是从不同的角度看待计算。

定义 信息处理单元:

信息处理单元是这样一个实体:它有输入空间和输出空间,输入空间是一个N位二进制数组I;输出空间是一个M位二进制数组O。对于任何输入i∈I,会有相应的输出o∈O,我们称之为N-M IPU。


图1. 信息处理单元插图

现在,我们主要关注信息的输入与输出,而不是信息如何在IPU内部被处理的。根据我们的标注,对于一个输入i∈I,输出是o=P(i),我们称P是IPU的处理算法。因此,实际上处理算法P是二进制数组间的映射,P:I→M。例如,任给数i∈I,都有一个o∈O,那么o=P(i)。显然,一个特定的处理算法定义了IPU的特定行为。

这在,我们可以使术语“空间”和“空间学习”更清晰一些。确切的说,空间的意义是:对于输入i∈I,输出o=P(i)只取决于i,而不是其它,也不取决于其背景,比如其过去的输入和之后的输入。那么,术语“空间”的准确意思是:只取决于输入本身,而不受时间线上的任何影响。如果输出还取决于其背景,这个IPU将被称作时变的。显然,我们可以制造时变的IPU,但是在这里,我们将会限制在空间IPU范围内。这就是“空间”的准确含义。

我们不只对某一特定处理算法感兴趣,我们更感兴趣的是处理算法是如何改变和学习的。这样,我们可以考虑N-M IPU的所有可能处理方法。

引理1

对于N-M IPU,所有的处理方法是,用位来描述,是
位。

引理1的证明非常简单,但是这个简单的事实却有重要的含义,我们将在后面介绍。简单来说,除了非常小的N,对一个N-M IPU,全部可能的处理算法数目是巨大的。举个简单的例子,我们可以看一下手写体数字的识别。在这个例子中,我们需要考虑一个的黑白像素输入,则输入空间为,那么所有可能的处理算法是位!

IPU实际上可以被看作一个计算单元,实际上计算机CPU就是一个IPU。那么通过循环用法,和一个设计良好的运行循环算法的软件,IPU可以完成任何计算。从这个意义上说,就没有介绍IPU的必要了。然而,介绍IPU这个术语的原因是为了强调信息处理:输入的N位信息和输出的M位信息。这样我们就可以将注意力集中在信息处理过程,特别是处理算法是如何学习中来。

改变IPU的处理算法有很多途径,手动改变其内部的处理算法显然是一种办法,既可以通过编程也可以通过优化来实现。但是,我们只对通过经验和数据驱动的改变感兴趣。对于一个IPU M,如果有一组数据,k=1,2,...,输出M,通过这些数据,M的处理算法发生改变,例如,从变为,我们就说M正在学习。那么,有:

定义:IPU的学习

对于一个IPU M,如果其处理算法在注入的输入数据和反馈的输出数据作用下发生改变,我们称M正在学习。

对于IPU的学习,我们重点关注:在什么数据下,处理算法发生了何种改变,以及如何该改变的。但是,还有很多因素会影响处理算法的改变。例如,通过手动修改软件显然可以影响处理算法,更精细一点,手动将偏差数据输入计算系统,也可以改变处理算法。当然,我们要排除所有这类因素。于是,有:

定义:IPU的机械学习

对于一个IPU M,如果其处理算法在注入的输入数据和反馈的输出数据作用下发生改变,且这种改变依据一套简单固定法则,我们称M正在进行机械学习。

这个定义很难被称作数学定义,但是它是目前我们能作的最好的。我们会在下面一节中进一步讨论。

如果我们能制造一个可以实现机械学习的系统,我们称之为学习机器。一个学习机器可以是专用硬件,也可以建立在一个计算环境之上(如:云,超级计算机,PC乃至手机),亦可以是二者的结合。一台学习机器最重要的性质是进行机械学习。

对学习机器的一个最直观的考量就是:通用学习。

定义:通用学习

对于一个学习机器M,任给处理算法P(即,从I到O的映射),不管当前M的处理算法是什么,M都可以学到P(即,其处理算法变为P),那么我们称M是通用的。

简单地说,一个通用学习机器可以学习任何处理算法(不管其初始算法为何)。这是一个非常高的要求,然而,在后面我们会看到,这个要求看起来虽高,但实际上却是非常必要的。

有一类学习机器我们需要特别注意:参数化学习机器。

定义:参数化学习机器

如果一个学习机器M由一组参数,...准确定义和控制,且通过改变参数来学习,我们称这种学习为参数化机械学习。

图2. 参数化机械学习插图

当前,几乎所有的机器学习模型实际上都是参数化的,在后面我们会看到,这种情况会有很大影响。

对于参数化的学习机器,学习实际上是通过改变参数,,...实现的。有一个问题自然随之而来:通过改变参数,,...可以允许多少可能的不同处理算法?那么我们有:

定义:参数对处理算法的影响

对一个参数化学习机器M,如果v是它的一个参数,且当v在全部范围内变化时,所有可能的不同处理算法小于一个数e,那么就说,这个参数对处理算法的最大影响为e。我们通常用位表示,即

参数对处理算法的影响非常复杂。但如果我们知道所有的参数都为有限值,我们至少可以知道所有可能处理算法的上限,这对大多数处理算法都正确。例如,如果参数,...是双精度浮点数,那么每个最多有64位,即对处理算法的影响最多有64位。这个简单的事实也很有用。

我们在下一部分中讨论了一些IPU的例子,2-1 IPU是最简单的IPU,但它仍然为我们揭示了一些非常有趣的性质,详见附录。

3.机械学习的例子

下面,让我们来看些例子

IPU的例子

1.参看附录中最简单的IPU——2-1IPU。

2.一个数学函数就是一个IPU:.这种具有N位变量M位函数值的函数是一个N-M IPU。

3.一个具有明确定义的输入且独立于环境的软件是一个IPU。这类软件具有N位输入,M位输出,是一个N-M IPU。很多统计软件属于此类范畴。

4.一个具有明确限制使其不受环境影响的CPU是一个IPU。实际上这类CPU可以看作数学函数的特殊种类(不过其定义非常复杂),例如一个64位CPU,如果我们做些限制,它是一个64-64 IPU。

5.一个机器学习软件是一个IPU。当然,其处理算法可被改变(学习)。

6.抽象的讲,在一定条件下,我们大脑皮层中的某些区域可以被当作一个IPU(N很大,而M很小)。

7.再抽象一点,在一定条件下,一个决策过程是一个IPU。这里,这个处理过程可以在一只动物的脑中实现,也可以在一个公司董事会中,等等。对这类IPU,N很大,但M=1。

从这些例子中我们可以看到,IPU无处不在。实际上,IPU的核心在于其处理信息的能力,我们最关心的是这种能力从何而来,以及这种能力如何适应/改变/学习。让我们来看一些有关信息处理能力的例子。

IPU信息处理能力的例子

1.对于由一个数学函数构成的IPU,其处理能力来自这个函数的定义。如果这个函数是可以计算的,我们可以通过计算机实现这一过程,那么,其能力来自于编程。

2.对于明确定义输入的软件,其能力来自于编程

3.对于CPU,其能力显然来自于硬件配置及建立在硬件之上的软件。

4.对很多机器学习软件,有人可能会想其信息处理能力来自于学习,但,如果我们更加深入的审视,我们会知道,其能力实际上有一部分来自编程和配置,且学习和配置的影响是混合的,并不易于区分。实际上,正是这种情况,促使我们提出了“机械学习”。

5.对于我们大脑中负责数字认知的那一部分,可以非常确定的说,其处理能力来自于学习(但这个学习过程非常漫长,从婴儿时期和学校时期开始)。我们确实是通过学习获得的这种能力,但是,这种学习也依赖于我们大脑区域之前的构造。而且,我们知道这种学习不是机械的。

6.对于一个决策过程,我们抽象的认为这是一个IPU,其信息处理能力部分来自于编程,部分来自学习。例如,考虑把一个董事会的决策过程当作一个IPU,那么,它的信息处理能力一部分来自于配置,例如之前的预先设立的规矩。还有一部分来自于学习,例如成功或失败的经验。这种学习很明显也不是机械的。

当然,我们最关心的还是这类IPU:其信息处理算法一直在改变,特别是一直在适应和学习。下面我们来看一些例子。

IPU信息处理算法在改变/适应/学习的例子

1.对于由数学函数构成的IPU,如果其处理算法可以改变,那么这种性质一定来自于数学函数的定义。该函数更有可能是参数化的,这就是说,对数学函数,具有参数,...,那么当的值发生变化时,其处理算法也会相应的改变。学习过程就是改变参数的值,实际上,即使不是大部分,也有很多IPU是这种类型的。

2.对于像IBN的Truenorth之类的神经网络芯片,可以改变其信息处理算法,它们的这种能力植根于硬件之中。这种类型的硬件发展才刚刚开始,很多这种类型芯片的变型开始出现。但是,我们可能会将其归类于参数化之中。

3.对于一个机器学习软件,它确实具有改变其处理算法的能力。对当前大多数机器学习软件,我们可以将其归类到参数化之中。

4.对于一个统计模型,它通常是这样的:数学函数+ 数据库。这种IPU和其处理算法是能改变/可适应的。数据库被用作存储输入信息,数学函数是一个基于数据库中数据进行计算的统计模型。这种IPU是参数化的。

5.一个特别的人工神经网络:局限型波兹曼模型(RBM),是很多机器学习软件的核心。显然,它是一个N-M IPU。RBM实际上完全由其输入矩阵——矩阵决定,因此,它是参数化的。

4.为何是机械学习

在前面章节中,我们定义了机械学习和学习机器,同时看了一些例子。简单的说,机械学习是:一个计算系统M,通过由输入数据驱动的一套简单固定法则来提高其信息处理能力。

但是,为什么我们对“一套简单固定法则”这么感兴趣呢?先来解释一下我们对此的想法。

当前很多机器学习软件看起来都做的很好,它们不强调机械性的一面,而是强调如何让计算系统从数据中学习,以及如何让这个过程变得更好。这样非常好,那么,提出术语“机械的”还有必要吗?

针对这种考量,Jeff Hawkins 给出了一个有力的观点[2]:为了构建一个有潜力成为下一代计算系统的学习机器,这种机器必须独立于某一特定任务。回顾计算的发展历史,有助于我们更好的审视这点。在冯·诺依曼电脑结构之前,有很多系统或设备都可以非常有效的完成某一特定任务。然而,它们最终都消失了。“独立于特定任务”的需求实际上在这里起到了决定性作用。通过这个历史知识,我们期望在学习方面也能看到类似的情况。

然而,当前的机器学习软件严重依赖人工干预,且取决于特定的学习任务。这促使我们考虑使学习的部分独立出来,使其不需人工干预,不依赖特定任务。因此我们提出了机械需求。

这种想法并不新鲜,很多人已经开始尝试这么做了。Numenta提出了CLA算法,尝试模拟人类大脑皮层[1]。通过这样,他希望建立一个独立于任何特定学习任务的计算系统。然而,Numenta的CLA目前主要关注时间学习。我们认为应该先从空间学习入手,而且空间学习也更为简单。尽管如此,CLA是一种基于一套简单固定法则的算法。一旦构建好之后,CLA就不在需要人工干预,并从输入数据中学习。在这种情况下,我们可以说CLA是在进行机械学习。当然,CLA仍处在发展的第一阶段,可能还没完全实现其目标,但至少是CLA的意图。

除了CLA外,还有其它人努力试图构建一个独立于特定任务的主算法。例如,Pedro Domingos 正在尝试联合5种学习方法:逻辑学习,联结学习,概率学习,类比和进化[4]。如果有人可以成功的联合这些学习方法,那么新方法的基础原则一定会更简单,而不是更复杂。因此,我们应该期待在这些不同方法下面有一套简单固定法则。

更甚者,人们现在开始思考我们能否找到人脑的数学算法(当然,包括学习)。例如,DARPA的23个著名问题[3]。

当然,完成上述任务是个非常高的目标,我们可以先考虑第一步:机械学习。如果我们能更好的理解机械学习,我们就能更好的为那些更高级的任务作准备。

现在,我们可以回到第一部分给出的机械学习的定义来,必须承认,这个定义不是很精确。“一套简单固定法则”是什么意思?但是,这可能是目前我们给出的最好的定义,我们不能给出机械学习比这更好更精确的定义了。但是,提出学习的机械要求非常重要,即使我们不知道这种需求的准确含义。我们可以感受到这种需求的重要性,且只能粗略的抓住它大致的框架。

为了看的更清楚,让我们再次回顾机械推理和机械计算的历史。Leibniz首先提出了“机械推理”。在他之后,从Cantor,Fred,Hilbert,Russell到Church和Turing,人们为了“机械推理”的具体实现付出了巨大努力。通过伟大科学家、数学家们的卓越成果,现在我们准确的知道了机械推理和机械计算的含义,它是图灵所做的,或者等同于,它是微积分所描述的。正是这种致力于理解机械推理和机械学习的过程,给了我们通向现代计算机时代的钥匙。

我们看到机械计算和机械学习高度类似,因此,对于机械学习,我们可以进行类似的期望:我们并不准确的知道机械学习的数学定义,但是,如果我们提出机械学习的要求也是很有用的。通过追求达到这种要求,我们可以促使我们对机械学习有全面的理解。这种追求将是一段漫长的旅程,而且并不简单。但是,因为我们已经有了机械计算和机械推理的发展历史作指引,我们预期这段时间跨度将会相对很短。

当前,已经有很多人把精力投放在了如何进行机器学习及如何使它们变得更好之上。但是,这一过程中,仍有很多基础的问题有待解决。我们在这列出一些:

1.机器实际学到的东西是什么?在一个深度学习软件中实际学到了什么?这个问题还不能很准确的回答。在一个概率学习模型中,真正学到了什么?是只有一些参数调整吗?这个问题也不能很准确的回答。

2.什么可以被计算系统学到?什么不能被计算系统学到?目前还没有准确的答案。

3.为何联结主义从基础上很重要?

4.我们能否将逻辑学习、联结学习、概率学习和类比高效平滑的集成在一起?如何进行?

5.如何建立一个独立于学习任务的学习机器架构,以便这种架构引导我们走向下一代计算?

6.如何教会一个计算系统特定的任务,而不是通过编程来实现?或者,我们能否这样做?如果可以,那么有效的示教语言/方法又是什么?

我们认为,通过提出学习的机械要求,我们实际上已经开始处理这些基础性问题,至少从某些角度来看——严格的数学推理的角度。为了证明这些,我们接下来会给出论点,它们虽然很简单,但却揭示了一些重要的含义。

从引理1我们知道一个N-M学习机器,所有可能的处理算法有位,对于参数化的学习机器我们有一个引理

引理2

对于一个参数化的学习机器M,若其参数是,...,且每一参数对M的处理算法最大影响为e位,那么M将最多有位不同的处理算法。换言之,M最多可以学习位处理算法。

这个引理的证明很简单。结合引理1,引理2,我们有:

定理1

对于一个参数化的学习机器M,它最可能不是通用学习机器。

证明很简短:一个N-M学习机器,其最大可能处理算法是位,引理2很有可能适用于M,那么M可以学习的处理算法最多是位。那么除非L是,否则。这说明,M可以学习的算法远小于,即M不可能是通用的。但是,一个参数化学习机器M很不可能有这么大一组参数(即使它有,又如何学习呢?)。

简单来说,实际上定理一告诉我们,为了构建一个通用学习机器,我们不能使用参数化学习机器。这个简单的事实指出,当前绝大部分机器学习模型不适合构建通用学习机器。不同于其它大部分,Numenta的CLA可能是一个非参数化的系统,但目前还没有人给出证明。

上面的讨论都是非常简单浅显的,但是,它们已经给了我们一些有力和有用的启示。那么,我们有强大的理由相信,沿着这条道路,努力将卓有成效。

5.如何实现机械学习

如何实现和研究机械学习?这不是一个简单的问题。但幸运的是,与计算的历史相比我们已经有一个较好的指导。我们可以回顾计算的历史来获得一些宝贵的指导。

在现代计算机之前,人们已经对机械推理和机械计算思考了数百年。实际上,人们已经为此创建了很多设备,从古代的算盘,到平板机器,甚至Babbage的机械计算机。而且,在理论方面,人们对人类思想的机械方面很着迷。这种想法促使很多伟大的科学家和数学家在这个方向工作。并且,积累了很多知识,如数学逻辑。

但是,在丘奇和图灵之前,这类思想都是非常分散不成体系的,计算设备因为某种特殊用途被设计出来,并且也没有一个很好的理论指导。简单来说,人们仍然对什么是机械逻辑推理和机械计算不太了解。丘奇和图灵的理论为此创立了基础,让人们开始全面理解机械计算是什么,以及如何设计可以完成所有可能机械计算的通用计算机。

我们可以这样解释丘奇-图灵论题:图灵机器给了一个机械计算的真实模型,丘奇的λ演算提供了对机械计算的精确描述。丘奇-图灵论题告诉我们,所有的机械计算都可以被λ演算描述,反之亦然。

使用丘奇图灵对作为引导,进行类比,我们提出采用同一方式的想法:我们需要在两个有效的方向进行工作:一个是尝试构建一个基于一套简单固定法则的真实学习机器,这个机器可以进行通用学习。另一个是尝试对可以进行机械学习的对象和机械学习是如何进行的作出描述。从这两个方向,会比仅从单一方向更有效。例如,如果通过描述我们知道了一个学习机器应该以某种特定的方式表现,那么,这些信息会帮助我们设计一个学习机器。

第二个方向会帮助我们构建示教语言/方法来教导学习机器。我们会看到,就像编程对计算机极其重要一样,示教将对学习机器极其重要。换句话说,我们将会示教一个机器,而不是对它编程。但是搞笑的示教,除了数据外需要好的示教语言/算法。一个好的机器学习描述将指引我们开发出这种示教语言,就像λ演算指导我们发展编程语言一样。数据对示教很重要,但是示教语言/方法至少和数据一样重要或者比数据更重要。

这样,丘奇-图灵对可以被继续扩展:我们有一个通用的学习机器,而且我们使用发展很好的示教语言/方法,及数据去教导这台通用学习机器。

这就是我们想要去做的。实际上,我们已经在这两个方向做了些工作,我们将会在不同的地方写下它们。

6.有关进一步的工作

这篇文章是我们关于机械学习和学习机器的第一篇论述。我们会在后面部分继续讨论前面说过的两个方向。在这我们将会列出一些主题,并乐于看到有关这些主题从所有可能观点的出发的更多研究。

关于构建通用学习机器

为了构建一台通用学习机器,我们认为下列主题是重要且有益的。

1.“如何实现通用学习”。根据我们之前讨论的,任何参数化的学习都不是通用的。然而,我们如何避免参数化?这个问题一点也不简单,如果我们使用有名的数学函数或改进了的软件作为学习机器的基础,将会不可避免的参数化,因为所有那类数学函数和软件都是参数化的。我们认为,从这种观点来说,联结主义观点变得重要了

2.“首先是空间学习,然后转换到时间学习”。在这,为了简化我们只讨论了空间模型。然而,时间学习也是必须的。我们应该先全面的学习空间学习,然后,利用这类研究中的知识和工具转换到时间学习以及空间学习与时间学习的结合。我们猜想,这种转换将不会非常难。毕竟我们可以从人脑中获取灵感。人类大脑可以轻松以统一的方式处理空间和时间学习。这启示我们,在机械学习中,可能会有一种统一的方式处理空间学习与时间学习。真正理解空间学习将会对时间学习非常关键,反之亦然。我们对此期望很高。

有关机械学习的描述

为了更好的描述机械学习,我们在下面列出一些方面。

1.概括化。概括化对一台学习机器非常必要。这是说,只要教学习机器一部分事情,然后它就会自动且准确的将其推广到跟多事情。一个机械学习机器可以这样做吗?为何这种看起来很智能的行为会被一个机械学习软件获得?又如何获得?我们确定将深入洋酒这个问题。事实上,这也正式我们首先提出空间学习的原因。

2.抽象化。就像概括化,抽象化对一个学习机器也很必要。很多研究者都认为抽象化是机器学习进一步发展的关键。第一步,我们需要找到一种更好的方式描述机械学习的抽象化。

3.先验知识和继续学习。一个学习机器会有先验知识,但是,什么是先验知识?学习机器的先验知识以什么形式存在?我们是否可以向一个学习机器人诸如先验知识,又如何做呢?先验知识如何在学习/示教中发挥作用?

4.模式复杂程度vs.学习能力。学习能力很自然与模式密切相关。我们可以直观的说,与学习相关的模式越复杂,学习就会越难。但,真的是这样吗?如果这样,我们可以准确地测出复杂程度和难度吗?同样,我们可以直观的想,如果一个学习机器有一个较好的学习能力,那么它可以学习更复杂的事,但,真的是这样吗?如果是,我们能说的更精确点吗?

5.示教、训练和数据。对于学习机器,编程仍然是完成期望任务的方式之一。但是,示教和学习将会更加重要和常用。那么,如何有效且高效的进行示教和训练?我们应该使用大数据吗?如果是,那应该用哪种大数据?

关于机器学习不同类型的集成

Pedro Domingos列出了5种学习方法[4]:逻辑、联结、概率、类比和进化。它们都有合理的支持,并且每个方法在某些方面做的比其它更好。这说明它们中的每一个都代表了学习这一大课题中的一个方面,很显然,我们最好将它们集合起来,而不是选择一些,抛弃另一些。

我们可能会认为联结主义观点将会起到核心作用。很难想像逻辑的观点会整合联结主义观点(特别的,非参数化的),但是,正相反,这个将会很容易去设想(虽然我们当前还不知道如何去做)。而且,也可能会很容易去设想一个联结主义的模型可以处理类比。我们是否可以设想这样一个系统:它是一个联结系统,在其内部,它很自然的实现了逻辑、概率以及类比,而进化这帮助这个系统改进?如果我们可以实现这样的一个系统,至少是部分上的,我们会进展的更好。

8.附录

2-1 IPU

2-1 IPU是最简单的IPU,对一个2-1 IPU,它共有16种(=16)种可能的处理算法。我们可以在下表中看到所有的处理算法

表1: 2-1 IPU所有可能的处理算法


一些处理算法是我们非常熟悉的。例如,实际上是一个异或逻辑门,是或逻辑门,是与逻辑门。同时可以看出,的反转, 的反转,等等。

是最重要的,它们是2-1 IPU构成的基石。是这样的处理算法:不管输入为何,输出都是0。看起来不现实,但它是为了论述的完整性而存在的。可以很明显的看到,余下的所有算法都可以用上面的构成。例如,。

综上,我们介绍了2-1 IPU是什么,而且我们指出可以设计一个有效的学习模型,从而使所有的处理算法都能被学习。对2-1 IPU,这很简单,然而,他仍然可以给我们一些启示。例如,2-1 IPU被包含在所有IPU中,因此,任何学习机器都至少应该有效的处理上面列出的所有算法。


  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值