前言
人工智能 是一个广泛的领域,包含了所有使机器看起来智能的技术。机器学习 是 AI 的子集,使用算法让机器从数据中学习。神经网络 是机器学习中的一种模型结构,模仿人脑的工作原理。深度学习 是神经网络的子集,使用深层神经网络来处理更复杂的问题。强化学习 是机器学习的一种,专注于通过环境反馈优化决策。一. 人工智能的概念
人工智能是指通过计算机程序或机器来模拟、实现人类智能的技术和方法。它旨在使计算机具备感知、理解、判断、推理、学习、识别、生成、交互等类人智能的能力,从而能够执行各种任务。
人工智能包括机器学习,专家系统、知识表示与推理、搜索算法、逻辑推理、规划,进化算法,博弈理论与决策树,模糊逻辑,贝叶斯网络,强化学习等。
1. 机器学习和强化学习
机器学习只是人工智能的一种,它的特点在于从数据中学习并改进算法,无需进行明确的编程。目的是获得预测或决策模型,通过准确率,召回率来评判;而且显然具有迭代的特征,毕竟学习不是一蹴而就的。
强化学习也只是AI的一种,不是从数据中学习,而是通过和环境的交互来学习。目标是学习一个策略,使智能体能够在未知环境中取得最大的累积奖励。
这就好比两个学生,一个头脑发达,主要通过看书学习来提升自己(机器学习)。另一个四肢发达,主要通过不停的实践(打架)来提升战斗力(强化学习)。所以机器学习主要用于图像识别,视频生成,语言大模型等,这些相当于人的大脑的功能;而强化学习主要用于机器人,自动驾驶之类的,比如机器人要保持平衡,强化学习就相当于锻炼机器人小脑的功能。
围棋任务则属于深度强化学习。其中既有机器学习,又有强化学习。机器学习(主要是神经网络中的深度学习)用来学习以往的经验,强化学习主要用来评价并形成新的策略。原版的alpha go是学习人类过往的棋局,然后进行评价;后来发现人类垃圾,新的alpha go zero是自己先形成大量的棋局,然后从这些棋局中用深度神经网络进行学习,同时改进了搜索策略(蒙特卡洛树搜索),很快就碾压了人类。
2. 机器学习和神经网络,以及深度学习
神经网络属于机器学习的一种,机器学习的算法有决策树、随机森林、逻辑回归、SVM、朴素贝叶斯、K最近邻算法、K均值算法、Adaboost算法、神经网络、马尔科夫等。这些算法都有从数据中学习的能力,但是只有神经网络是模拟了人类神经系统的结构和功能。
神经网络如果具有多个隐藏层,那就被称为深度学习,而传统的神经网络(浅层网络)则可能只有一两个隐藏层。
二. 从其他几个角度进行分类
神经网络还可以从两个维度进行分类,比如并行处理和序列处理模型,判别式和生成式模型;
1. 并行处理和序列处理模型
a.并行处理
指的是在多个计算单元上同时进行多个操作或计算。
比如CNN(卷积神经网络), 通过卷积核同时在多个图像区域上提取特征,可以有效并行处理不同区域,主要用来处理图形,应用在图像识别、自动驾驶的目标检测、医学影像分析。当然也包括CNN所衍生出来的RCNN,YOLO(目标检测),ALEXnet,Lenet(图像分类)等网络;b. 序列处理
是指模型必须根据数据的顺序进行处理,后续的计算依赖前面的输出,通常用于时间序列或文本等任务。
比如循环神经网络(RNN),主要用于时间序列预测、语音识别、文本生成。RNN 的每个时间步都依赖前一时间步的输出,因此它在处理序列时具有天然的顺序性。应用于机器翻译、语音识别、股票预测等;但RNN有梯度消失和梯度爆炸的问题,所以被transformer在NLP中取代LSTM(长短期记忆网络)同样处理序列数据,如文本生成和时间序列预测,但 LSTM 能够解决 RNN 的长依赖问题。用在语言翻译、视频分析、时间序列预测等方面。c. 并行和序列的结合
如最流行的transformer。
Transformer 在处理序列数据时与 RNN 不同,它通过自注意力机制来解决序列任务。与 RNN 需要顺序处理不同,Transformer 的自注意力机制可以让模型在处理序列时并行计算。所以它既可以用于语言大模型(CHATGPT),也可用于图像和视频(如SORA中的扩散变换器Diffusion Transformer,简称DiT)。
自注意力机制:Transformer 通过自注意力机制,允许模型在一个时间步上查看整个序列中的所有其他位置。这使得 Transformer 在处理序列时不必按顺序进行,而是可以并行处理每个位置的数据。并行性:由于 Transformer 依赖自注意力,而不是顺序递归,因此它能够高效并行化,特别是在硬件上具有更好的性能,尤其适合处理长序列和大规模数据。2. 判别式和生成式模型
a. 判别式模型
卷积神经网络(CNN),主要在图像分类领域,用于图像识别、目标检测。BERT,主要在文本分类、问答系统用于,自然语言处理中的文本分类、命名实体识别b. 生成式模型
生成对抗网络(GAN),用于图像生成、视频生成、数据增强。比如midjourney和pika。
Diffusion 模型,如DALL-E 2、Imagen 等基于生成图像的任务。
c. 判别式+生成式模型
还是Transformer:
判别式任务:如文本分类、机器翻译、自然语言理解等。BERT(基于 Transformer 的模型)是一个用于判别任务的典型例子。生成式任务:如文本生成、机器翻译、对话生成等。GPT(Generative Pre-trained Transformer)是生成式任务中的一个典型例子。三. Transformer详解
从上面可以看出来,transformer真是全能架构,既能识别又能生成,既能处理图像和视频,又能处理文本和音频。和其他工具结合,功能还会更强大。因此单独整理下transformer的功能。
1. Sora中transformer和diffusion的作用
Transformer 主要负责视频的时间依赖性,其自注意力机制可以有效捕捉时间序列中帧与帧之间的依赖关系,帮助模型理解视频中物体和场景随时间的动态变化。Diffusion 模型 主要负责单帧图像生成,它通过逐步添加噪声然后反向去噪的过程,生成高质量的单帧图像。确保每帧图像的高质量和细节。单独使用 Transformer 可能导致图像质量不佳,单独使用 Diffusion 则可能导致视频帧之间的不连贯。因此,结合两者可以生成高质量且连贯的视频序列。2.多模态中transformer的作用
在多模态任务中,Transformer 的作用是将不同类型的数据(例如图像、文本、音频等)结合起来进行统一的处理和表示学习。Transformer 的自注意力机制可以跨模态捕捉到不同类型输入之间的依赖关系,帮助模型理解和处理多模态信息,从而能理解输入图片的内容并进行描述:
1)模型能够“看懂”示意图的原理
主要依赖于以下几个关键点:
图像分块与特征提取:图像被分割为若干小块(patches),并通过 Vision Transformer(ViT) 或 CNN 提取每个块的局部特征。这些特征将提供图像的局部信息。自注意力机制:然后通过 Transformer 的自注意力机制,这些局部特征可以彼此交互,从而捕捉全局的图像关系。它可以有效识别图像中的各种模式和关联。文本-图像联合理解:CLIP 等多模态模型能够理解图像与文字之间的关系,通过联合训练的视觉和语言模型来推断出图像的含义。2)Vision Transformer (ViT)
一种用 Transformer 替代传统 CNN 来处理图像的模型。ViT 将图像切分为小块(patches),然后使用 Transformer 的自注意力机制来理解图像的全局特征。
图像分块:首先,ViT 将输入图像划分成固定大小的矩形小块(patches)。例如196 个 patch。
线性投影:每个小块会被展平(flattened)成一个一维向量,然后通过一个线性投影层(也叫嵌入层),将这些小块映射到一个高维空间(类似于词嵌入)。这一过程并不依赖 CNN 来提取特征,而是通过线性变换直接对图像进行特征表示。
位置编码:因为 Transformer 本身没有位置感知的能力,ViT 需要为每个图像块添加位置编码,以保留各块在原图像中的相对位置信息。
Transformer 自注意力机制:之后,这些小块(及其线性投影)作为输入,进入 Transformer 模型的自注意力机制。自注意力机制能够让每个图像块关注其他所有图像块,从而捕捉到图像的全局特性。
3)CLIP(Contrastive Language-Image Pretraining)
让模型学习将一张图像与其对应的文本描述对齐,同时分离不相关的图像-文本对。这样CLIP 可以同时处理图像和文本,并通过共享的向量空间将它们进行关联。
输入:CLIP 接收一张图片和一段与该图片相关的文本描述作为输入。
特征提取:图像处理使用一个图像编码器( ResNet 或 Vision Transformer)将图像转换为特征向量。文本处理则使用一个文本编码器( Transformer)将文本转化为向量表示。
对比学习:模型会学习将匹配的图像-文本对映射到相似的特征空间中,同时将不匹配的图像-文本对分离,让图像的向量表示与其正确描述的文本向量尽可能接近。
优点:通过大规模的无标签数据进行训练,可以在没有明确监督的情况下理解图像和文本之间的关系。也具有灵活性,可以执行多种任务,如零样本分类、图像检索、文本生成图像等,利用对图像和文本的联合表示来完成。
3.自动驾驶中transformer的作用
特斯拉FSD从V12版本开始采用了多头大模型(multi-headed large model)的结构,使用多个输出头来处理不同的任务。该结构的核心由Transformer 和 Bird's Eye View (BEV) 相结合,用于提升对复杂环境的理解和多模态数据的融合。多个网络头的任务分别:
感知任务:包括检测车辆、行人、交通标志等。路径规划:生成车辆行驶的路线。控制任务:决定车辆的加速、刹车、转向等操作。其中Transformer 扮演了关键角色,主要用于处理摄像头传感器数据,并进行场景的感知、预测和控制决策。Transformer 的核心作用:
1)多帧视频数据的处理
FSD 系统通过多帧连续的摄像头数据来感知环境。Transformer 的自注意力机制能够捕捉长时间的帧间依赖关系,并通过历史帧来推测未来的运动。它能理解车辆、行人、其他障碍物的运动轨迹,从而帮助系统预测这些物体在未来几秒内的运动方向和速度。
2)预测和决策
FSD 系统通过将场景中的物体的轨迹抽象出来,进行推测,结合道路、交通标志等静态信息,生成车辆的自身运动轨迹。这样,系统能够做出及时的控制决策,例如转向、加速或减速,来避开潜在的危险并顺利驾驶
3)多模态数据的融合
FSD 系统通过多个摄像头来获得周围环境的不同视角。Transformer 的自注意力机制可以融合不同摄像头的输入信息,从而生成一个统一的、三维的鸟瞰图(BEV, Bird's Eye View)。这帮助系统实时感知周围环境,并在三维空间中理解物体的相对位置和状态。这个BEV 的生成也通过深度学习大模型完成的,并非传统的基于几何的转换。
4)注意
*FSD属于深度学习,而非通过强化学习进行的策略优化。FSD在决策控制方面主要是学习优秀司机的驾驶经验,是通过大量数据的训练形成的模型,因此属于深度学习。由于强化学习存在着大量的试错过程(不可能用实车到路上去试错来大量收集数据),实际的部署通常是在仿真环境中完成的,以确保安全性和高效性。例如waymo,Uber,百度Apollo,用强化学习来改进其自动驾驶系统的决策能力,特别是在复杂的交互场景中,如高速公路场景中的车道保持和超车决策上。
*FSD的端到端大模型和其他厂家自动驾驶技术的区别是根本的区别。其他厂家可能只有在车辆或行人识别的时候使用了神经网络。其他道路参与者相对本车的距离,速度,都是通过毫米波雷达或者激光雷达收集而来的,摄像头收集的数据只用来识别物体,激光雷达,毫米波雷达主要判断车速和轨迹,三者之间还需要融合。融合的过程可能会出现错误,而且依赖于人工编码来覆盖所有的决策情形,会有大概率遗漏场景。根本原因是其他厂家的摄像头所收集的数据并不进行时序的处理,不具备FSD中的transformer对各帧时序关系和各种物体轨迹的理解和推测。了解到这些才理解了FSD作者们的高明之处。
4.音频处理中transformer的应用
Transformer 在音频处理,尤其是长时序建模和多模态任务中表现非常强大。然而,它的计算成本较高,且在局部特征捕捉方面不如卷积神经网络CNN(音频信号中常有较强的局部特征,如短时傅里叶变换(STFT)提取的频谱信息等)。因此,在许多音频任务中, 结合了 Transformer 和 CNN 优势的Conformer,既可以处理局部特征,又能够通过自注意力机制捕捉全局依赖关系,已经被证明是比纯 Transformer 更高效和更强大的模型,尤其是在 ASR(自动语音识别)中。除此以外,某些生成任务中的WaveNet,轻量任务中的RNN也更有优势。transformer在音频处理中的应用:
1) 语音识别
如 Google 的 Conformer 模型,它结合了卷积神经网络(CNN)的局部感知能力与 Transformer 的全局建模能力。Conformer 在 ASR(Automatic Speech Recognition)任务中表现非常好,因为它能够同时捕捉音频信号中的短期和长期依赖关系。
2) 语音生成
像 Tacotron 2 和 Transformer TTS(Text-to-Speech)利用 Transformer 来捕捉音频波形与文本之间的复杂关系,能模拟人类的语气,生成逼真且具有情感的语音合成。GPT-4 的语音合成和对人类语气的模仿广泛使用了基于 Transformer 的技术,结合深度学习模型对语言、情感、语气进行建模,并生成自然的语音输出。
3)音乐生成
OpenAI 的 Jukebox 模型就是基于 Transformer 的架构,它能够生成不同风格的音乐,甚至可以从文本提示生成对应风格的歌曲。Transformer 在这种应用中能够捕捉音乐中的复杂模式和长距离的依赖关系,使其生成更具创意的音乐内容。
4)音频分类
Transformer 还可以用于音频分类任务,例如环境音分类、情感识别等。Transformer 的自注意力机制能够很好地理解音频数据中的模式,并进行分类决策。像 AST(Audio Spectrogram Transformer) 这样的模型使用 Transformer 直接处理音频的频谱图,展现了优秀的音频分类性能。