神经网络的数据流动过程(张量的转换和输出)

文章目录

  • 1、文本从输入到输出,经历了什么?
  • 2、数据流动过程是张量,如何知道张量表达的文本内容?
  • 3、词转为张量、张量转为词是唯一的吗?为什么?
  • 4、如何保证词张量的质量和合理性
  • 5、总结

🍃作者介绍:双非本科大四网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应用开发,目前开始人工智能领域相关知识的学习
🦅个人主页:@逐梦苍穹
📕所属专栏:人工智能
🌻gitee地址:xzl的人工智能代码仓库
✈ 您的一键三连,是我创作的最大动力🌹

1、文本从输入到输出,经历了什么?

一串自然语言文本从输入到输出,经过了多个复杂的过程,涵盖了多种自然语言处理(NLP)技术和深度学习模型的工作。

具体流程可以分为以下几个主要步骤:

1️⃣ 输入的文本预处理(Preprocessing)

在文本被送入大语言模型之前,首先会进行预处理,以便模型能够有效地理解和处理这些文本。

这个阶段通常包括以下几个操作:分词(Tokenization)、标准化词嵌入(Embedding)

通过词嵌入,可以将文本中的词语转化为机器可以理解的数值表示。

现代语言模型通常会使用像GloVe、Word2Vec或更复杂的上下文相关嵌入(如BERT中的transformer层输出的嵌入)。

词嵌入的张量值不是随机赋值的!


2️⃣ 语言模型的结构(Model Architecture)

大语言模型目前通常基于一种叫做Transformer的神经网络架构。

Transformer架构自2017年由Vaswani等人提出以来,成为了处理自然语言文本的主流技术。

  • 输入编码(Encoding):每个token被转换为一个高维张量,并且这些张量会作为模型的输入。基于位置编码(Positional Encoding),Transformer能够感知词序列中单词的顺序,因为Transformer本身不具备序列信息处理的能力。
  • 自注意力机制(Self-Attention):Transformer的核心机制是自注意力(Self-Attention),它可以使模型在处理每个token时,考虑到整个序列中其他token对当前token的影响。例如,在处理句子“我喜欢人工智能”时,模型会在计算每个词的表示时注意到“人工智能”这个词,并将其与其他词的关系进行编码。
  • 多头注意力(Multi-Head Attention):这一机制让模型可以在多个子空间中并行计算不同的注意力权重,从而捕捉到更丰富的上下文信息。
  • 前馈神经网络(Feedforward Neural Networks):Transformer中的每个层除了自注意力外,还包含一个前馈神经网络部分,用于进一步处理信息和增强模型的非线性能力。
  • 层叠结构(Layer Stacking):Transformer架构通常由多个这样的自注意力层和前馈网络层堆叠组成。每一层的输出作为下一层的输入,从而逐步增强模型对文本的理解。

3️⃣ 语境建模与上下文理解(Contextual Understanding)

在语言模型的核心任务中,理解上下文是至关重要的。语言模型通常使用自回归(Autoregressive)自编码(Autoencoding) 的方式来处理文本。

上下文捕捉:自注意力机制允许模型关注到输入文本的不同部分,从而构建一个全局的上下文表示。在处理较长的文本时,Transformer能够有效捕捉到长距离依赖。


4️⃣ 解码过程(Decoding)

在文本生成任务中,解码过程非常重要。

当模型根据输入文本生成输出时,它会依次根据上下文信息进行逐步预测。

  • 采样(Sampling):模型在生成文本时会通过某种采样策略来选择下一个最可能的词。常见的策略包括贪婪解码(Greedy Decoding)、温度采样(Temperature Sampling)、Top-K采样、Top-P采样等,这些策略用来控制输出的多样性和流畅性。
  • 概率分布(Probability Distribution):对于每一个token,模型会输出一个概率分布,表示每个可能的token作为下一个token的概率。最终生成的文本是根据这些概率逐步选择的。

5️⃣ 输出生成(Output Generation)

模型通过解码阶段产生最终的输出。

这些输出不仅仅是一个词语的序列,它们往往包含了对输入文本的复杂理解,并能够根据输入的上下文来生成符合语法和语义的合理回应。


