大模型概述-定义/分类/训练/应用

news2024/11/17 21:38:55

大模型概述

随着时代的发展, 大模型各个领域的应用正在不断扩大. 本文尽力梳理各种材料, 将从概念定义, 类型分类, 训练以及应用等方面对大模型进行一个简要的概述.

如果你想了解大模型但是却缺乏基础的知识或者觉得无从下手, 那么阅读该文章可能对你有所帮助.

如果想了解更多, 可以查阅我博客中的其他文章: https://dingyuqi.com

openAI-logo

1. 概念定义

1.1 人工智能主要概念

1.1.1 应用领域

请添加图片描述
图1.1

1.1.2 算法

请添加图片描述

图1.2 Relationship among deep reinforcement learning, deep learning, reinforcement learning, supervised learning, unsupervised learning, machine learning, and, artificial intelligence. Deep learning and deep reinforcement learning are addressing many classical AI problems 1

机器学习(Machine Learning, ML): 机器学习是AI的一个核心子领域, 它让机器可以通过数据来学习和预测.

  1. 监督学习: 学习带标签的数据, 并预测未见数据的标签.
    1. 线性回归(Linear Regression)
    2. 支持向量机(Support Vector Machines)
    3. 决策树(Decision Trees)
    4. 随机森林(Random Forest)
  2. 无监督学习: 处理不带标签的数据, 常用于聚类和降维.
    1. K均值(K-Means)
    2. 层次聚类(Hierarchical Clustering)
    3. 主成分分析(PCA)
  3. 强化学习: 智能体通过与环境互动并接收奖励或惩罚来学习
    1. Q-learning
    2. Deep Q Networks(DQN)
    3. Actor-Critic 方法
    4. Proximal Policy Optimization(PPO)
  4. 深度学习: 主要使用神经网络, 尤其是深层网络.
    1. 卷积神经网络(CNN)
    2. 循环神经网络(RNN)
    3. 长短时记忆网络(LSTM)
    4. Transformer 结构, 如BERT, GPT等

2. 大模型的定义

"大模型"这个概念比较难定义, 到目前为止没有广泛接受的, 官方的定义. 其对应的英文单词为: “foundation model”, 又时也称为: “general-purpose AI”“GPAI”. 指可以执行一系列的常规任务, 例如文本合成, 图像处理以及音频合成等的模型.

以下是一些定义:

  1. On the Opportunities and Risks of Foundation Models(2021)

    2021年8月份, 斯坦福大学教授李飞飞和100多位学者联名发表一份200多页的研究报告《On the Opportunities and Risk of Foundation Models》, 深度地综述了当前大规模预训练模型面临的机遇和挑战.

    AI is undergoing a paradigm shift with the rise of models (e.g., BERT, DALL-E, GPT-3) that are trained on broad data at scale and are adaptable to a wide range of downstream tasks. We call these models foundation models to underscore their critically central yet incomplete character.

    随着模型(例如BERT, DALL-E, GPT-3)的兴起, 人工智能正在经历范式转变, 这些模型在大规模上对广泛的数据进行训练, 并适应广泛的下游任务. 我们称这些模型为基础模型, 以强调其关键的核心但不完整的特征.

  2. Nvidia: What Are Foundation Models?

    Foundation models are AI neural networks trained on massive unlabeled datasets to handle a wide variety of jobs from translating text to analyzing medical images.

    基础模型是在大量未标记数据集上训练的 AI 神经网络, 用于处理从翻译文本到分析医学图像的各种工作.

  3. 大模型的5个关键特征

    1. 预训练: 使用大数据和大规模计算, 以便无需任何额外训练即可使用
    2. 通用: 一个模型可以用于许多任务
    3. 适应性强: 使用叙述文本作为模型输入
    4. 大: 例如GPT-3 有1750亿个参数. 但是随着参数的不断增长, 这个标准也在不断提高.
    5. 自我监督: 无提供特定标签

3. 大模型的类型

请添加图片描述
大模型大致可分为三种类型: 语言模型、计算机视觉模型和生成模型.2

