浅谈特定型人工智能设计

  之前写了一篇《从AlphaGo谈通用型人工智能设计》的文章,里面谈了通用型人工智的设计架构。之后就有人问我特定型人工智能是怎么做的,因为自己做过图像识别和语音识别两个人工智能项目,有点小小的经验,所以今天就根据这两个人工智能项目,来谈谈一般的特定型人工智的设计和设计要求。再强调一下,特定型人工智能的需求多种多样,具体的实现方法也各有不同,这里只根据本人做过的人工智能项目,讲一讲设计特定型人工智能的基本要求和设计思路,不保证适用其它人工智能领域,也不涉及编码。其实架构和思路明确了,怎么编码,用什么计算机语言,就只是一个过程而已。
  言归正传!做特定型人工智能必须有一个足够强大的存储和计算数据的环境,而且这个环境随着存储量和计算量的增加,可以同步线性增长,能够提供这种规模量级的环境,目前只能是大数据。可能有人会说用数据库行不行,这里可以明确告诉各位,数据库真不行。拿ORACLE为例,在ORACLE里,存储几百GB已经是极限,再往上性能就变得很差。但是这些数据放在人工智能环境下,可能只是一次计算的数据量,两者根本不在一个量级上。现在我们做人工智能测试的系统,存储的数据量已经接近PB级别,这样的数据量,数据库是根本做不到的。
  再回到计算机本质来谈一谈。不管外界把人工智能吹嘘得多么神奇,实际上,计算机只是一台机器,永远也只能是一台机器,它本身不可能具备人的思维能力,所有人工智能的实现,都是通过计算机强大的数据计算来获得的,所以,在有了足够强大的数据环境后,还需要有足够多的数据,这样就进入了这个环节:数据采集。人工智能的采集途径多种多样,目前最简单方便的来源是互联网。但数据采集是一个相当漫长的过程,只有积累到足够多的数据后,才能够进行人工智能计算,否则无法达到精度和准确度要求。严格来说,这个工作不算是什么技术活,是体力活,还要加上时间的消耗。拿我们做的两个人工智能项目来说,积累到今天这个数据量,前后用了两年多的时间,数据来源有互联网的,也有合作伙伴提供的。所以,仅就数据量而言,想做人工智能也不是一个简单的事。
  实现了上述两个目标,剩下的就是人工智能最关键的部分:深度学习。我看到网上的文章,也有人将这一块称为“自我学习”,或者“智能统计”的。但是不管怎么理解,其实质都在即有的数据基础上,进行的数据分析和数据计算。为了便于精确人工智能计算,在数据采集过程中,录入的数据,在进入数据存储环境前,都会按照各种不同的特定要求,分割成较小的数据元组。这些小的数据元组,通常会贴上各种不同的标签,来表明这些数据元组所具有的各种不同的属性。
  在建立数据元组过程中,会产生很多数据错误,这些错误我们称之为“数据噪音”。消除数据噪音工作,开始肯定是人来做,因为计算机是不知道这样的对错的。操作人员把它们归类到“错误”这一块。当“错误”的数据积累到一定量的时候,因为已经有可以识别的基础,这个工作就可以让程序代替人来实现。这样,经过不断的提纯,数据量会越来越多,精准度会越来越高,这将成为人工智能“深度学习”的基础。
  深度学习的第二步是给数据元组建立关联。这种关联是网状的,而且会随着数据量的增加,呈几何级增长和延伸。目前人工智能的计算量之所以这么大,就是因为数据元组之间的关联太多,导致各种可能因素太多,造成计算机在计算过程中,要逐一加以识别和过滤,来达到去伪存真的效果。和消除数据噪音一样,给数据元组建立关联的工作,最初也只能靠人工来实现,当积累到一定程度后,计算机将代替人的工作。在外界看来,这时候的计算机就貌似理解了人的行为,具备了一定的智能了。
  举一个例子来说明人工智能的处理过程:人脸识别。这是图像识别的一个分支,也是目前最技术成熟的人工智能项目。它的原理和处理过程是这样的:不管什么人种,正向面部轮廓基本是相同的。基于这个前提,在做人脸识别之前,图像软件将扫描很多的人脸轮廓(矢量处理),同时面部的眼、嘴,鼻子等器官也一并扫描,包括各个器官在人脸的位置这样参数,然后贴上标签,注明属性,把它们以数字的形式保存起来。另外还有其它一些个性特征,比如肤色,嘴唇、眼睛颜色、高鼻梁还是塌鼻梁等,也贴上标签注明属性,做为更细分的识别选项。当我们说XX和XX很像时,计算机是这样做的:扫描他们的面部轮廓,和计算机已经存在的面部参数进行比对,如果他们的面部轮廓和大部分参数一致时,基本就可以确定这是两张人脸的图像。再进一步对比两张人脸的数据,给不同的器官设置一个相似值(80%,90%或者...),如果重叠的部分在要求范围内,那么计算机就判断是“象”,否则就不象。

                 这样的面部图像,在基础数据不足的情况下,很容易发生识别错误


  最后用两条来概述总结一下特定型人工智能:
  1. 大数据+大计算是实现人工智能的基本条件。
  2. 数据关联在人工智能中的地位十分重要,所有人工智能都要依靠它来实现。
  另外,如果说到编码细则,实际上每一种人工智能都会应用到不同学科不同领域的技术,实现起来并不容易,这里所以写得也很简陋,主要也是不想给各位造成阅读和理解的困难,各位且姑妄读之吧。

原文地址:https://www.cnblogs.com/laxcus/p/5413180.html