AI领域基础概念

175 阅读13分钟

1、AI (Artificial Intelligence)

人工智能是一种使机器模拟人类智能的技术,通过机器学习、深度学习等算法,使得计算机具备学习、推理、自我修正和解决等功能。

NLP:Natural Language Processing

致力于实现计算机对人类语言的理解、解读和生成。NLP涵盖包括文本处理、语音识别等

NLU:Natural Language Unstanding

NLP的一个子领域,致力于实现计算机对人类语言的理解和解释。包括语义分析、意图识别、实体识别等。

NLG:Natural Language Generation

NCP的另一个子领域,使计算机能够生成自然、人类可读的语言文本。包括主动报告生成,内容创作等

栗子

  1. 用户输入: 用户说:“Hi siri 明天的天气怎么样?”
  2. 自然语言处理(NLP):
    • 语音识别: 首先将用户的语音转换为文本:“明天的天气怎么样?”
    • 文本预处理: 清理和规范化文本,如去除多余的空格或标点。
  3. 自然语言理解(NLU):
    • 意图识别: 系统识别用户的意图是询问天气。
    • 实体识别: 系统识别出“明天”是时间相关的实体。
  4. 数据处理: 系统查询天气数据库,获取“明天”的天气信息。
  5. 自然语言生成(NLG):
    • 生成文本: 系统将查询结果转换为自然语言文本:“明天的天气是晴天,最高气温25度,最低气温15度。”
    • 语音合成: 将生成的文本转换为语音,并播放给用户。

2、机器学习(Machine Learning)

机器学习是一种通过数据训练模型,使计算能够主动从数据中学习模式和规律的编程方式。程序员不需要明确地编写每一步操作的代码,而是通过提供大量的示例数据,让计算机自行学习。

监督学习(Supervised Learning)

模型通过已知的输入和输出数据进行训练,直到模型能够准确地匹配输 ⼊和输出的关系。

分类(Classification):将输入数据分为离散的类别

回归(Regression):预测连续的数值输出

关联规则(Association Rule):寻找数据中不同项之间的关系或模式

无监督学习(Unsupervised Learning)

模型在没有标签数据(输入输出)的情况下,通过数据内部的结构进行学习。

聚类(Clustering):将数据分成不同的组,每个组中的数据项彼此相似

强化学习(Reinforcement Learning)

其中一个智能体(Agent)通过与环境(Environment)互动,以试错的方式学习如何完成任务或达到目标。

状态(States):对当前环境的一种描述

奖励(Reward):对智能体在某个状态下采取某个动作后的反馈

智能体(Agent):执行动作并接受奖励的决策者

强化学习的过程:

  1. 观察:智能体观察当前的状态。
  2. 选择动作:根据当前状态,智能体选择一个动作。这个动作可能基于之前的学习,也可能是一个随机选择。
  3. 执行动作:智能体执行所选择的动作,环境随之发生改变。
  4. 获取反馈:环境向智能体提供执行该动作后的新状态及即时奖励。
  5. 更新策略:智能体根据奖励更新其策略,使其在未来选择更优的动作,以获得更多的累计奖励。

机器学习效果评估

欠拟合(Under-fitting):模型过于简单,无法捕捉到训练数据中的模式和特征,导致在训练数据和新数据上的表现都很差。

最佳拟合(Optimal-fitting):模型恰当捕捉到了训练数据中的模式和特征,同时也能很好的应用于新数据。

过拟合(Over-fitting):模型过于复杂,过度记录了训练数据中的每一个细节和噪声,失去了对新数据的泛化能力。

3、神经网络(Neural Networks)

基本概念:

  1. 节点(Neuron):类似于人脑中的神经元,每个节点接收输入信号,进行处理后发送输出信号

2、层(Layer):神经网络的结构由多个层组成,每个层包含一定数量的节点

3、连接(Weights):每两个相邻层之间的节点通过带有权重的连接相连,这些权重决定了信号传输的强度

深度学习(Deep Learning)

是一种机器学习方法,利用多层神经网络进行复杂的数据处理和模式识别。

输出层(Input Layer):第一层,接收原始数据的输入。可以是图像的像素值,文本词向量或其他形式的数据。输入层的节点(神经元)数目取决于输入数据的特征数。

隐藏层(Hidden Layer):负责对输入数据进行特征提取和变换,可以有多层,称为深度。每个隐藏层通过与前一层和后一层的连接来传递信息。