3.1 语言模型
  1. BERT

    由Google开发的BERT是一种预先训练的语言模型, 能够理解自然语言文本的细微差别. 根据谷歌的说法, BERT在各种自然语言处理任务(包括问答, 翻译, 情感分析和预测文本)上优于以前基于递归神经网络(RNN)的语言模型

  2. GPT3

    由OpenAI开发的GPT-3是一个更大的语言模型, 已经在一个非常大的数据集上进行了训练. GPT-3 拥有 1750 亿个参数, 可以生成与人类编写的文本无法区分的文本. 该模型已用于各种应用, 包括聊天机器人和虚拟助手.

  3. T5

    T5是Google开发的最新语言模型, 它采用不同的自然语言处理方法. T5 不是针对 BERT 等特定任务进行微调, 而是一种通用语言模型, 经过训练以执行广泛的任务, 包括文本分类、问答和摘要等. T5 使用统一的文本到文本格式, 这使其能够轻松适应各种自然语言处理任务.

3.2 视觉模型
  1. ResNet

    由Microsoft开发的ResNet是一个深度神经网络, 能够以极高的精度对图像进行分类. 该模型已用于各种应用, 包括自动驾驶汽车的图像识别

  2. EfficientNet

    由Google开发的EfficientNet是另一种计算机视觉模型, 在各种图像分类任务上取得了最先进的结果. 该模型以其效率而著称, 与其他领先的计算机视觉模型相比, 所需的参数要少得多.

  3. YOLO (You Only Look Once)

    YOLO是一种实时物体检测系统, 能够以非常高的精度检测图像中的物体. 该模型已用于各种应用, 包括自动驾驶汽车和安全系统.

3.3 生成模型
  1. DALL-E

    由OpenAI开发的DALL-E是一种生成模型, 能够从自然语言提示创建图像. 该模型引起了艺术界的极大兴趣, 因为它能够生成高度逼真和富有想象力的图像.

  2. GANs

    由Ian Goodfellow开发的GAN(生成对抗网络)是一种生成模型, 能够通过使两个神经网络相互对抗来生成新数据. 谷歌的BigGAN就是这种模型的一个例子, 它在一个巨大的图像数据集上进行了训练, 使其能够创造出具有令人难以置信的细节和真实感的生成艺术. BigGAN 已广泛用于广告、营销, 甚至用于生成虚拟视频游戏环境.

  3. VAEs

    VAEs 是一种生成模型, 能够通过学习数据集的底层结构来生成新数据. 这些模型已用于降维和异常检测等应用.

2. 关于训练 3

2.1 通用步骤

  1. 收集数据集

    基础模型需要在非常大的数据集(例如文本或代码)上进行训练. 数据集应尽可能多样化, 并且应涵盖您希望模型能够执行的任务.

  2. 准备数据集

    需要先准备数据集, 然后才能用于训练模型. 这包括清理数据、删除任何错误以及以模型可以理解的方式设置数据的格式.

  3. 打标记

    标记化是将文本分解为单个标记的过程. 这对于基础模型是必需的, 因为它们需要能够理解文本中的各个单词和短语.

  4. 配置训练过程

    配置训练过程以指定超参数、训练算法体系结构和将使用的计算资源.

  5. 训练模型

    将使用指定的训练模型体系结构在数据集上训练模型. 这可能需要很长时间, 具体取决于模型的大小和数据量.

  6. 评估模型

    训练模型后, 您需要在保留数据集上评估其性能. 这将帮助您确定模型是否按预期执行.

  7. 部署模型

    对模型的性能感到满意后, 可以将其部署到生产环境. 这意味着使模型可供用户使用, 以便他们可以使用它来执行任务.

