现在有非常多的大公司在做人工智能方面的研究,包括Google、IBM、Facebook、Apple、百度等,也有数不尽的小型创业团队进入,使得人工智能方面变得热闹非凡。每一家公司都有自己的研究思路,也取得了不同程度的进展,比如百度李彦宏就透露,百度大脑已经相当于2~3岁小孩的智力水平,而按照我们对自己人工智能系统的模拟测试结果,可以达到12岁中学生的智力水平,大幅度领先百度深度学习研究院。下边在不泄露技术机密的前提下,简要分享我们人工智能系统的设计思路与背后基于的原理。
1、文字与编程语言(视频、图片、文字与程序的结构化分析)
1)文字的发明与价值
在介绍人工智能之前,我们首先来简单认识一下“文字”。在人类看来,文字是人类约定创造的视觉形式,可以说文字是一个视觉系统,它以最简单方式将视觉场景图案再现,并且富有便于口语声音表达的特点,因而更加清晰,可以反复阅读,可以突破时间和空间的限制。
更准确的说,文字使人类突破口语受到时间和空间的限制,把时空的影像变化转码成视觉可见的符号系统,并通过书面语的方式传承下来,使后人能通过间接的文字想象出画面,了解历史和学习技术经验,从而提高自己的智慧,发展科学技术,并最终促使人类能进入有历史记录的文明社会。
2)编程语言与文字的区别
在了解完文字后,我们再来简单的看一下自然语言(文字)与计算机编程语言之间的区别。显然,自然语言是更高级的编程语言,其每一个字都有特定的含义,在现实世界中映射非常庞大视觉影像,并且具备较高容错率的特点,而现有的计算机编程语言是简单的命令序列与逻辑组合,本质上说,这两者之间差别巨大。
由于在计算机语言的内在逻辑无法映射到现实事物,于是在计算机看来,文字是人类用来记录语言的符号系统,仅仅是符号,没有任何意义。于是,当计算机识别到“树”这个字时,它没有任何“树”真实样子、信息的概念与数据,也就无法理解“树”这个字的真正含义。
其实,这也说明计算机和现实的接口没有打通,所以,人工智能的关键环节即为帮助计算机将符号与真实视觉影响之间建立联系,即补全每一个词语背后的真实对象数据,填补计算机文字符号与现实影像数据之间的鸿沟。
现在技术突破方向是通过建立知识图谱与事物组合图谱,试图将现实世界的景象与知识组织起来。当然,这仅仅是第一步,只有将其与自然语言解析、视觉解析结合到一起时,再结合大数据统计,才能实现真正的突破。
2、人工智能发展限制因素的误解
虽然基于现有计算机发展人工智能技术仍旧面临或多或少的限制,但将其归结于计算性能、编程方式等原因,显然是不正确的,因为这些都可以基于现有技术来解决,下边依次简要说明。
1)计算机计算性能限制的误解
许多人认为,虽然现在处于科技发达的互联网时代,但现有计算机的计算能力非常有限,如果要完成自然语言解析这种高海量计算的工程,或许只能依靠超级计算机、量子计算机、光子计算机、生物工程计算机等更先进的技术解决。其实这种想法是不对的,因为自己不能找到解决人工智能的解决方案,而将其归咎于现有硬件性能低下,是一种错误的逻辑。虽然计算能力的提升有助于更简单的解决人工智能问题,但计算能力并非限制人工智能发展的核心问题,而且计算能力可以靠大规模服务器集群有效解决。
2)现有编程方式与计算体制的误解
许多人认为,现有的计算机语言仅仅是简单的命令序列与逻辑集合,而自然语言解析所需要的编程方式注重的是视觉、听觉、嗅觉、触觉、味觉等为一体的编程体制,因此其并不适合解决自然语言与人工智能方面的问题,这也就意味着如果想高效的实现人工智能技术,最好开发出全新的编程模式,开发一款全新的计算机架构。
是的,我承认如果能够开发出更加优秀的编程体制,能够将整个系统的计算量降低超过50%,大幅度降低硬件、人力等技术设施的投入,从而使得整个过程的运算更加高效,响应速度提高一倍,但这并不意味着现有的编程体制解决不了所面临的问题。
虽然IBM公司已经发布了基于人脑特征的全新计算架构,号称基于此的新生态系统将为市场带来高参数化的神经模型,能形成类人脑计算的基础信息处理单位,以及具备对空间、时间和多模态化环境的识记、感知,或者是做出行动的能力,从而让下一代应用在感知、行为和认知方面的效率堪比人脑,但这种计算架构仍不成熟,在现实使用过程中,仍面临非常多的技术问题。
3、深度学习与知识单元
1)深度学习
深度学习的原理是通过多层次的学习而得到对于原始数据的不同抽象层度的表示,进而提高分类和预测等任务的准确性。即针对某一个“事物”,对于其图像(或物体、声音、嗅觉、触觉、味觉)进行参量分解与组合,然后通过大量同类事物来重复操作,从而验证每种参量(或参量组合)重要性(或层次性),最终获得一组识别该事物识别数据包的一种机制。
深度学习整个训练过程非常简单,以机器学会在图片上识别狗为例,我们不需要人为事先给出狗的特征定义,只需要提供足够的相关图片,用以划上一个大致的识别边界,然后机器将所看到的图像或图片分解成10亿多个不同的参量,对这些参量的层次、权重进行概率统计,并将这些参量按照其可能性进行各种“组合”,并对这些组合的层次、权重进行概率统计,并最终形成识别数据包。
举个简单例子,机器反复学习桃花的特征后,就会自己找到判定一朵桃花的方法,它会将这类有颜色、有花瓣、有花蕊的物体自动和花这个单词联系到一起,并最终形成一个特定的识别数据包,再依据这种“识别包的数据”,就可以从千万张图片或视频中识别出桃花来。
深度学习最大的特点是分层级,即在进行事物识别时,由于事物的不同特征的重要性、空间位置、时间顺序等是不同的,需要对事物特征建立层级来深度认知事物,背后的理论在于,你应当有一种模式来反映想要学习的自然现象的层级。
借助这种分层级的特征识别提取机制,机器能够像人的大脑一样可以从多角度识别搜索目标,甚至可识别多样且被扭曲的图像,即当图像发生倾斜、倒置、扭曲时,仍然具有一定的识别效果。
深度学习最终得到的是一个针对某一事物的数据识别包。当然,这个数据识别包也存在局限,就比如衣服这类物体很容易发生形变,机器通过学习虽然能够学习判断长袖短袖等衣服类型,然而形变过大必然降低识别概率,但即便是识别率较低的数据包,仍然具有价值。
2)三维建模
深度学习是一向基于信息提取的技术,但产生人工智能需要的基础“数据识别”,仍需要搭配另一套技术体系,即三维建模相关技术,这是因为现实世界中的事物大多是三维的,因此在“数据识别包”提取的过程中,需要基于三维真实的事物。
最终,数据识别包要符合以下要求:
① 能够满足事物在不同空间位置、视角、动作的识别机制,即具备在不同情况下识别概率的描述。
② 针对同一事物,在特定的视角之下,要具备柔性识别的数据,比如可以提供99%、98%、97%……30%……1%等一系列识别概率的数据。
③ 事物的意境展现,即当出现“苹果”词语时,能够迅速给出“苹果”的各种普通立体图,并支持各种简单操作。(画面展现)