输出层(Output Layer):最后一层,给出模型最终的预测结果

浅层神经网络(Shallow Neural Networks)

包含少量隐藏层(通常只有一个隐藏层)的一种神经网络。由于层数较少,计算简单,适用于简单或者规模小的任务。

深度神经网络(Deep Nerual Networks)

包含多个隐藏层,层数较多,能够捕捉数据的复杂模式和高级特征。适用于图像识别、智驾、自然语言处理等

CNN(卷积神经网络)

一种特别设计用来处理具有类似网格结构的数据的深度学习模型,例如图像(本质上是像素的矩阵)。CNN通过模拟我们人类的视觉系统工作来帮助计算机“看懂”图像或其他类似数据

卷积层(Convolutional Layer):

假设你有一张纸画着各种形状(如圆形、方形等)。用一个小镜子(滤镜或卷积核)来观察这张纸。每次只能看到镜子中的一部分图形。根据这部分,尝试猜测这是哪种形状。移动镜子到纸上的不同部位,重复这个观察过程,最终你可以获得关于图形的不同信息。在CNN中,这个小镜子观察的过程就是“卷积操作”,他可以帮助模型捕捉到图像中的基本特征(如边缘、角点等)。

池化层(Pooling Layer):

接下来,如果你想让镜子中看到的图像部分更抽象,更容易总结(即缩减它的尺寸),你可能会选择在画好的图形上用较大的格子遮住一部分,只保留某些重要的特征(比如形状的特定部分)。这个过程类似于“池化”,它有助于降低处理的数据量和抓取最显著的特征。

全连接层(Fully Connected Layer):

最后将所有观察结果放在一起,尝试根据提取的信息来完整识别纸上的整个图形。在CNN中,这个汇总过程是通过“全连接层”完成的,它基于前面提取到的所有特征提取做出最终的判断和分类。

RNN(循环神经网络)

一种专为处理序列数据(如文字,语音或连续的时间数据)而设计的神经网络。RNN能处理输入之间的时间动态关系,使其特别适用于那些需要理解时间序列数据或上下文信息的场景(如语言模型、股票价格趋势、手写文本识别等)

基本工作原理:记住之前发生的事情,并且使用这些信息来帮助作出当前的决策。RNN内部有所谓的“循环”,这使得过去的信息能够影响当前的输出。

  1. 记忆功能:不仅理解当前的输入,而且还记得之前处理过的信息
  2. 参数共享:在处理序列的每一步时,RNN重复使用同一套参数(权重和偏置)。不仅使得模型更加紧凑,而且还可以处理任意长度的序列。
  3. 输出依赖:根据应用,RNN可以在任何时间点生成数据,或者在处理完所有输入后才产生一个输出。这意味着它可以被用来做分类(判断情感)、生成连续的数据(如文本生成)等。

输入层:接收序列中的每个元素(例如:一个句子中的单词或时间序列数据中的一个时间点)。假设任务是处理情感分析&&输入是一句话中的每个词。每个词首先会被转化成数字形式(通常是向量、通过词嵌入技术如word2Vec或GloVe实现),然后送入RNN。

隐藏层:RNN核心,负责处理输入并保留先前输入的信息。隐藏层中的节点会对当前输入和前一个时间步的隐藏状态进行处理,生成新的隐藏状态,这个过程会不断循环。这使得网络能够从数据的序列中“记住”信息,并用这些信息影响后续的输出。

输出层:在序列的每一步或最后一步,输出层会基于隐藏层的最终状态生成输出。输出可以是一个类别标签(如在分类任务中),一个连续值(如在回归任务中),或者是下一个序列元素(如在预测任务中)。

Transformer

一种用于处理序列数据(如文本生成、翻译等语言理解)的深度学习模型。核心优势在于其能同时处理输入序列的所有部分,能大大加快训练过程并提高模型处理长距离依赖的能力。

  1. 自注意力机制(Self-Attention):模拟在处理每个词时,评估其与句子中其他词的关系并加以利用的能力。
  2. 多头注意力(Multi-Head Attention):同时从多个“角度”或“子空间”来处理信息,有助于捕获句子或数据的多方面特性。
  3. 位置编码(Positional Encoding):对顺序的感知的机制,帮助Transformer模型理解单词在句子中的位置,即它处理的是一组单词,而不是一个接一个的单词。
  4. 前馈网络(Feed-Forward Networks):在自注意力前后对每个位置输出相同操作的网络部分,这⼀处理过程对于序列中的每个元素都是独⽴的且流程相同的。