6️⃣ 评估与反馈(Evaluation & Feedback)

虽然这部分通常不直接涉及在生成过程中,但现代的语言模型如GPT还会通过额外的监督学习或强化学习进行微调,进一步提高其输出的质量。比如,GPT-3及其后续版本通常会通过人类反馈进行强化学习(Reinforcement Learning from Human Feedback, RLHF),不断优化其生成的内容。


7️⃣ 总结

从输入到输出,一串自然语言文本在大语言模型中经历了多个复杂的步骤:从分词、嵌入表示、上下文建模,到自注意力计算,再到生成阶段的逐词预测。

2、数据流动过程是张量,如何知道张量表达的文本内容?

1️⃣ 张量的意义

在Transformer模型中,词语首先会被转化为嵌入张量(embedding vectors)

这些张量并不直接包含文本的意思,而是通过训练得到的、具有高维度的数值表示

换句话说,这些张量代表的是词的分布式表示,它们携带着关于词与其他词在大量语料中的关系和模式的信息。

每个词的嵌入张量是基于大规模的语料库(例如维基百科、新闻文章等)训练得来的,通过算法学习到词与词之间的相对位置、关联性和使用频率。

虽然这些嵌入张量本身没有明确的“意思”,但它们在高维空间中彼此之间是有结构的,反映了词语之间的语义关系。


2️⃣ 自注意力机制的作用

自注意力机制(Self-Attention)是模型理解这些张量如何与其他词语相关联的关键。

具体来说:

  • 每个词的表示(张量)都会对整个句子中的其他词进行“关注”,这就是“注意力”机制。每个词在计算其表示时,会根据上下文中其他词的影响来动态调整它自己在当前上下文中的“权重”。
  • 通过这种机制,模型可以理解“人工智能”与“我”或“喜欢”之间的关系。例如,在“我喜欢人工智能”中,模型会通过注意力机制将“人工智能”与“喜欢”建立联系,而不仅仅是将“人工智能”作为独立的词来看待。模型会根据整个句子的上下文关系来推断“人工智能”表示的概念。

3、词转为张量、张量转为词是唯一的吗?为什么?

首先要搞清楚:为什么文本能转换为张量,张量数据流动输出最终张量,为什么又能转换为特定的文本?

先说结论:张量的数值并不是随便赋值的,是经过模型进行表述的。


1️⃣ 词嵌入(Word Embedding)概述

词嵌入是一种将每个词转化为一个高维的、密集的张量表示的方法。这些张量在经过训练后,会捕捉到词之间的语义关系。

举个简单的例子,在没有经过嵌入之前,“人工智能”和“科技”这两个词在计算机看来是两个完全不同的符号(就是“人工智能”和“科技”这几个字本身)。但是,词嵌入的目标是将这两个词转换成张量,使得计算机可以理解它们之间的相似度。


2️⃣ 中文如何转化为张量

核心步骤是通过一个嵌入层将每个汉字或词语映射到一个 高维空间 中的张量表示。

这个过程通过大规模语料库的训练 来实现。

  • 中文分词:中文是没有空格分隔的,因此首先需要通过分词工具将句子分割成一个个“词”或“子词”。例如,“我喜欢人工智能”可以分成“我”、“喜欢”、“人工智能”。
  • 词张量表示:每个分出的词会映射为一个张量。例如,假设“我”这个词的张量表示是 [0.25, -0.30, 0.80],而“人工智能”这个词的张量表示是 [0.45, 0.60, -0.10]

这些张量并不是随便赋值的,而是通过深度学习模型(比如Word2Vec、GloVe或BERT等)根据大量语料库训练出来的

训练的目标是让相似意义的词语在张量空间中靠得更近,而语义差异较大的词则会距离较远


3️⃣ 词张量生成的一般步骤:

1)语料库训练

  • 首先是需要大量的文本数据作为训练语料库;
  • 语料库可以包含书籍、文章、网页内容等,这些文本将提供词汇的上下文关系和词之间的语义关联

