AI入门01:最重要的是做选择的能力
作者:怡红快玉这个冬天想系统了解一下AI技术。
于是找了个哈佛的入门课程来看,顺便粗略讲讲个人理解。
上半年爆火的ChatGPT,我们为什么觉得它智能,甚至觉得它已经通过了图灵测试?正是因为它能像一个人一样答复你的请求。
所以,当我们要设计一个通用AI,最需要(或者说唯一需要)考虑的是怎么让它有能力做出像人一样的决策。
举个最简单的例子。
迷宫找路:
怎么从A走到B?(黑色可走,灰色不通)
如果是人看着地图来走,当然很简单,正常人都能迅速找到下面这条红色的路径来:
但是想一想,在C、D、E、F这几个点,明明还有其他选择,为什么你坚定选择了图上红线的方向呢?
显然,因为你一眼就看到了所有的可能路径,并且迅速在其中找到了最短的那条路。
那,如果是下面这张迷宫呢:
靠人眼很难一眼就看出怎么走最好。
你需要用笔去试探从A开始往B走的每个节点的所有可能,然后走到死路再去尝试其他可能,等最终找到了一条到B的通路,你也无法判断这条路是不是最短的路。
想一想,如果要设计一个和走迷宫的人一样的AI,它需要具备什么技能?
它要知道A和B在哪里。
它需要知道A和B之间所有的路况。(哪里是墙,哪里是路)
它需要知道在每一个有选择的路口,它应该往哪个方向走。
还是用这张图来举例:
当你走到C的时候,明明可以往左走,也可以往右走,如果迷宫足够大,你根本不知道往哪个方向能走通,那靠什么决策往哪个方向走呢?
一个方法是给这张图的每个节点都增加一个标识,表明这个节点距离终点B的直线距离还有几格。
这样,走到每一个节点,选择距离终点B更近的那个方向走,似乎是一个比较好的决策方法。
例如,走到C和E,选择的方向就刚好能和我们人脑识别的最佳路径匹配上了。
这种做决策的方法,叫贪婪最佳优先搜索, 其使用的核心算法是启发式方法h(n),主要是在做选择的时候,增加了一个维度的考量。
这个维度就是当前节点靠近目标节点的距离。
越靠近目标节点,节点的h(n)越低,那这个节点就是最优先要走的方向。
听起来不错,虽然还比不上人脑看到的最短路径,但比起傻瓜式的尝试所有可能性,最后找出最优选,这个看上来要智能多了。
有人要问了,你这个靠近目标节点距离的维度值很难标识啊,比如B左边那个标识了2的,虽然看上去离目标节点只有2格,但显然它走不通的嘛,这也能作为维度值标注上去吗?
正是这样,所以这算法加了个限定词,叫贪婪。
下面这个例子很明显,黄色的路径是根据贪婪最佳优先算法找到的路径,显然它比另外一条路要长很多。
如果人脑来选,显然会选择黑色那条路,但使用了贪婪算法的AI选择了黄色这条漫长的路径。
这正是贪婪的坏处。
想想你炒股的时候,有没有常常因为贪婪,以为找到了最佳投资方案而亏得血本无归?
比贪婪更进一步的算法,叫A*搜索。
A*搜索在h(n)外又增加了一个维度,叫g(n),表示走到当前节点的消耗值,走的步数越多,消耗值越大。
还是用上面的例子,加上g(n)做判断。
当节点一路往前走到D的时候,g(n)+h(n)值超过了前面C节点,所以机器回到了C重新开始找路,最终找到了和人脑判断一致的路线。
说到这里,第一节课的核心其实说完了。
表面看是简单的找路径,其实AI的基本哲学已经蕴含其中。
A和B可以是任何事,h(n)和g(n)也可以扩展到多个维度,再加上每个维度的不同权重,最终得到一个最优选择算法。
比如黑白棋,A是开局,如果你执白棋,你想要的终局是白棋赢,那走什么样的路径能最快得到你想要的终局?
阿尔法狗,是这类AI具象化的体现。
但好像ChatGPT不太一样,它是基于大数据训练的模型,和上面的算法似乎没什么关系?
以我浅薄的理解,所谓的训练,不过是通过多次的选择和参数调整,得到一整套用来做决策的维度及其权重,让它们能满足刚好满足这套数据的要求罢了。
人类做大部分决策,不也正是基于本人的成长过程中的大规模数据输入和训练吗?
所以我一直觉得,如果人类没有脱离外界信息输入和环境影响做出基于自由意志的决策的能力,那人类被机器替代是早晚的事。
不知道这些观念在过完这个冬天之后会不会变化,拭目以待。
关注,回复 【AI入门】 获取入门课程:
页:
[1]