BERT(Bidirectional Encoder Representations from Transformer)

基于Transformer模型的深度学习技术,用于自然语言处理。创新点在于双向训练,同时考虑文本中的每个词的左侧和右侧上下文。

  1. 基于Transformer的架构:使用Transformer的编码器部分(多头自注意力、位置编码)部分,不使用解码器。
  2. 双向上下文理解:同时看文本的前后文。
  3. 预训练和微调
    • 预训练:首先,BERT 在一个庞大的文本库上进行训练,学习文本中的语⾔规律。 这个阶段的学习任务包括“遮蔽语⾔模型”(Masked Language Model, MLM)和“下一个句子预测”(Next Sentence Prediction, NSP)。在 MLM 任务中,BERT 随机遮住句中的某些词,尝试预测它们;在 NSH 任务中,BERT尝试预测第二个句子是否是第⼀个句⼦的合理后续。
    • 微调:预训练完成后,BERT 可以通过额外的训练适应具体任务,⽐如情感分析、问答回答等。在这⼀阶段,BERT结合少量针对特定任务的数据,调整其参数以更好地完成该任务。

GPT(Generative Pre-trained Transformer 生成式预训练)

先进的自然语言处理模型,能生成类似于人类写作的文本。

  1. 生成式:与那些只能进行分类或预测的模型不同,GPT可以创新出全新的句子、段落、甚至整篇文章。(如写作)
  2. 预训练:在大量文本数据上预先训练模型,使模型在开始应用特定任务时已经有了丰富的语言知识和理解能力。(如对话)
  3. Transformer:神经网络结构,特别适用于处理自然语言。它擅长捕捉文本中的上下文关系,并行处理效率高。(如翻译系统)

4、LLM(大语言模型)

  1. Large(规模):包含大量参数(数十亿到上百亿)
  2. Language(语言):专门处理自然语言
  3. Model(模型):通过机器学习训练处理的系统,根据输入合理生成输出。

应用场景:回答问题、生成文本、翻译语言。

向量数据库

在AI领域,经常需要将原始数据转换成向量形式。向量数据库是专门设计来存储、管理和检索数据的数据库。向量数据库处理多维数组的数据,能够支持在这些向量集合上执行复杂的查询,比如寻找与给定向量最相似的向量。特点:高效检索、大规模存储、动态更新。应用场景:(图像搜索、推荐系统、面部识别)

嵌入(Embeddings)

自然语言处理和机器学习领域中常用技术,用于将文本、图形等非数值形式的数据转换成数值向量。这些向量不是随机的数字,而是通过学习得到的,它们捕捉并表达了原始数据的重要特性关系。比如在文本处理中,单词的嵌入向量会捕捉到单词的语法和语义特性。目的是降维(压缩数据)和捕获关系。应用场景(单词嵌入:分类、商品嵌入:推荐、图像嵌入:面部识别)。

5、OpenAi及其他常用大模型介绍

1. GPT系列模型:

  • GPT-1 (2018): 第一个生成预训练变换器(Generative Pre-trained Transformer, GPT)模型,展示了通过无监督学习进行语言建模的强大潜力。
  • GPT-2 (2019): GPT-2是一个更大、更强的语言模型,具有15亿参数。由于其生成高质量文本的能力,OpenAI最初对其进行了限制发布,担心其可能被滥用。
  • GPT-3 (2020): GPT-3拥有1750亿参数,是当时最大的语言模型之一。它展示了在各种自然语言处理任务中的卓越性能,并被广泛应用于聊天机器人、内容生成、代码编写等领域。
  • GPT-4 (2023): GPT-4进一步提升了模型的规模和性能,成为目前最先进的语言模型之一,能够处理更复杂的任务和生成更自然的文本。

2. Codex:

  • Codex (2021): Codex是基于GPT-3的一个变体,专门用于理解和生成代码。它被集成到GitHub Copilot中,帮助开发者编写代码,提高编程效率。

其他重要项目

1. DALL-E:

  • DALL-E (2021): DALL-E是一个生成模型,能够根据文本描述生成图像。它展示了将语言模型应用于图像生成的潜力,开辟了新的创意和设计可能性。

2. CLIP:

  • CLIP (2021): CLIP(Contrastive Language-Image Pre-Training)是一个将图像和文本结合的模型,能够理解和生成与文本描述匹配的图像。它在图像分类、对象识别等任务中表现出色。