最近几年人工智能这个词总是时不时地出现在我们视野里,确切来说它也并不是什么新词儿,它在1950年代就被提出来了。它代表着我们人类的一个长期目标,那便是希望机器可以和人一样聪明。
可是人们却不太清楚如何做这件事,不太清楚如何让机器拥有智能,变得和人一样聪明。直到1980年代,有了机器学习。 顾名思义,机器学习就是让机器拥有学习的能力。那么,它和人工智能有什么关系呢?人工智能是我们想要达成的目标,而机器学习是为了达成目标使用的手段。深度学习是机器学习中的一种方法。
那么在有机器学习,深度学习之前,我们是如何做人工智能呢?
生物学的知识告诉我们,生物的行为取决于先天的本能或后天学习的结果。
举例来说,河狸筑坝的能力是天生的。
它的筑坝行为是这样的:
- 如果听到流水声,就会筑堤直到听不到流水声。
我们之前做人工智能就是这样的,设定好机器的先天本能,通常是一些由人类确定的规则。
看起来也不错,似乎也能完成不少任务。但也存在很大的问题,我们很难考虑到所有的规则。对于上述的聊天机器人,我们不太可能想到所有的响应规则。这就导致了机器永远无法超过它的创造者。它的所有行为都在我们定义的规则之下,也就是说它没有freestyle
。
我们的目的是研究真正的机器学习。那么,什么是真正的机器学习呢?
简单来说就是写程序让机器有学习的能力。接下来,我们就给它提供数据以供其学习。比如在语音识别中,
告诉机器这段语音是“Hi”。
这段语音是“How are you”。
我们可以机器提供大量的语音数据,并告诉它每段语音的内容。通过不断地学习,它逐渐若有所得。于是,当我们给它一段语音(之前可能从来没有听过),它会告诉我们内容是什么。
过程如下所示:
图像识别也是类似的过程:
机器学习可以看成是从数据中找到一个函数。
举个例子,我们要进行图像识别,通过给机器的数据,机器学习算法可以得到一个函数。当将图像输入给该函数时,它能输出该图像对应的类别。
那么如何得到这个函数呢?我们有很多可以选择的模型,比如神经网络,SVM,决策树等等。每个模型内都包含了很多函数(模型可能有很多参数,参数是可以变化的)。
这么多函数选择哪一个呢?所以我们还得有一个评价指标,当把数据丢给模型后能够衡量函数的好坏。知道了函数的好坏之后,自然要选择最好的函数。
如上图所示,函数f1
自然好于f2
。同时也可以看到,这些数据有个特点,就是每个数据都给出了函数的输入和函数期望得到的值。
在这种情景下的机器学习叫做监督学习。找到了最好的函数之后,我们就可以用它来测试,看它是否有举一反三的能力。整个流程如下:
所以总结一下,机器学习大致可以分为三步: