我目前所理解的人工智能

本文共1552字。
版权声明: 署名-非商业性使用-相同方式共享 | CC BY-NC-SA 2.5 CN
展开

介绍:虽然作者是计算机专业,也一直在一线搞技术,但人工智能这个领域却没有涉猎过。最近研究了这方面的一些技术,记录一下。

一些术语

架构

架构是指一个人工神经网络的形式,架构的定义需要回答以下问题:

  • 有几层
  • 每层有多少个参数
  • 每个参数的范围是多少
  • 层与层之间是如何连接的

不同的问题,一般需要不同的架构。架构定义了网络的形式,却少了精确的参数。

模型

确定了每个参数的架构就是模型。在不同的上下文中,有时也会用“模型”指代架构本身,需要读者注意。

训练

通过数据,在给定架构中计算出模型的过程。

预测

给定输入,通过模型计算出输出的过程。实际上预测可以理解为一个普通的函数,只不过在人工智能领域特指模型的使用函数。

预训练模型使得深度学习技术正在走进大众

在深度学习方向,困扰其大规模应用的其实是训练所需要的资源

  • 大规模算力(GPU/TPU)
  • 海量数据
  • 持续的训练时间(数周,数月)

如果每个细分领域,都需要从头训练数据,显然阻挡了很多很多小公司和个人开发者进入这个领域。可是现在不是这个状况,有很多大公司、开源机构把训练好的大模型开放出来了,而细分领域的从业者只需要调优训练(数据量1K以下)甚至直接开箱即用,就能获得很好的结果。

fast.ai 在2020年出了一本书叫 《Deep Learning for Coders with Fastai and PyTorch: AI Applications Without a PhD》,关联一个在线课程第一章的练习里面放了一个2015年的XKCD笑话:

如何识别鸟

而现在,根据这个课程的例子,下载几百张“鸟”和“不是鸟”的照片,在已经开放的大模型基础上调优训练一下,任何一个AI菜鸟都能获得一个非常不错的预测函数:一张图片是不是鸟。

从开放社区到开发者,生态正在爆发

由于预训练模型,人工智能即将在各行各业大规模应用,而目前是社区生态百花齐放的时候。本章列举一些社区。

开放底层软件

PyTorch

开放中层软件

Fast.ai

开放模型

stable diffusion

开放数据集

laion

开放模型和数据集社区

huggingface

阿里modelscope

百度飞浆

开放API

百度文心

有趣的文生图

自从今年Stable Diffusion开源以来,文本生成图像(简称文生图,英文text to image)开始在社区大火。这两周我玩了玩,这里放几张有意思的图和对应的提示语。

猫头,Logo设计 猫头Logo

一只猫和一只狗在草地上对峙 对峙

机器猫骑着高头大马在森林里游猎 猫骑马

大漠孤烟直 长河落日圆 大漠

除了最后一张由无界版图生成之外,前面的都是由百度的文心ernie-vilg大模型生成的(有水印)。这几张是挑出来感觉不错的。

文生图的技术进展

目前的状态,我认为百度的ernie-vilg 2.0是最好的。Stable Diffusion虽然很火,但对文字的理解能力不够;Google的Imagen提出从文字到图片中间需要增加文字语义层,并给出了提示语集合DrawBench,可用于测试文生图系统的好坏;Google虽然提供了论文和架构,但并没有给出预训练的模型,而百度的ernie-vilg 2.0在Google的论文基础上做了进一步的设计优化,并通过训练,提供了开源的模型(开源模型版本似乎不是ernie-vilg 2.0,看版本号最新是1.2)和API。我拿“一只猫和一只狗在草地上对峙”分别在百度平台和无界版图平台生成图像,明显是百度平台生成得好。

当然,这里的“好”,是指人类的常规视觉体验和语言的匹配程度。在艺术美感度上,与训练数据集有关,我感觉这些平台差不多。

10年后的人工智能

以深度学习为代表的人工神经网络,目前是欣欣向荣的状态,但过10年还会这样吗?我看不见得。目前的人工神经网络是“强人工智能”吗?我看不是。杰夫.霍金斯的《千脑智能》这本书,通过对人脑的研究,提出了人工智能的一个不同方向。他的书反映了他和他所领导的研究机构Numenta公司对当前深度学习神经网络的批判。我认为他的方法可能会逐渐引领研究社区,替代深度学习或者走向某种程度的融合。在他的书中,一个有意思的问题是人的学习方法,我在这里,尝试用他的理论解释人是怎么读图的:

  1. 人的双眼视觉差,可以对三维世界建模
  2. 人通过运动学习,双眼+运动,可以让人脑中的模型不断的接近真实的三维世界
  3. 当人有三维世界的经验后,读图(尤其是照片)时,会不自觉的将三维模型投射到二位图片上来进行解释

而现在的深度学习是怎么读图的?显然没有三维建模读图, 而是通过大量的图片和特征对来统计,发现统计规律,建立“人工神经网络”模型然后读图的。可是,现在的人工神经网络,模拟了人的大脑神经网络了吗?从这个例子出发,我觉得倒是机器人可以通过运动和多个传感器来模拟人脑学习。再进一步推断,智能汽车简直就是模拟人脑学习的绝佳平台。