什么是迭代?
  1. 向前传播(forward)
    简单理解就是将上一层的输出作为下一层的输入, 并计算下一层的输出, 一直到运算到输出层为止.

    请添加图片描述

    用矩阵来表示:

    z ( l ) = W ( l ) a ( l − 1 ) + b ( l ) z^{(l)} = W^{(l)}a^{(l-1)}+b^{(l)} z(l)=W(l)a(l1)+b(l)

    a ( l ) = σ ( z ( l ) ) a^{(l)}=\sigma(z^{(l)}) a(l)=σ(z(l))

    其中 σ \sigma σ为激活函数, 如 Sigmoid, ReLU, PReLU等.

  2. 计算损失

    模型输出完成后, 接下来就是要评估模型的表现. 这是通过计算损失函数(Loss Function)来实现的. 损失函数量化了模型预测和真实标签之间的差距. 常见的损失函数包括交叉熵损失(用于分类问题)和均方误差(用于回归问题)

    损失函数的计算通常表示为: L o s s = f ( M o d e l O u t p u t , T r u e L a b e l ) Loss=f_{(Model Output,True Label)} Loss=f(ModelOutput,TrueLabel)

  3. 反向传播(backward)

    计算出损失之后, 接下来的任务是更新模型的参数以便减少这个损失. 反向传播是一种高效计算损失函数关于每个参数梯度的方法.

    1. 计算梯度: 从输出层开始, 计算损失函数关于各层参数的偏导数(梯度)
    2. 更新参数: 用这些计算出的梯度来更新模型参数. 参数的更新通常使用优化算法(如梯度下降) N e w P a r a m e t e r = O l d P a r a m e t e r − α × G r a d i e n t New Parameter= Old Parameter−\alpha \times Gradient NewParameter=OldParameterα×Gradient

2.2 训练算法的目标 4

利用海量的数据(Leveraging broad data)

当前网络上产生的海量数据, 以多种形式出现. 包括文本, 图像, 录音, 视频和机器人传感器. 由于这些数据缺乏额外的标注, 所以当前研究都集中在设计自我监督的算法, 利用每种类型的独特结构的数据产生基础模型的训练信号.

领域完备性(Domain completeness)

大模型需要解决的一个重要目标就是需要对领域中的下游任务具有广泛而有用的能力. 这个属性对于大模型的通用性至关重要. 但是哪些任务会影响领域完备性并不是显而易见的, 甚至如何去评估一个模型的广泛性也是困难的.

扩展和计算效率(Scaling and compute efficiency)

自我监督的算法的兴起是的模型的大小和计算资源瓶颈日益凸显. 训练的效率在不同的设计上可能会大有不同, 因此, 训练研究人员的一个主要目标是设计具有更丰富的训练信号的训练目标, 从而使模型学习更快, 获得更强的能力.

2.3 重要的设计选择

抽象的级别

一个基本问题是基础模型的输入表示应该是什么.

  1. 一种选择是在原始字节级别对输入进行建模. 但是, 这种高维数可能会导致模型专注于预测输入的语义较少的方面, 从而减慢其获得更普遍有用的功能的速度. 并且在Transformer中其计算成本随输入大小呈二次增长.

  2. 另一种选择是使用领域知识来减少模型的输入空间——此类策略包括"块向量表示"(patch embedding) 以及固定或学习的标记化 . 这些方法可能会减轻生成方法面临的一些挑战, 但代价是它们可能会抛弃输入中可能有用的信息.

生成模型与判别模型
  1. 生成模型
    试图学习数据的联合概率分布 P ( X , Y ) P(X, Y) P(X,Y), 其中 X X X 是输入特征, Y Y Y是标签. (GMM, Naive Bayes, HMM, GANs)

    1. 自回归基础模型: 在生成序列(如文本或音乐)时, 每一个元素都是基于前面所有已生成元素的函数
    2. 去噪基础模型: 这类模型通常会先接收一个被添加噪声或以某种方式损坏的输入, 然后尝试重构或生成一个“干净”的版本.

虽然生成训练方法有其优点, 但一些判别方法也最近开始受到关注.

  1. 判别模型试图学习条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX), 即在给定输入 X X X的情况下, 输出 Y Y Y的概率.(逻辑回归, 支持向量机SVM, 决策树, 随机森林, CNN)

通常在分类任务中表现更好, 计算效率更高. 但是对数据要求量更大, 数据稀少时不如生成模型表现好.

更好地理解生成和判别训练之间的权衡, 以及捕获两种方法的最佳之处, 仍然是未来研究的有趣方向.

捕获多模态关系