2) 分词与上下文窗口

  • 在训练过程中,模型会将文本分割成单词或子词;
  • 对于每个词,模型会基于其周围的上下文词来训练
    • 例如,假设句子是“我喜欢人工智能”,在训练中,我们可以选择一个词(例如“人工智能”),然后通过它周围的词(例如“我”,“喜欢”)来预测该词

3) 训练模型生成张量

常见的两种训练方法是 CBOW (Continuous Bag of Words)Skip-Gram,它们都是基于上下文词来生成目标词的张量表示。

详细原理讲解请看这篇https://xzl-tech.blog.csdn.net/article/details/140942295

  • CBOW(连续词袋模型):CBOW通过上下文词(周围词汇)来预测目标词。
  • Skip-Gram:Skip-Gram的方式相反,模型通过一个目标词来预测它的上下文词。这种方式在处理低频词时尤其有效。

这两个模型都会通过迭代的方式,不断调整每个词的张量,使得相似的词(在语义上有相关性的词)在张量空间中距离较近,而不相关的词则距离较远。

  1. 嵌入矩阵的学习

通过这些训练,模型会得到一个嵌入矩阵,其中每一行代表一个词的张量。

这些张量会在高维空间中捕捉到词语的语义信 息,并且词语之间的距离(欧几里得距离或余弦相似度)反映了它们语义的相似性。


4️⃣ 为什么要将词转化为张量

将词转化为张量的原因主要有以下几点:

  • 计算机无法理解文本:计算机只能处理数值数据,但自然语言是文本形式。通过将每个词转化为张量,计算机就能在数值空间中进行计算和处理。
  • 高维张量能够表达语义:传统的one-hot encoding方法仅仅是将每个词表示为一个极其稀疏的张量无法捕捉词语之间的关系。词嵌入能够将词的语义表示为一个密集的高维张量,这样相似意义的词语会有相似的张量表示,从而使得模型能够理解词语的含义。
  • 计算效率:词张量不仅能减少维度(相较于one-hot encoding),还可以通过数学运算(如加法、减法、相似度计算等)来捕捉词语之间的关系,提升计算效率。

5️⃣ 每个词的张量是否唯一?如何保证的?

词张量并非绝对唯一,而是依赖于以下几个因素:

  • 上下文的变化:如果使用不同的语料库或不同的训练参数(如窗口大小、维度等),同一个词的张量可能会有所不同。因为词的张量是通过上下文来学习的,语料库不同,词语的上下文信息不同,因此得到的词张量可能会有所差异。
  • 模型的训练方式不同的模型(如Word2Vec与BERT)会生成不同的词张量。Word2Vec生成的是静态词张量,即一个词的张量是固定的;而BERT等基于Transformer的模型生成的是动态词张量,根据上下文的不同,词的张量表示会有所不同。

6️⃣ 那么什么是静态词张量和动态词张量?

静态词张量动态词张量是自然语言处理中两种主要的词张量表示方法。

它们之间的区别主要体现在词张量如何生成、如何使用上下文信息,以及是否根据不同的上下文调整张量


静态词张量指的是每个词在整个语料库中的表示都是固定的,也就是说,不管这个词出现在什么样的上下文中,它的张量表示都是一样的。

静态词张量的生成方法

静态词张量是通过模型对大规模语料库进行训练来生成的,常见的静态词张量生成方法有:

  • Word2Vec:Word2Vec是最著名的生成静态词张量的模型,它通过两种方式来学习词张量:CBOW(Continuous Bag of Words)和Skip-Gram。它会根据上下文中的词语来预测目标词,最终得到每个词的静态张量。
  • GloVe:GloVe(Global Vectors for Word Representation)是另一种学习静态词张量的方法。它基于词语共现矩阵,通过矩阵分解的方式学习词的张量表示。GloVe模型也会为每个词生成一个固定的词张量。

