首页 > 编程笔记 > 通用技能 阅读:17

什么是人工智能(新手必看)

人工智能(AI)是一个非常大的概念,很难定义。从很早开始,人类就梦想着创造智能实体来帮助我们生存。在现代世界中,我们梦想着机器人助手来帮助我们冒险:超级智慧的头脑将解决我们所有的问题,奇迹般的企业产品将优化我们的业务流程。

但是,要定义人工智能,我们必须定义智能,而事实证明智能是特别困难的。智能代表着什么?这是否代表着我们可以交谈或思考?显然不是——就像黏菌(如下图所示),作为一种没有中枢神经系统的简单生物,却能够解决迷宫难题。


图 1 黏菌

我们不会花费大量时间来全面讨论智能这个话题。相反,我们只提出一个简单的定义:

智能意味着知道在正确的时间做正确的事情。

这种说法可能经不起学术辩论,但我们可以暂时先这样理解。它给了我们一个探索该话题的工具。根据我们的定义,以下是一些需要智能的任务:
这些问题都涉及一个动作(如打开水龙头)和一个先决条件(如当有人想洗手时)。在设定的场景下,这些问题听起来相对简单——但是,使用过机场洗手间的人就会知道,解决上述问题并不是那么容易。

对于大多数人来说,完成这些任务都很容易,因为人类是具有一般智力的高能力生物。但更小的智能系统也有可能执行这些任务。以黏菌为例,即使它并不明白为什么要解开一个迷宫,也能够完成这项任务。

这意味着黏菌可能也并不知道什么时候应当打开水龙头。简单来说,执行单一、明确的任务(比如打开水龙头)要比执行一系列完全不同的任务容易得多。

前人几十年的失败经验告诉我们,创造一个与人类相当的人工智能是十分困难的。但是创造一些类似黏菌的智能体就容易多了。例如,理论上防止司机撞车是一项相当简单的任务。如果你同时知道它们的当前速度以及它们与墙的距离,那么就可以用简单的条件逻辑来实现这个任务:
current_speed = 10  # In meters per second
distance_from_wall = 50  # In meters
seconds_to_stop = 3  # The minimum time in seconds required to stop the car
safety_buffer = 1  # The safety margin in seconds before hitting the brakes

# Calculate how long we've got before we hit the wall
seconds_until_crash = distance_from_wall / current_speed

# Make sure we apply the brakes if we're likely to crash soon
if seconds_until_crash < seconds_to_stop + safety_buffer:
    applyBrakes()
显然,这个简化的示例没有考虑多种因素。但复度杂更高的、基于这种条件逻辑且配备驾驶员辅助系统的现代汽车,都可以被称为人工智能。

此处有两点需要说明:
那么,什么是人工智能?简而言之,它是一种根据某种输入做出智能决策的人工系统。创造人工智能的一种方法是机器学习。

相关文章