另一个日益重要的研究领域是捕获多种类型数据之间的关系. 这意味着根据情境和模型设计者的目标, 具体内容可能有所不同. 例如, CLIP [Radford et al. 2021] 和 ViLBERT [Lu et al. 2019a] 都是多模态视觉-语言模型, 但在多模态的具体实现方式上有所不同. 前者将图像和文本分别编码为向量, 使得只有单一模态样本的用户也能检索、评分或分类来自另一模态的样本. 后者则在模型的早期阶段就开始联合处理图像和文本, 这有助于支持诸如视觉问题回答这样的下游应用, 在这些应用中, 需要对一对相关的图像和文本(例如, 图像及其相关问题)进行推理. 多模态基础模型仍然是一个崭新的研究领域;关于模型可以以何种不同方式实现多模态, 以及这些额外的模态能带来哪些能力, 还有很多未探索的问题.

挑战

  1. 数据不平衡: 不同模态的数据量和质量可能有很大的差异.
  2. 复杂性: 多模态信息通常意味着更高的计算和模型复杂性.
  3. 语义鸿沟: 不同模态之间可能存在语义鸿沟, 使得捕获它们之间的内在关联变得困难.

2.4 未来的方向 4

解决特异性

目前在自然语言处理, 计算机视觉和语音处理中盛行不同的方法. 这有两个主要缺点: 首先, 这些不同的技术使得掌握这些方法中每种方法的共同线索和科学原理变得具有挑战性. 其次, 这种领域特异性要求为每个新领域从头开始开发新的基础模型训练方法, 包括医学、科学和新的多模态设置.

获得丰富的训练信号

很明显, 并非所有训练目标都是平等的——有些训练目标比其他目标效率更高, 从而转化为给定计算预算下功能更强大的基础模型. 是否有比目前已知的训练方法更有效的训练方法?如果是这样, 我们如何找到它们?

基础模型的目标导向训练

我们能否训练基础模型, 其中理解和可靠地执行复杂世界中目标的能力是模型训练目标的一部分?专注于开发一般能力将这个方向与通过强化学习使现有基础模型适应特定任务的目标区分开来

3. 行业应用 4

3.1 医疗和生物医学

医疗保障的机会
对医院:
  1. 可以改善医院提供护理的效率和准确率. 如用于诊断/治疗的自动辅助系统、患者记录摘要和患者问题的回答.[Davenport and Kalakota 2019; Nie et al. 2018; Wang et al. 2021b]
  2. 特别是在 COVID-19 等紧急大流行危机中, 快速诊断/筛查(例如, 胸部 X 射线图像的自动分析)以及患者和公众的自动问答(例如, 症状检查和护理)和公众(例如, 疾病预防)对于减少疾病传播和为危重患者分配医疗保健资源、挽救更多生命至关重要 [Lalmuanawma et al. 2020].
  3. 基础模型可以提高提供者护理的效率和准确性. 医疗保健提供者花费不必要的时间来编辑电子健康记录 (EHR) [Kocher 2021]
  4. 可预防的医疗错误(例如, 再入院、手术错误)会导致医疗保健浪费 [Shrank 等人, 2019 年;沙阿等人, 2020 年]
对患者:
  1. 大模型可提供门诊预约和相关信息. [Bates 2019]
  2. 回答患者相关问题.[Demner-Fushman et al. 2020]
  3. 药物的相关解答(文本, 图片等多模态) [Chaix et al. 2019]
  4. 对大型流行病等医疗问题的问答系统(特别是COVID-19) [Bharti et al. 2020; Herriman et al. 2020]
生物医学的机会
  1. 基础模型可以促进生物医学研究, 例如药物的发现和对疾病的理解, 最终转化为改进的医疗保健解决方案[Hanney等人, 2015]
  2. 基础模型具有强大的生成能力(例如, GPT-3 中的连贯文本生成), 这可以帮助生物医学研究中的生成任务, 例如生成实验方案(临床试验)和根据现有数据设计有效的分子(药物发现)[Kadurin 等人, 2017 年;哈勒等人, 2019 年]
  3. 基础模型有可能整合医学中的各种数据模式, 从而能够从多个尺度(使用分子、患者和人口水平的数据)和多个知识来源(使用成像、文本和化学描述)研究生物医学概念(例如疾病). 这促进了生物医学发现, 如果使用单一模态数据很难获得[Lanckriet等人, 2004年;Aerts 等人, 2006 年;孔等人, 2011;里贝罗等人, 2012年;王等. 2014, 2015c;鲁伊斯等人, 2020 年;吴等人, 2021h]
  4. 基础模型还支持跨模式的知识转移. Lu 等人 [2021a] 展示了如何在自然语言(一种数据丰富的模态)上训练的变压器模型如何适应其他基于序列的任务, 例如蛋白质折叠预测, 这是生物医学中一项长期研究的预测任务 [Jumper 等人, 2020]