静态词张量的特点

  • 固定的词表示:每个词的张量表示在训练完成后是固定的,即不受上下文的影响。每次遇到“苹果”这个词,它的张量都是一样的,假设它的张量是 [0.45, 0.32, -0.10],无论是在“我吃苹果”还是“苹果公司”中,这个张量都不变。
  • 依赖于大量的语料库:静态词张量的质量和语料库的丰富度密切相关。语料库越丰富,模型学到的词张量表示就越能捕捉到词汇的多种含义和关系。
  • 语义相似性:静态词张量通过在语料库中学习到的共现关系,能够确保语义相似的词具有相似的张量表示。例如,“科技”和“技术”的张量会非常接近,而“科技”和“足球”则会有很大差异。

静态词张量的局限性

  • 无法处理多义词:静态词张量的最大问题是无法处理多义词(Polysemy)。比如,“银行”可以指金融机构,也可以指河岸。在静态词张量中,“银行”这个词的张量是固定的,无论是在金融上下文中还是在自然环境中的含义。
  • 缺乏上下文信息:静态词张量没有根据特定上下文来调整词的表示,这导致了它们无法灵活地适应不同的语境。

动态词张量(Contextual Word Embeddings)

动态词张量是根据上下文来动态生成的词张量。

在这种模型中,同一个词在不同的上下文中会有不同的表示,因此可以根据实际语境来调整词的张量。

动态词张量的一个典型代表是BERT

动态词张量的生成方法

动态词张量的生成依赖于深度学习模型,尤其是基于Transformer架构的预训练语言模型,如 BERT、GPT、RoBERTa、XLNet等。

以下是动态词张量生成的基本步骤:

  • 输入:首先,模型会将输入文本分割成多个token,然后将这些token转化为初步的嵌入表示(即每个词的初步张量)。
  • 上下文建模:然后,模型会利用自注意力机制(Self-Attention)和多层Transformer网络对上下文进行建模。通过这种方式,模型能够根据整个句子的语义来调整每个词的表示。例如,“银行”在“我去银行存钱”和“河岸旁的银行”中会有**不同的词张量表示**。
  • 输出:最终,模型为每个词生成一个动态词张量,这个张量与上下文紧密相关

动态词张量的特点

  • 上下文相关:动态词张量会根据每个词在句子中的上下文来调整其表示。例如,BERT模型生成的“银行”张量会根据它出现在“我去银行存钱”中的语境而与“我在河边的银行走路”中的“银行”表示不同。
  • 可以处理多义词:动态词张量非常适合处理多义词问题,因为它会根据不同上下文生成不同的词张量。例如,BERT模型会为“银行”在金融和自然环境中的不同含义生成不同的词张量。
  • 基于Transformer模型:动态词张量的生成依赖于深度学习中的Transformer模型,通过多层的自注意力机制处理输入的上下文信息,从而为每个词生成丰富的上下文相关表示。

动态词张量的优势

  • 灵活性和准确性:动态词张量能够灵活地根据句子的不同语境来调整词的表示,保证了语义的准确性。即使是同一个词,它也能够根据上下文给出不同的表示。
  • 捕捉复杂的语法和语义:通过深度学习模型和Transformer架构,动态词张量能够捕捉到更复杂的语法和语义信息。尤其在长文本或复杂句子中,模型能够利用上下文中的其他词来准确理解目标词的含义。

动态词张量的局限性

  • 计算复杂度高:生成动态词张量需要大量的计算资源,因为它依赖于复杂的深度学习模型,尤其是大规模的Transformer架构,计算和存储开销较大。
  • 训练和推理时间长:相较于静态词张量,动态词张量的训练和推理过程要耗时得多,因为模型必须根据整个上下文来调整每个词的张量。

静态与动态词张量的比较

特性静态词张量动态词张量
生成方法基于固定的语料库和词汇表学习基于上下文和深度学习模型动态生成
张量是否固定是,每个词的张量是固定的否,词的张量会根据上下文变化
处理多义词能力较弱,无法根据上下文区分多义词很强,可以根据上下文区分多义词
模型复杂度较低,计算开销较小较高,计算和存储开销较大
适用性适用于较简单的任务,如词汇关系分析适用于复杂的任务,如情感分析、问答等
示例模型Word2Vec, GloVeBERT, GPT, RoBERTa, ELMo

