一、关键技术
人工智能包含了七项关键技术:
1. 机器学习:
机器学习是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,是人工智能技术的核心。
从学习模式划分,分为有监督学习、无监督学习和强化学习。
监督学习:
监督学习是在给定的带标签的数据(也称为训练数据)上进行训练,然后使用这些训练模型对新的、未标记的数据进行分类或预测。这种学习方法的目的是通过模型找到输入数据(特征)和输出数据(标签)之间的映射关系,以便能够成功地预测新的、未知的数据。
无监督学习:
无监督学习用于在没有标签的数据上训练模型。这种学习方法通常用于聚类或探索数据结构。例如,无监督学习可以用于识别数据中的模式或结构,或者将数据分组到不同的集群中。这种学习方法在数据预处理或数据探索阶段非常有用。
强化学习:
强化学习是一种机器学习技术,涉及通过与环境交互并尝试最大化累积奖励来训练模型。与有监督和无监督学习不同,强化学习涉及一个代理(智能体),它根据环境的行为结果(奖励)不断调整其策略和行为。这种方法通常用于需要自我学习和自我适应的应用程序,例如游戏AI、机器人控制或自然语言处理。
从学习方法划分,分为传统机器学习和深度学习。
传统机器学习:
传统的机器学习是一种从数据中学习模式并进行预测或决策的方法。它使用统计学和算法来训练模型,使其能够自动地发现数据中的模式并进行预测。机器学习算法可以分为监督学习、无监督学习和半监督学习三类。常见的机器学习算法包括决策树、朴素贝叶斯、支持向量机和随机森林等。
深度学习:
深度学习使用人工神经网络来学习数据中的模式。与传统的机器学习算法不同,深度学习模型可以从原始数据中提取高级特征。这些特征可以进一步用于分类、回归、聚类、生成等任务。深度学习的核心是多层神经网络,每一层都通过对输入进行线性变换和非线性激活来学习特征。
传统机器学习与深度学习的比较:
1.数据依赖性:
在处理任务时,面对数据量比较小的问题,机器学习往往更容易胜任,而深度学习与机器学习的区别就在于,当数据量越大时,深度学习的性能会随着大量的数据而增加,而当数据量比较小时,深度学习由于无法进行充分的学习,在精确度上可能不如机器学习,此时,机器学习由于规则比较固定,因此性能会更优于深度学习。
2.硬件依赖性:
在深度学习的计算中,含有非常多的卷积、池化等操作,这些操作带来的是大量的矩阵运算,因此,深度学习对于良好硬件的依赖性非常高,强大的图形处理器(Graphic Processing Unit,GPU)可以高效地帮助深度学习处理矩阵运算,甚至可以说是使用深度学习工具的必备条件。而机器学习对于硬件的依赖性较低,不需要强大的服务器也可以顺利完成运行。
3.特征处理:
特征处理可以大大降低数据的复杂程度,同时使得算法更加准确。在传统的机器学习中,数据处理需要耗费大量的时间、人力以及物力,因为机器学习的特征标注往往需要专家先进行确定,然后再通过人工编码,标记为一种数据类型,这些类型可能是纹理、方向、位置等,但是,这个过程很容易由于失误而使得任务的准确性降低。对于深度学习,深度学习可以直接从数据里面抓取高层次的一些信息,而这些信息和低层次的颜色、形状等不同。在特征处理上的区别是传统机器学习和深度学习的又一主要区别之处,因此,深度学习不必像机器学习那样,为每个任务都建立一个新的特征提取器,可以先在较低层中得到输入的表面特征,再在较深层中得到输入的全局特征。
4.解决问题的方式:
在解决问题的时候,传统的机器学习算法往往是先把问题分割成为几部分,再一个个地解决问题,最后结合所有小问题的答案来获得最终的结果。比如说,在一个多分类的检测要求中,需要找出各物体的类型以及识别出各物体所在的位置,传统的机器学习首先将多分类任务拆解成两个小问题,第一个问题是对各个物体进行检测,检测出他们的具体位置在哪里,其会采取一个边界框,利用这个边界框对整张图片进行扫描,识别出物体存在的区域。第二个问题就是对检测到的物体进行识别并分类。 但是在深度学习中,其可以将多分类目标检测问题简化为一个端到端的识别任务,来直接检测出物体并识别出物体类型。
5.耗费时间:
深度学习对硬件依赖性高不仅是因为很多算法只有在高级别的GPU 上才能运行,还因为其训练时间也和硬件好坏息息相关。在大多数情况下,对一个深度学习的算法进行训练需要很长的时间,这是因为在深度学习中,网络的参数量很大,还有更多的卷积操作、反向传播等运算。与之相反的是,机器学习的训练时间相比较缩短了很多,大部分情况下仅仅需要耗费数秒至数小时的时间。 但是在测试过程中,两者所耗费的时间在大多数情况下相反。对于深度学习,由于在训练的时候耗费了大量的时间训练好了模型,因此在测试的时候,仅仅需要较少的时间就可以得出测试结果。而除了部分机器学习算法测试时间较短,大部分机器学习算法的测试时间会随着数据集的增大而大幅度增加。
6.可解释性:
可解释性是区分深度学习与传统机器学习的重要因素。对于深度学习,有时候无法知道它为什么会给出那样的检测结果。比如说为了提高老师们的阅卷的效率,采用深度学习来对文章进行评分,虽然最后发现,通过深度学习训练出来的模型对文章的给分的准确性很高,但是却无法找到深度学习这么给分的理由。原因在于对于较深层次的神经网络而言,其每一层都对应了相应的特征,但是由于层数太多而导致无法清楚其代表的具体是什么特征,因此也就无法对测试的结果进行解释,虽然可以找出到底是哪一个网络的节点被激活了,但是深度学习网络里面的规则仍然很难理解。相反,对于机器学习来说,每一个规则都是给出的,因此可以很好地明白模型的决策。
2. 知识图谱
知识图谱本质上是结构化的语义知识库,是一种由节点和边组成的图数据结构,以符号形式描述物理世界中的概念及其相互关系,其基本组成单位是“实体—关系—实体”三元组,以及实体及其相关“属性—值”对。不同实体之间通过关系相互联结,构成网状的知识结构。在知识图谱中,每个节点表示现实世界的“实体”,每条边为实体与实体之间的“关系”。通俗地讲,知识图谱就是把所有不同种类的信息连接在一起而得到的一个关系网络,提供了从“关系”的角度去分析问题的能力。
知识图谱可用于反欺诈、不一致性验证、组团欺诈等公共安全保障领域,需要用到异常分析、静态分析、动态分析等数据挖掘方法。特别地,知识图谱在搜索引擎、可视化展示和精准营销方面有很大的优势,已成为业界的热门工具。但是,知识图谱的发展还有很大的挑战,如数据的噪声问题,即数据本身有错误或者数据存在冗余。随着知识图谱应用的不断深入,还有一系列关键技术需要突破。
3. 自然语言处理
自然语言处理( Natural Language Processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统。因而它是计算机科学的一部分。
机器翻译:
机器翻译技术是指利用计算机技术实现从一种自然语言到另外一种自然语言的翻译过程。基于统计的机器翻译方法突破了之前基于规则和实例翻译方法的局限性,翻译性能取得巨大提升。基于深度神经网络的机器翻译在日常口语等一些场景的成功应用已经显现出了巨大的潜力。随着上下文的语境表征和知识逻辑推理能力的发展,自然语言知识图谱不断扩充,机器翻译将会在多轮对话翻译及篇章翻译等领域取得更大进展。
语义理解:
语义理解技术是指利用计算机技术实现对文本篇章的理解,并且回答与篇章相关问题的过程。语义理解更注重于对上下文的理解以及对答案精准程度的把控。随着 MCTest 数据集的发布,语义理解受到更多关注,取得了快速发展,相关数据集和对应的神经网络模型层出不穷。语义理解技术将在智能客服、产品自动问答等相关领域发挥重要作用,进一步提高问答与对话系统的精度。
问答系统:
问答系统分为开放领域的对话系统和特定领域的问答系统。问答系统技术是指让计算机像人类一样用自然语言与人交流的技术。人们可以向问答系统提交用自然语言表达的问题,系统会返回关联性较高的答案。尽管问答系统目前已经有了不少应用产品出现,但大多是在实际信息服务系统和智能手机助手等领域中的应用,在问答系统鲁棒性方面仍然存在着问题和挑战。
自然语言处理面临四大挑战:
一是在词法、句法、语义、语用和语音等不同层面存在不确定性;
二是新的词汇、术语、语义和语法导致未知语言现象的不可预测性;
三是数据资源的不充分使其难以覆盖复杂的语言现象;
四是语义知识的模糊性和错综复杂的关联性难以用简单的数学模型描述,语义计算需要参数庞大的非线性计算
4. 人机交互
人机交互主要研究人和计算机之间的信息交换,主要包括人到计算机和计算机到人的两部分信息交换,是人工智能领域的重要的外围技术。人机交互是与认知心理学、人机工程学、多媒体技术、虚拟现实技术等密切相关的综合学科。传统的人与计算机之间的信息交换主要依靠交互设备进行,主要包括键盘、鼠标、操纵杆、数据服装、眼动跟踪器、位置跟踪器、数据手套、压力笔等输入设备,以及打印机、绘图仪、显示器、头盔式显示器、音箱等输出设备。人机交互技术除了传统的基本交互和图形交互外,还包括语音交互、情感交互、体感交互及脑机交互等技术。
5. 计算机视觉
计算机视觉是使用计算机模仿人类视觉系统的科学,让计算机拥有类似人类提取、处理、理解和分析图像以及图像序列的能力。自动驾驶、机器人、智能医疗等领域均需要通过计算机视觉技术从视觉信号中提取并处理信息。近来随着深度学习的发展,预处理、特征提取与算法处理渐渐融合,形成端到端的人工智能算法技术。根据解决的问题,计算机视觉可分为计算成像学、图像理解、三维视觉、动态视觉和视频编解码五大类。
目前,计算机视觉技术发展迅速,已具备初步的产业规模。未来计算机视觉技术的发展主要面临以下挑战:
一是如何在不同的应用领域和其他技术更好的结合,计算机视觉在解决某些问题时可以广泛利用大数据,已经逐渐成熟并且可以超过人类,而在某些问题上却无法达到很高的精度;
二是如何降低计算机视觉算法的开发时间和人力成本,目前计算机视觉算法需要大量的数据与人工标注,需要较长的研发周期以达到应用领域所要求的精度与耗时;
三是如何加快新型算法的设计开发,随着新的成像硬件与人工智能芯片的出现,针对不同芯片与数据采集设备的计算机视觉算法的设计与开发也是挑战之一。
6. 生物特征识别
生物特征识别技术是指通过个体生理特征或行为特征对个体身份进行识别认证的技术。从应用流程看,生物特征识别通常分为注册和识别两个阶段。注册阶段通过传感器对人体的生物表征信息进行采集,如利用图像传感器对指纹和人脸等光学信息、麦克风对说话声等声学信息进行采集,利用数据预处理以及特征提取技术对采集的数据进行处理,得到相应的特征进行存储。
识别过程采用与注册过程一致的信息采集方式对待识别人进行信息采集、数据预处理和特征提取,然后将提取的特征与存储的特征进行比对分析,完成识别。从应用任务看,生物特征识别一般分为辨认与确认两种任务,辨认是指从存储库中确定待识别人身份的过程,是一对多的问题;确认是指将待识别人信息与存储库中特定单人信息进行比对,确定身份的过程,是一对一的问题。
生物特征识别技术涉及的内容十分广泛,包括指纹、掌纹、人脸、虹膜、指静脉、声纹、步态等多种生物特征,其识别过程涉及到图像处理、计算机视觉、语音识别、机器学习等多项技术。目前生物特征识别作为重要的智能化身份认证技术,在金融、公共安全、教育、交通等领域得到广泛的应用。
7. VR/AR
虚拟现实(VR)/增强现实(AR)是以计算机为核心的新型视听技术。结合相关科学技术,在一定范围内生成与真实环境在视觉、听觉、触感等方面高度近似的数字化环境。用户借助必要的装备与数字化环境中的对象进行交互,相互影响,获得近似真实环境的感受和体验,通过显示设备、跟踪定位设备、触力觉交互设备、数据获取设备、专用芯片等实现。
二、AI芯片相关
详细参考文章:《所谓的AI芯片到底指什么?》
1. CPU与GPU
CPU擅长逻辑控制,在深度学习中可用于推理/预测。在深度学习中,模型的训练和推理是两个不同的过程:在训练过程中,模型需要进行大量的矩阵运算,因此通常使用GPU等擅长并行计算的芯片进行处理;在推理过程中,需要对大量的已经训练好的模型进行实时的推理/预测操作,而这种操作通常需要高效的逻辑控制能力和低延迟的响应速度,这正是CPU所擅长的。
GPU(Graphics Processing Unit)图形处理器:GPU最初是为了满足计算机游戏等图形处理需求而被开发出来的,但凭借高并行计算和大规模数据处理能力,逐渐开始用于通用计算。根据应用场景和处理任务的不同,GPU形成两条分支:传统GPU:用于图形图像处理,因此内置了一系列专用运算模块,如视频编解码加速引擎、2D加速引擎、图像渲染等;GPGPU:通用计算图形处理器(general-purposeGPU)。为了更好地支持通用计算,GPGPU减弱了GPU图形显示部分的能力,将其余部分全部投入到通用计算中,同时增加了专用向量、张量、矩阵运算指令,提升了浮点运算的精度和性能,以实现人工智能、专业计算等加速应用。
GPU在AI模型构建中具有较高的适配性。GPU的高并行性可以更好地支持AI模型训练和推理过程中大量的矩阵或向量计算。
CUDA与CUDNN:
CUDA是NVIDIA创建的一个并行计算平台和编程模型,它不是编程语言,也不是一种API。
NVIDIA CUDA®深度神经网络库(cuDNN)是一个用于深度神经网络的GPU加速库。cuDNN为标准例程(如前向和后向卷积、池化、归一化和激活层)提供了高度优化的实现。
更多详情,可参考《显卡、显卡驱动、cuda 之间的关系是什么?》
《一文了解GPU并行计算CUDA》
《概念解释:并行计算、显卡、驱动、CUDA、GPU、深度学习等之间的关系》
GPU 的核心架构及参数:
- CUDA Core:
CUDA Core 是 NVIDIA GPU上的计算核心单元,用于执行通用的并行计算任务,是最常看到的核心类型。NVIDIA 通常用最小的运算单元表示自己的运算能力,CUDA Core 指的是一个执行基础运算的处理元件,我们所说的 CUDA Core 数量,通常对应的是 FP32 计算单元的数量。
- Tensor Core:
Tensor Core 是 NVIDIA Volta 架构及其后续架构(如Ampere架构)中引入的一种特殊计算单元。它们专门用于深度学习任务中的张量计算,如矩阵乘法和卷积运算。Tensor Core 核心特别大,通常与深度学习框架(如 TensorFlow 和 PyTorch)相结合使用,它可以把整个矩阵都载入寄存器中批量运算,实现十几倍的效率提升。
- RT Core:
RT Core 是 NVIDIA 的专用硬件单元,主要用于加速光线追踪计算。正常数据中心级的 GPU 核心是没有 RT Core 的,主要是消费级显卡才为光线追踪运算添加了 RTCores。RT Core 主要用于游戏开发、电影制作和虚拟现实等需要实时渲染的领域。
V100 vs A100 vs H100:
更多详情讲解,可参考:《英伟达A100、A800、H100、H800如何选择?》
《【显卡】AMD和Nvidia显卡系列&相关对比(A100 vs RTX4090)
》
推理芯片与训练芯片:
训练芯片是专门设计用于训练深度学习模型的芯片,需要接收大量的输入数据,并根据这些数据来调整神经网络模型的权重和参数,以使其能够准确地预测目标。因为模型需要反复迭代和调整和反向传播运算以找到最佳的参数设置,会消耗大量的计算资源和时间,因此训练芯片通常具有高度并行化的架构,以加速矩阵计算等涉及大量数学运算的任务。
典型的训练卡有NVIDIA A100、NVIDIA DGX 系列、AMD Instinct MI系列、Google TPU系列、Intel Nervana NNP系列、Huawei Ascend 910等。
推理芯片是专门设计用于在训练后使用已经训练好的模型进行推理或预测的芯片。芯片内部署的模型接收新的输入数据,并基于之前训练得到的参数来进行预测或分类。因为推理过程模型只需要执行前向传播,而无需反向传播和参数调整,所以大部分的推理芯片会对前向传播过程进行优化,以提高推理速度和效率。
几款典型的推理卡包括NVIDIA Tesla T4、NVIDIA Jetson Xavier NX、Intel Nervana NNP-T、AMD Radeon Instinct MI系列、Xilinx AI Engine系列等。
更多详情可参考:训练芯片和推理芯片,都是干嘛的?
2. FPGA
FPGA(Field Programmable Gate Array)现场可编程门阵列:FPGA最大的特点在于其现场可编程的特性,无论是CPU、GPU还是ASIC,在芯片制造完成后功能会被固定,用户无法对硬件功能做出更改,而FPGA在制造完成后仍可使用配套软件对芯片进行功能配置,将芯片上空白的模块转化为自身所需的具备特定功能的模块。
3. ASIC
ASIC(Application Specific Integrated Circuit)专用集成电路:是一种为专门应特定用户要求和特定电子系统的需要而设计、制造的集成电路。ASIC具有较高的能效比和算力水平,但通用性和灵活性较差。能效方面:由于ASIC是为特定应用程序设计的,其电路可以被高度优化,以最大程度地减少功耗。根据Bob Broderson数据,FPGA的能效比集中在1-10MOPS/mW之间。ASIC的能效比处于专用硬件水平,超过100MOPS/mW,是FPGA的10倍以上。算力方面:由于ASIC芯片的设计目标非常明确,专门为特定的应用场景进行优化,因此其性能通常比通用芯片更高。根据头豹研究院数据,按照CPU、GPU、FPGA、ASIC顺序,芯片算力水平逐渐增加,其中ASIC算力水平最高,在1万-1000万Mhash/s之间。随着技术、算法的普及,ASIC将更具备竞争优势。ASIC在研发制作方面一次性成本较高,但量产后平均成本低,具有批量生产的成本优势。目前人工智能属于大爆发时期,大量的算法不断涌出,远没有到算法平稳期,ASIC专用芯片如何做到适应各种算法是当前最大的问题。但随着技术、算法的普及,ASIC将更加具备竞争优势。ASIC主要应用在推断场景,在终端推断市场份额最大,在云端推断市场增速较快。
三、AIGC
AIGC全称为AI-Generated Content,即利用人工智能技术来自动生产内容。具体可基于生成对抗网络GAN、生成扩散模型和大型预训练模型等人工智能技术,通过已有数据寻找规律,并通过适当的泛化能力生成相关内容的技术。
了解AIGC的发展历程,可参考:《被称为下一代风口的AIGC到底是什么?》
四、GPT大模型
GPT是一个自然语言处理模型,分为GPT-1、GPT-2、GPT-3、GPT-4.ChatGPT是基于GPT-3.5模型衍生的一个聊天应用。
其中,G就是生成式AI的意思。P是Pre-trained 预训练的含义。
预训练:
预训练(Pre-training)是一种机器学习中的训练策略,它通常用于无监督学习任务。在预训练过程中,模型会在大规模的数据上进行训练,以学习数据中的潜在模式和特征表示。这种训练方式不需要标注的标签或任务指导,而是通过模型自身的学习能力来捕捉数据中的统计规律和语义信息。
在自然语言处理领域,预训练模型通常使用大量的文本数据进行训练,例如互联网上的大规模语料库。通过预训练,模型可以学习到丰富的语言知识和语义理解能力,从而能够更好地理解和生成文本。
预训练模型的训练通常分为两个阶段:预训练和微调。预训练阶段是在大规模数据上进行的无监督学习,目标是让模型学习到语言的统计规律和语义信息。微调阶段则是在特定任务的有标注数据上进行的有监督学习,通过调整模型的参数使其适应具体的任务要求。预训练模型的优势在于可以利用大规模数据进行训练,从而提升模型的泛化能力和表达能力。
T是transformer架构,是一个神经网络架构,这里不做细讲。
五、应用领域
参考文章:
《人工智能技术包含七个关键技术》
《传统机器学习和深度学习的对比》