挑战与风险
  1. 多模态.

    医学数据是高度多模态的, 具有各种数据类型(文本、图像、视频、数据库、分子)、规模(分子、基因、细胞、组织、患者、人口)和风格(专业和非专业语言). 当前的自我监督模型是针对每种模式开发的(例如, 文本 、图像 、基因、蛋白质 ), 并且不会共同学习不同的模式. 为了从这些不同的多模态医学数据中学习跨模态和跨模态信息, 我们需要研究基础模型训练中的特征级和语义级融合策略. 如果做得有效, 这有可能统一生物医学知识并促进发现

  2. 可解释性.

    可解释性——为决策提供证据和逻辑步骤——在医疗保健和生物医学中至关重要, 并且根据《通用数据保护条例》(GDPR) 是强制性的. 例如, 在诊断和临床试验中, 必须将患者的症状和时间相关性解释为证据. 这有助于解决系统与人类专家之间潜在的分歧. 医疗保健中的知情同意也需要可解释性. 然而, 当前基础模型的训练目标不包括可解释性, 需要未来朝这个方向进行研究. 合并知识图谱可能是进一步提高模型可解释性的一步

  3. 法律和道德法规.

  4. 外推法.

    生物医学发现的过程涉及外推. 例如, 基础模型必须能够快速适应新的实验技术(例如, 新的测定方法, 新的成像技术, 例如高分辨率显微镜)或新的设置(例如, 新的目标疾病, 例如COVID-19). 利用现有数据集并推断到新设置的能力是生物医学中机器学习的一个关键挑战. 虽然 GPT-3 表现出一些外推行为(例如, 生成以前从未见过的新文本), 但其机制尚不清楚, 仍处于起步阶段. 需要进一步的研究来提高基础模型的外推能力, 特别是在考虑医疗保健和生物医学固有的各种数据模式和任务时, 但在当前的 GPT-3 和相关模型中通常不研究.

3.2 法律

机会

大模型独一无二的优势

  1. 有限注释学习:

    注释的成本数据非常高. 通常, 制作高质量标签的专业知识只能在律师身上找到, 他们每小时收费数百美元. 即使在获得标签之后, 某些数据也可能是错误的, 敏感的, 不能汇集在一起训练一个大的语言模型. 鉴于最近的进展在few-shot学习中[Brown et al. 2020], 基础模型是最有前途的路径之一用于具有有限注释的学习模型.

  2. 大量历史数据:

    法律决策需要不同尺度的背景:所有历史知识判决和标准, 判例法的知识, 仍然适用于目前, 和了解手头个案的细微差别. 基础模型是有可能学习历史和法律背景的共同表征为个别情况建模的语言能力和精度.