小结:

  • 静态词张量:在模型训练后,每个词的张量固定,不会根据上下文进行调整,适合一些简单的任务,如词汇相似性计算。
  • 动态词张量:根据上下文来调整词的表示,能够处理多义词和复杂的语境,适用于更复杂的任务,如情感分析、机器翻译、问答等。动态词张量的生成依赖于深度学习模型,尤其是基于Transformer的模型,因此计算开销较大,但其准确性和灵活性也远超静态词张量。

4、如何保证词张量的质量和合理性

词张量的质量和合理性是通过大量数据的训练和优化来保证的。

词嵌入模型通过不断调整权重和优化目标函数,来确保相似词语的张量尽可能接近。在

此外,语料库的多样性和质量直接影响最终词张量的质量。

大规模、多样化的语料库能帮助模型学习到更多的语言模式,生成更准确的词张量。

5、总结

词张量是通过机器学习模型根据上下文信息将每个词转化为一个高维张量表示的。这种转化使得计算机可以更好地理解文本中的语义关系。每个词的张量不是绝对唯一的,它依赖于训练语料库、模型和上下文。通过优化训练过程和调整模型参数,我们可以得到符合语义关系的词张量,从而更好地处理自然语言任务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/10731.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5. 【Vue实战--孢子记账--Web 版开发】-- 主页UI

我们在实现个人中心的时候简单的搭建了一个主页UI,但是这个主页并不是我们需要的,在这一节我们将一起实现主页UI的搭建。 一、功能 主页UI的原型如下: 首页UI原型包括左侧菜单和顶部header,左侧菜单包含多个功能模块的链接:首页…

Spring Boot 实例解析:从概念到代码

SpringBoot 简介: 简化 Spring 应用开发的一个框架整合 Spring 技术栈的一个大整合J2EE 开发的一站式解决方案优点:快速创建独立运行的 Spring 项目以及与主流框架集成使用嵌入式的 Servlet 容器,应用无需打成 war 包,内嵌 Tomcat…

精准化糖尿病知识问答(LLM+机器学习预测模型)

精准化糖尿病知识问答(LLM机器学习预测模型) 关键词:精准化;糖尿病(慢病) 这里主要是对APP部署途径的叙述,在这之前讨论两个问题: 慢性疾病适用什么样的预测模型。对于糖尿病等慢病…

本地部署DeepSeek

1、打开ollama,点击“Download” Ollamahttps://ollama.com/ 2、下载完成后,安装ollama.exe 3、安装完成后,按"windowsR",输入"cmd” 4、输入“ollama -v”,查看版本,表示安装成功 5、返回ollama网页&#xff0c…

“harmony”整合不同平台的单细胞数据之旅

其实在Seurat v3官方网站的Vignettes中就曾见过该算法,但并没有太多关注,直到看了北大张泽民团队在2019年10月31日发表于Cell的《Landscap and Dynamics of Single Immune Cells in Hepatocellular Carcinoma》,为了同时整合两类数据&#xf…

【后端开发】字节跳动青训营Cloudwego脚手架

Cloudwego脚手架使用 cwgo脚手架 cwgo脚手架 安装的命令: GOPROXYhttps://goproxy.cn/,direct go install github.com/cloudwego/cwgolatest依赖thriftgo的安装: go install github.com/cloudwego/thriftgolatest编辑echo.thrift文件用于生成项目&…

Flutter_学习记录_Tab的简单Demo~真的很简单

