zoukankan      html  css  js  c++  java
  • 浅谈特定型人工智能设计

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

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


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

  • 相关阅读:
    Notes of Daily Scrum Meeting(12.18)
    Notes of Daily Scrum Meeting(12.17)
    Notes of Daily Scrum Meeting(12.16)
    Notes of Daily Scrum Meeting(12.8)
    Notes of Daily Scrum Meeting(12.5)
    Notes of Daily Scrum Meeting(12.3)
    Notes of Daily Scrum Meeting(11.12)
    Linux中profile、bashrc、bash_profile之间的区别和联系
    Linux GCC编译
    mysql 5.7.16 远程连接
  • 原文地址:https://www.cnblogs.com/laxcus/p/5413180.html
Copyright © 2011-2022 走看看