挑战与风险
  1. 长文本的叙述.

    通常美国法庭使用的陈述文件长度在4,700字到15,000字之间. 一个案件回溯文件通常达到20,000到30,000字. 目前大模型对于长文本的生成无法达到这个长度.

  2. 检索, 概念漂移, 论点形成和逻辑推理.

    目前大模型对于论点的逻辑推理部分能力较弱.

  3. 准确度.

    基础模型在这个过程中制造虚假事实, 这是一个已经存在的问题出现在当前的模型中[Gretz et al. 2020;Zellers et al. [2019b]. 特异性和真实性是两回事, 在法律环境中尤为重要, 不精确的陈述可能会导致激烈的、意想不到的后果和虚假陈述可能导致对律师的制裁.

  4. 适应性.

    不同的法律任务可能需要不同的训练过程, 自适应目前较差.

3.3 教育

机会

请添加图片描述请添加图片描述

挑战与风险
  1. 判断学生的作业是否是由AI生成的.

    VSCode推出了CoPilot, 这使得编程初学者的体检受到影响.

  2. 隐私和安全

    在美国, 学生信息尤其是13岁一下的儿童尤其重要.FERPA限制了教师分享学生作业, 这可能直接影响用于培训和评估基础模型的数据的主动性. 包括基础模型的权重是否会以某种方式泄露数据.n [Nasr et al. 2018; Song et al. 2017]


  1. 图来自DEEP REINFORCEMENT LEARNING中的Figure2 ↩︎

  2. Foundation Models 101: A step-by-step guide for beginners ↩︎

  3. What it Takes to Train a Foundation Model ↩︎

  4. On the Opportunities and Risks of Foundation Models(2021) ↩︎ ↩︎ ↩︎

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SQL Server数据库的组成

《SQL Server 2022从入门到精通(视频教学超值版)》图书介绍-CSDN博客 对于数据库的概念,没有一个完全固定的定义,随着数据库历史的发展,定义的内容也有很大的差异,其中一种比较普遍的观点认为,…

Halcon OCR字符识别(极坐标转换,字符识别)

Halcon OCR字符识别(极坐标转换,字符识别) 代码 * 1.加载图片 *************************************************** dev_close_window () read_image (Image, ./img) get_image_size (Image, Width, Height) dev_get_window (WindowHandle…

153. 寻找旋转排序数组中的最小值(中等)

153. 寻找旋转排序数组中的最小值 1. 题目描述2.详细题解3.代码实现3.1 Python3.2 Java 1. 题目描述 题目中转:153. 寻找旋转排序数组中的最小值 2.详细题解 如果不考虑 O ( l o g n ) O(log n) O(logn)的时间复杂度,直接 O ( n ) O(n) O(n)时间复杂…

Springboot+Vue3开发学习笔记《1》

SpringbootVue3开发学习笔记《1》 博主正在学习SpringbootVue3开发,希望记录自己学习过程同时与广大网友共同学习讨论。 一、前置条件 博主所用版本: IDEA需要破解,破解工具链接容易挂,关注私聊我单发。 Spring Boot是Spring提…

「媒体邀约」天津媒体资源?媒体邀约宣传报道

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 媒体宣传加速季,100万补贴享不停,一手媒体资源,全国100城线下落地执行。详情请联系胡老师。 天津拥有丰富的媒体资源,利用这些资源进行有效…

C语言 -- 函数

C语言 -- 函数 1. 函数的概念2. 库函数2.1 标准库和头文件2.2 库函数的使用方法2.2.1 功能2.2.2 头文件包含2.2.3 实践2.2.4 库函数文档的一般格式 3. 自定义函数3.1 函数的语法形式3.2 函数的举例 4. 形参和实参4.1 实参4.2 形参4.3 实参和形参的关系 5. return 语句6. 数组做…

7.2 数据结构

作业 #include <stdio.h> #include <string.h> #include <stdlib.h> struct student {char name[32];int age;double score; }s[3];void stu_input(struct student *s,int n) {printf("请输入%d个学生的信息&#xff08;姓名&#xff0c;年龄&#xff0…

Python爬虫系列-让爬虫自己写爬虫(半自动化,代替人工写爬虫)

现在的PC、手机客户端等终端设备大量使用了网页前后端技术&#xff0c;另外主流的网站也会经常会更新&#xff0c;导致以前一个月更新一次爬虫代码&#xff0c;变成了天天需要更新代码&#xff0c;所以自动化爬虫技术在当前就显得特别重要&#xff0c;最近我也是在多次更新某个…

Linux高并发服务器开发(十一)UDP通信和本地socket通信

文章目录 1 TCP和UDP的区别2 UDPAPI流程服务端流程客户端流程 代码服务端客户端 3 本地socket通信服务端客户端客户端代码 1 TCP和UDP的区别 2 UDP API 流程 服务端流程 客户端流程 代码 服务端 #include<sys/socket.h> #include<stdio.h> #include<arpa/in…

R语言学习,入门

我是一名6年开发经验的程序员&#xff0c;后端&#xff0c;大数据&#xff0c;前端都会。 现在加入了医疗行业&#xff0c;要做数据分析&#xff0c;前同事的实验室生信专业的&#xff0c;用的是R语言&#xff0c;为了跑通他的程序。就来学一下吧&#xff0c;看了一下好像挺简…

【网络安全的神秘世界】SQL注入(下)

&#x1f31d;博客主页&#xff1a;泥菩萨 &#x1f496;专栏&#xff1a;Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 3.7 二次注入 不好挖这个漏洞&#xff0c;需要搞懂业务逻辑关系 二次注入通常是指在存入数据库时做了过滤&#xff0c;但是取…

介绍东芝TB62262FTAG芯片:高性能两相双极步进电机驱动器

在当今快速发展的科技领域&#xff0c;高性能的电机驱动器对于许多工程项目来说至关重要。东芝的TB62262FTAG这款两相双极步进电机驱动器采用PWM斩波技术&#xff0c;集成了多个先进功能&#xff0c;适用于各种工业和消费类应用。本文将详细介绍TB62262FTAG的参数、性能、优势及…

JVM原理(十三):JVM虚拟机类类加载器与双亲委派模型

1. 类加载器 Java虛拟机设计团队有意把类加载阶段中的“通过一个类的全限定名来获取描述该类的二进制字节流"这个动作放到Java虚拟机外部去实现&#xff0c;以便让应用程序自己决定如何去获取所需的类。实现这个动作的代码被称为“类加载器”(Class Loader)。 对于任意一…

任天堂称未来第一方游戏不会使用生成式AI

虽然EA、育碧、暴雪、Embracer等西方游戏厂商都大力支持生成式AI技术&#xff0c;但日本老牌游戏公司任天堂并不会追随这一步伐。任天堂已经确认该公司未来的第一方游戏不会使用生成式AI技术。 在公司最近的投资人问答会上&#xff0c;任天堂描绘了公司未来游戏愿景。在谈到AI技…

00 如何根据规律在变化中求发展?

你好&#xff0c;我是周大壮。目前&#xff0c;我已在搜索推荐等算法技术领域从事研发近 10 年&#xff0c;做过诸多流量分发领域的算法技术工作。 如今任公司同城的算法架构师、技术委员会人工智能分会委员、公司本地服务事业群算法策略部负责人&#xff0c;我主要负责公司集…

从搜索框的提示词中再探防抖和节流

前言 最近逛掘金时&#xff0c;看到了一篇文章。发现是我之前写过的一篇文章主题是防抖和节流的&#xff0c;看防抖时没感觉哪里不一样&#xff0c;但是当我看到节流时发现他的节流怎么这么繁琐(・∀・(・∀・(・∀・*)&#xff1f; 抱着疑惑的想法&#xff0c;我仔细拜读了这…

C语言版,链表头插法与尾插法

最近又开始看数据结构与算法&#xff0c;看到这个头插法还真的是头插法&#xff0c;头都搞疼了&#xff0c;略微理解了一些。尾插法还好一些&#xff0c;比较好理解&#xff0c;但是如果深入理解还是可以理解。 头插法核心代码&#xff1a; head->next NULL; s->next h…

C++11新特性【下】{lambda表达式、可变模板参数、包装器}

一、lambda表达式 在C98中&#xff0c;如果想要对一个数据集合中的元素进行排序&#xff0c;可以使用std::sort方法。如果待排序元素为自定义类型&#xff0c;需要用户定义排序时的比较规则&#xff0c;随着C语法的发展&#xff0c;人们开始觉得上面的写法太复杂了&#xff0c…

Linux高并发服务器开发(十)反应堆模型和线程池模型

文章目录 1 epoll反应堆2 线程池流程代码 3 复杂版本线程池代码 1 epoll反应堆 文件描述符 监听事件 回调函数 进行封装 创建socket设置端口复用绑定监听创建epoll树将监听文件描述符lfd上epoll树&#xff0c;对应的事件节点包括&#xff1a;文件描述符&#xff0c;事件epoll…

ASP.NET Core Blazor 5:Blazor表单和数据

本章将描述 Blazor 为处理 HTML 表单提供的特性&#xff0c;包括对数据验证的支持。 1 准备工作 继续使用上一章项目。   创建 Blazor/Forms 文件夹并添加一个名为 EmptyLayout.razor 的 Razor 组件。本章使用这个组件作为主要的布局。 inherits LayoutComponentBase<div …