1. Tab的简单使用了解 要实现tab(选项卡或者标签视图)需要用到三个组件: TabBarTabBarViewTabController 这一块,我也不知道怎么整理了,直接提供代码吧: import package:flutter/material.dart;void main() {runApp(MyApp());…

PyQt6医疗多模态大语言模型(MLLM)实用系统框架构建初探(上.文章部分)

一、引言 1.1 研究背景与意义 在数字化时代,医疗行业正经历着深刻的变革,智能化技术的应用为其带来了前所未有的发展机遇。随着医疗数据的指数级增长,传统的医疗诊断和治疗方式逐渐难以满足现代医疗的需求。据统计,全球医疗数据量预计每年以 48% 的速度增长,到 2025 年将…

华硕笔记本装win10哪个版本好用分析_华硕笔记本装win10专业版图文教程

华硕笔记本装win10哪个版本好用?华硕笔记本还是建议安装win10专业版。Win分为多个版本,其中家庭版(Home)和专业版(Pro)是用户选择最多的两个版本。win10专业版在功能以及安全性方面有着明显的优势&#xff…

Longformer:处理长文档的Transformer模型

Longformer:处理长文档的Transformer模型 摘要 基于Transformer的模型由于自注意力操作的二次复杂度,无法处理长序列。为了解决这一限制,我们引入了Longformer,其注意力机制与序列长度呈线性关系,使其能够轻松处理数…

第5章 公共事件

HarmonyOS通过公共事件服务为应用程序提供订阅、发布、退订公共事件的能力。 5.1 公共事件概述 在应用里面,往往会有事件。比如,朋友给我手机发了一条信息,未读信息会在手机的通知栏给出提示。 5.1.1 公共事件的分类 公共事件&#xff08…

(三)QT——信号与槽机制——计数器程序

目录 前言 信号(Signal)与槽(Slot)的定义 一、系统自带的信号和槽 二、自定义信号和槽 三、信号和槽的扩展 四、Lambda 表达式 总结 前言 信号与槽机制是 Qt 中的一种重要的通信机制,用于不同对象之间的事件响…

【开源免费】基于SpringBoot+Vue.JS体育馆管理系统(JAVA毕业设计)

本文项目编号 T 165 ,文末自助获取源码 \color{red}{T165,文末自助获取源码} T165,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

three.js+WebGL踩坑经验合集(6.1):负缩放,负定矩阵和行列式的关系(2D版本)

春节忙完一轮,总算可以继续来写博客了。希望在春节假期结束之前能多更新几篇。 这一篇会偏理论多一点。笔者本没打算在这一系列里面重点讲理论,所以像相机矩阵推导这种网上已经很多优质文章的内容,笔者就一笔带过。 然而关于负缩放&#xf…

[论文阅读] (37)CCS21 DeepAID:基于深度学习的异常检测(解释)

祝大家新春快乐,蛇年吉祥! 《娜璋带你读论文》系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢。由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正&#xff0…

AutoDL 云服务器:xfce4 远程桌面 终端乱码 + 谷歌浏览器

/usr/bin/google-chrome-stable --no-sandbox --proxy-server"127.0.0.1:7890" 打开新的PowerShell ssh -p 54521 rootconnect.yza1.seetacloud.com /opt/TurboVNC/bin/vncserver -kill :1 rm -rf /tmp/.X1* USERroot /opt/TurboVNC/bin/vncserver :1 -desktop …

Contrastive Imitation Learning

机器人模仿学习中对比解码的一致性采样 摘要 本文中,我们在机器人应用的对比模仿学习中,利用一致性采样来挖掘演示质量中的样本间关系。通过在排序后的演示对比解码过程中,引入相邻样本间的一致性机制,我们旨在改进用于机器人学习…

DeepSeek 遭 DDoS 攻击背后:DDoS 攻击的 “千层套路” 与安全防御 “金钟罩”

当算力博弈升级为网络战争:拆解DDoS攻击背后的技术攻防战——从DeepSeek遇袭看全球网络安全新趋势 在数字化浪潮席卷全球的当下,网络已然成为人类社会运转的关键基础设施,深刻融入经济、生活、政务等各个领域。从金融交易的实时清算&#xf…

【二叉搜索树】

二叉搜索树 一、认识二叉搜索树二、二叉搜索树实现2.1插入2.2查找2.3删除 总结 一、认识二叉搜索树 二叉搜索树(Binary Search Tree,简称 BST)是一种特殊的二叉树,它具有以下特征: 若它的左子树不为空,则…

FreeRTOS学习 --- 中断管理

什么是中断? 让CPU打断正常运行的程序,转而去处理紧急的事件(程序),就叫中断 中断执行机制,可简单概括为三步: 1,中断请求 外设产生中断请求(GPIO外部中断、定时器中断…