生成式AI - 关键技术历史和发展

news2024/12/22 18:58:59

✈️当谈及生成式人工智能(AI),我们进入了一个令人惊叹的领域,它不仅改变了我们与技术的互动方式,而且极大地推动了人工智能的发展。通过模仿人类创造力和想象力的能力,生成式AI引领着我们走向了全新的可能性。让我们一起回顾生成式AI的历史和发展,探索它如何从最初的概念逐渐演化为我们日常生活中的重要组成部分。

生成式模型在人工智能领域有着悠久的历史。隐马尔可夫模型(Hidden Markov Models,HMMs)和高斯混合模型(Gaussian Mixture Models,GMMs)是在上世纪50年代首次开发出来的。这些模型生成了序列数据,如语音和时间序列。然而,生成式模型直到深度学习的出现后才取得了显著的性能改进。

生成式AI - 关键技术历史和发展

  • 自然语言处理(NLP)
  • 计算机视觉(CV)
  • 变压器(Transformers)
  • 🎙🕺🤟🏀让我们按时间顺序来谈谈这些模型。
    • N-Gram
    • 长短期记忆网络(LSTM)
    • 变分自编码器(VAEs)
    • 门控循环单元(GRU)
    • Show-Tell
    • 生成对抗网络(GAN)
    • StackGAN
    • StyleNet
    • Vector Quantised-Variational AutoEncoder (VQ-VAE)
    • Transformers
    • BiGAN
    • RevNet
    • StyleGAN
    • ELMo
    • BERT
    • GPT-2
    • Context-Aware Visual Policy (CAVP)
    • Dynamic Memory Generative Adversarial Network (DM-GAN)
    • BigBiGAN
    • MoCo
    • VisualBERT
    • ViLBERT(Vision-and-Language BERT)
    • UNITER(UNiversal Image-TExt Representation)
    • BART
    • GPT-3
    • T5
    • DDPM
    • ViT
    • CLIP
    • ALBEF
    • VQ-GAN
    • DALL-E
    • BLIP
    • DALL-E 2
    • OPT(Open Pre-trained Transformers)
    • Sparrow
    • ChatGPT
    • BLIP2
    • GPT-4

自然语言处理(NLP)

生成句子的最早方法之一是N-gram语言建模,通过学习单词分布,然后搜索最佳序列。然而,这种方法只适用于生成短句子。

为了解决这个问题,引入了循环神经网络(Recurrent Neural Networks,RNNs)用于语言建模任务。RNNs可以模拟相对较长的依赖关系,并且可以生成更长的句子。后来,发展出了长短期记忆网络(Long Short-Term Memory,LSTM)和门控循环单元(Gated Recurrent Unit,GRU),它们使用门控机制来在训练过程中控制记忆。这些方法可以处理大约200个标记。

计算机视觉(CV)

计算机视觉领域中传统的图像生成方法依赖于纹理合成和映射技术。这些方法使用手动设计的特征,在生成复杂多样的图像方面存在局限性。

然而,在2014年,一种名为生成对抗网络(Generative Adversarial Networks,GANs)的新方法被引入,通过在各种应用中产生令人印象深刻的结果,显著改善了图像生成。还开发了其他方法,如变分自编码器(Variational Autoencoders,VAEs)和扩散生成模型,以在图像生成过程中提供更精细的控制能力和生成高质量图像的能力。

变压器(Transformers)

不同领域中的生成式模型采用了不同的路径,但最终与变压器架构交叉。该架构已成为各个领域中许多生成式模型的支柱,相比于先前的构建模块(如LSTM和GRU),具有优势。

变压器架构已应用于NLP领域,产生了BERT和GPT等大型语言模型。在计算机视觉领域,Vision Transformers和Swin Transformers将变压器架构与视觉组件相结合,使其可以应用于基于图像的任务。

变压器还使不同领域的模型能够融变压器还使不同领域的模型能够融合用于多模态任务,例如CLIP将视觉和语言结合起来生成文本和图像数据。

生成式AI不仅在NLP和CV领域取得了巨大进展,还在其他领域展现了潜力。例如,在音乐生成方面,生成式模型可以学习音乐的结构和风格,创作出新的乐曲。在艺术创作中,生成式AI可以生成绘画、插图和艺术作品,扩展了艺术家们的创作可能性。

随着生成式AI的不断发展,越来越多的研究和创新涌现出来。人们不仅在提高生成质量和多样性方面进行探索,还在研究如何提供对生成过程的更精细的控制,并加强对生成结果的解释和解释可能性的研究。

在这里插入图片描述
来源:https://arxiv.org/pdf/2303.04226.pdf

🎙🕺🤟🏀让我们按时间顺序来谈谈这些模型。

N-Gram

  • 发布年份:N-Gram模型的现代形式在20世纪60年代和70年代开发出来。
  • 类别:自然语言处理(NLP)

N-Gram模型是一种统计语言模型,常用于NLP任务,如语音识别、机器翻译和文本预测。该模型通过计算词序列的频率并利用它来估计概率,通过对文本数据语料库进行训练。利用这种方法,模型可以预测给定上下文中特定词序列的可能性。

长短期记忆网络(LSTM)

  • 发布年份:1997年
  • 类别:NLP

长短期记忆网络(Long Short-Term Memory,LSTM)是一种神经网络,更具体地说,是一种用于解决序列预测任务中学习长期依赖性的循环神经网络类型。与其他神经网络架构不同,LSTM包含反馈连接,允许它处理整个数据序列而不是像图像一样处理单个数据点。

变分自编码器(VAEs)

  • 发布年份:2013年
  • 类别:计算机视觉(CV)

变分自编码器(Variational AutoEncoders,VAEs)是一种生成模型,可以学习将数据压缩成较小的表示,并生成类似于原始数据的新样本。换句话说,VAEs可以生成看起来来自与原始数据相同分布的新数据。

门控循环单元(GRU)

  • 发布年份:2014年
  • 类别:NLP

门控循环单元(Gated Recurrent Unit,GRU)是一种改进的循环神经网络,于2014年开发,作为LSTM的一个更简单的替代方法。它可以处理文本、语音和时间序列等序列数据。GRU的独特特点是使用了门控机制,这些机制在每个时间步骤上选择性地更新网络的隐藏状态。

Show-Tell

  • 发布年份:2014年
  • 类别:视觉语言(多模态)

Show-Tell模型是一种基于深度学习的生成模型,利用循环神经网络架构。该模型结合了计算机视觉和机器翻译技术,生成类似人类描述的图像描述。

生成对抗网络(GAN)

  • 发布年份:2014年
  • 类别:CV

生成对抗网络(Generative Adversarial Network,GAN)是一种生成模型,能够创建类似于训练数据的新数据点。GAN由两个模型组成 - 生成器和判别器。生成器的任务是产生一个假样本。判别器接收此样本作为输入,并确定输入是来自域中的假样本还是真实样品。
GAN能够生成看起来像是真实人脸的照片,尽管所描绘的面孔并不对应任何真实个体。

StackGAN

  • 发布年份:2016年
  • 类别:视觉语言

StackGAN是一种神经网络,可以根据文本描述创建逼真的图像。它使用两个阶段,第一阶段根据文本描述生成低分辨率图像,第二阶段提高图像质量并增加细节,创建高分辨率逼真图像。这是通过将两个GAN堆叠在一起实现的。

StyleNet

  • 发布年份:2017年
  • 类别:视觉语言

StyleNet是一个新颖的框架,用于生成具有不同风格的图像和视频的吸引人的描述。它是一种基于深度学习的方法,使用神经网络架构学习图像或视频特征与自然语言描述之间的关系,重点在于生成与输入视觉内容风格相匹配的描述。

Vector Quantised-Variational AutoEncoder (VQ-VAE)

  • 发布年份:2017年
  • 类别:视觉语言

Vector Quantised-Variational AutoEncoder (VQ-VAE)是一种旨在无监督学习有用表示的生成模型。它与传统的变分自编码器(VAEs)有两个不同之处:编码器网络输出离散的代码而不是连续的代码,先验是可学习的而不是固定的。这个模型简单而强大,有望解决无监督表示学习的挑战。

Transformers

  • 发布年份:2017年
  • 类别:自然语言处理(NLP)

Transformers是一种能够理解序列数据(如句子)上下文的神经网络类型,通过分析单词之间的关系来实现。它的创建是为了解决序列转换的挑战,包括将输入序列转换为输出序列,例如从一种语言翻译成另一种语言。

BiGAN

  • 发布年份:2017年
  • 类别:计算机视觉(CV)

BiGAN(双向生成对抗网络)是一种可以通过学习示例生成逼真数据的人工智能架构。它与传统的GAN不同,因为它包括一个可以反向工作的生成器,将数据映射回其原始的潜在表示。这可以实现更丰富的数据表示,并可用于各种应用中的无监督学习任务。

RevNet

  • 发布年份:2018年
  • 类别:计算机视觉(CV)

RevNet是一种能够学习良好表示并保留重要信息的深度学习架构。它通过使用一系列同胚层和显式逆函数实现,使其可以完全反转而不丢失信息。

StyleGAN

  • 发布年份:2018年
  • 类别:计算机视觉(CV)

StyleGAN是一种生成对抗网络(GAN),可以生成高质量逼真的图像。该模型在生成过程中逐步添加细节,关注诸如面部特征或发色等区域,而不影响其他部分。通过修改称为样式向量和噪声的特定输入,可以改变最终图像的特征。

ELMo

  • 发布年份:2018年
  • 类别:NLP

ELMo是一种自然语言处理框架,采用双向语言模型的两层结构来创建词向量。这些嵌入具有独特之处,因为它们是使用包含该词的整个句子而不仅仅是词本身来生成的。因此,ELMo嵌入能够捕捉词在句子中的上下文,并为在不同上下文中使用的相同词创建不同的嵌入。

BERT

  • 发布年份:2018
  • 类别:自然语言处理(NLP)

BERT是一种语言表示模型,可以在大量文本数据(例如维基百科)上进行预训练。通过BERT,可以在短短30分钟内训练出不同的NLP模型。训练结果可以应用于其他NLP任务,例如情感分析。

GPT-2

  • 发布年份:2019
  • 类别:NLP

GPT-2是基于Transformer的语言模型,具有15亿个参数,并在800万个网页数据集上进行了训练。它可以通过预测前一个词来生成高质量的合成文本样本。GPT-2还可以从原始文本中学习不同的语言任务,如问答和摘要,而无需特定任务的训练数据,展示了无监督技术的潜力。

Context-Aware Visual Policy (CAVP)

  • 发布年份:2019
  • 类别:视觉语言

Context-Aware Visual Policy是一种设计用于细粒度图像到语言生成的网络,特别适用于图像句子和段落的描述。它将先前的视觉注意力视为上下文,并随时间关注复杂的视觉构图,从而能够捕捉传统模型可能忽略的重要视觉上下文。

Dynamic Memory Generative Adversarial Network (DM-GAN)

  • 发布年份:2019
  • 类别:视觉语言

Dynamic Memory GAN是一种用于根据文本描述生成高质量图像的方法。它通过引入动态记忆模块来解决现有网络的局限性,从而在初始图像生成效果不佳时对图像内容进行精炼。

BigBiGAN

  • 发布年份:2019
  • 类别:计算机视觉(CV)

BigBiGAN是GAN架构的扩展,专注于图像生成和表示学习。与以往的方法相比,它在ImageNet上的无监督表示学习和无条件图像生成方面取得了最先进的结果。

MoCo

  • 发布年份:2019
  • 类别:计算机视觉(CV)

MoCo(动量对比)是一种无监督学习方法,使用队列和移动平均编码器构建动态词典。这使得对比无监督学习成为可能,在ImageNet分类任务上取得了竞争性能,并在检测/分割等下游任务上展现出令人印象深刻的结果。

VisualBERT

  • 发布年份:2019
  • 类别:视觉语言

VisualBERT是一种能够同时理解语言和图像的框架。它使用自注意力机制将句子的重要部分与图像的相关部分对齐。VisualBERT在回答图像相关问题和描述图像方面表现出色。

ViLBERT(Vision-and-Language BERT)

  • 发布年份:2019
  • 类别:视觉语言

ViLBERT是一种能够理解语言和图像的计算机模型。它使用协同注意力变换层分别处理视觉和文本信息,然后将它们组合起来进行预测。ViLBERT在大规模图像字幕数据集上进行了训练,并可用于回答图像相关问题、理解常识、在图像中找到特定对象以及以文本形式描述图像等任务。

UNITER(UNiversal Image-TExt Representation)

  • 发布年份:2019
  • 类别:视觉语言

UNITER是一种在大规模图像和文本数据集上进行预训练的计算机模型,使用了屏蔽语言建模和图像-文本匹配等不同的预训练任务。UNITER在回答图像相关问题、在图像中找到特定对象、理解常识等多个任务上的表现超过了以前的模型。它在六个不同的视觉与语言任务上实现了最先进的结果。

BART

  • 发布年份:2019
  • 类别:自然语言处理(NLP)

BART是一种序列到序列的预训练模型,采用了去噪自编码器方法,其中文本被模型损坏然后重新生成。BART的架构基于Transformer模型,并结合了双向编码和从左到右解码,使其成为BERT和GPT的广义版本。BART在文本生成和理解任务上表现出色,并在各种摘要、问答和对话任务中取得了最先进的结果。

GPT-3

  • 发布年份:2020
  • 类别:自然语言处理(NLP)

GPT-3是由OpenAI开发的神经网络,可以使用互联网数据生成各种各样的文本。它是迄今为止创建的最大语言模型之一,拥有超过1750亿个参数,使其能够用非常少的输入生成高度具有说服力和复杂性的文本。它的能力被认为是对以前的语言模型的重大改进。

T5

  • 发布年份:2020
  • 类别:自然语言处理(NLP)

T5是一种采用文本到文本方法的Transformer架构,用于各种自然语言处理任务,例如问答、翻译和分类。在这种方法中,模型通过为每个任务提供输入文本来生成目标文本,从而使得相同的模型、损失函数和超参数适用于所有不同的任务,从而实现更统一、更简洁的NLP方法。

DDPM

  • 发布年份:2020
  • 类别:计算机视觉(CV)

DDPM(Diffusion Probabilistic Models)是一种潜变量模型,受到非平衡热力学的启发。它可以使用一种称为失真解压缩的方法生成高质量的图像。

ViT

  • 发布年份:2021
  • 类别:计算机视觉(CV)

ViT(Vision Transformer)是一种基于Transformer的视觉模型,最初用于文本任务。该模型通过将图像分割为称为“图像块”的较小部分,并为每个块预测类别标签来处理图像。ViT可以以较少的计算资源超越传统的卷积神经网络(CNN),实现令人印象深刻的结果。

CLIP

  • 发布年份:2021
  • 类别:视觉语言

CLIP是OpenAI开发的神经网络,利用自然语言监督来高效学习视觉概念。通过提供要识别的视觉类别名称,CLIP可以应用于任何视觉分类基准,类似于GPT-2和GPT-3的零样本能力。

ALBEF

  • 发布年份:2021
  • 类别:视觉语言

ALBEF是一种新颖的视觉和语言表示学习方法,通过交叉模态注意力将图像和文本表示对齐,然后进行融合,实现更加基于实际的表示学习。ALBEF在多个下游视觉语言任务上取得了最先进的性能,包括图像-文本检索、VQA和NLVR2。

VQ-GAN

  • 发布年份:2021
  • 类别:视觉语言

VQ-GAN是VQ-VAE的改进版本,使用鉴别器和永久损失以在更高的压缩率下保持高感知质量。VQ-GAN使用分块方法生成高分辨率图像,并在训练过程中限制图像长度为可行大小。

DALL-E

  • 发布年份:2021
  • 类别:视觉语言

DALL-E是一种最先进的机器学习模型,经过大规模的文本-图像数据集训练,可以根据文本描述生成图像。
DALL-E是一个在2021年发布的最先进的机器学习模型,通过使用大规模的文本-图像数据集进行训练,能够根据文本描述生成图像。该模型使用了超过120亿个参数,展现出了令人印象深刻的能力。它可以根据文字描述生成与之相关的图像,包括对动物和物体进行人性化处理、以逼真的方式混合无关概念、渲染文本等,同时还可以通过各种方式对现有图像进行操作。

BLIP

  • 发布年份:2022
  • 类别:视觉语言

BLIP是一种视觉语言预训练(VLP)框架,其在各种视觉语言任务中取得了最先进的结果,包括图像-文本检索、图像字幕生成和视觉问答(VQA)。它灵活地适应于理解和生成任务,并通过引导字幕,有效利用嘈杂的网络数据。

DALL-E 2

  • 发布年份:2022
  • 类别:视觉语言

DALL-E 2是由OpenAI开发的人工智能模型,它利用具有超过100亿个参数的GPT-3 Transformer模型,根据文本描述创建图像。通过解释自然语言输入,DALL-E 2生成的图像具有更高的分辨率和更高的逼真度,比其前身DALL-E更为出色。

OPT(Open Pre-trained Transformers)

  • 发布年份:2022
  • 类别:自然语言处理(NLP)

OPT是一套仅包含解码器的预训练Transformer模型,参数范围从1.25亿到1750亿。它旨在与感兴趣的研究人员分享大型语言模型,因为这些模型往往难以在没有巨额资金的情况下复制,并且通过API很难获取。OPT-175B在与GPT-3相媲美的同时,仅使用了1/7的碳足迹进行开发。

Sparrow

  • 发布年份:2022
  • 类别:自然语言处理(NLP)

DeepMind创建了一个名为Sparrow的对话代理,它减少了提供不安全或不合适答案的可能性。Sparrow与用户进行对话,回答他们的查询,并利用Google搜索互联网以获取支持性证据,以增强其回应。

ChatGPT

  • 发布年份:2022
  • 类别:自然语言处理(NLP)

ChatGPT是OpenAI开发的大型语言模型(LLM),利用深度学习为用户的查询生成自然语言回应。ChatGPT是由GPT-3语言模型驱动的开源聊天机器人,经过在各种主题上的训练,并能够回答问题、提供信息和生成创意内容。它适应不同的对话风格和语境,使得在各种主题上进行友好和有帮助的交流成为可能,包括当前事件、爱好和个人兴趣等。

BLIP2

  • 发布年份:2023
  • 类别:视觉语言

BLIP2是一种新颖且高效的预训练策略,应对了大规模视觉语言模型端到端训练的高成本问题。它利用预训练的图像编码器和大型语言模型,通过一种轻量级的查询Transformer引导视觉语言预训练。

GPT-4

  • 发布年份:2023
  • 类别:自然语言处理(NLP)

OpenAI推出了GPT-4,这是该公司迄今为止最先进的系统。GPT-4被设计用于生成不仅更有用,而且更安全的回应。这一最新系统配备了更广泛的通用知识库和增强的问题解决能力,使其能够更准确地处理最具挑战性的问题。此外,GPT-4比其前身更具合作性和创造力,因为它可以帮助用户在创作和技术写作任务(如歌曲创作、剧本编写或适应用户的写作风格)上生成、编辑和迭代。

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

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

相关文章

re模块

目录 ❤ 正则表达式 常用正则 字符组 字符 量词 ❤ 正则表达式的使用 . ^ $ * ? { } 字符集[][^] 分组 ()与 或 |[^] 转义符 \ 贪婪匹配 ❤ re模块 常量、属性 常用方法 re.co…

echarts图表 的X轴添加滚动条

1:原图 2:代码 dataZoom [{orient: horizontal,show: scoreShow,//控制滚动条显示隐藏realtime: true, //拖动滚动条时是否动态的更新图表数据height: 5, //滚动条高度start: 0, //滚动条开始位置(共6等份)end: this.endValue,//…

复杂业务系统的通用架构设计法则

一、什么是复杂系统 我们经常提到复杂系统,那么到底什么是复杂系统。我们看下维基的定义:复杂系统(英语:complex system),又称复合系统,是指由许多可能相互作用的组成成分所组成的系统。强调了…

Pytest教程__参数化(10)

pytest参数化有两种方式: mark的parametrize标记:pytest.mark.parametrize(变量名,变量值),其中变量值类型为列表、元组或其它可迭代对象。fixture的params参数:pytest.fixture(params变量值),其中变量值类…

Selenium元素定位方法大全

一、背景 作为当下最流行的web UI自动化测试工具,selenium是很多测试同学入门接触自动化测试时学习的第一个工具。想要自动化操作页面上的内容,元素定位是首先必须要学习的核心知识。 因此本文主要介绍selenium的几种最常用的元素定位方法,…

008、体系架构之SQL 执行流程

SQL 执行流程 读取的执行写入的执行DDL的执行SQL运算SQL解析和编译SQL 层架构SQL 运算分布式 SQL 运算SQL 层架构 读取的执行 元数据的读取 执行器从information_schema当总获取表的元数据信息(table meta),元数据的信息从内存中读取就可以了,因为已经缓存到了info…

Python抓取商品详情方法的几种方法比较

抓取商品详情的方法有很多种,以下是其中几种常见的方法及其优缺点: 1.使用requests库发送HTTP请求,然后解析HTML或JSON格式的数据: 优点:这种方法可以抓取几乎所有网站上的数据,支持GET和POST请求&#xff…

匿名内部类为什么泄漏,Lambda为什么不泄漏

作者:麦客奥德彪 在Android开发中,内存泄露发生的场景其实主要就两点,一是数据过大的问题,而是调用与被调用生命周期不一致问题,对于对象生命周期不一致导致的泄漏问题占90%,最常见的也不好分析的当属匿名内…

一段2个月工作经历没体现,美团背调没通过收回了offer

众所周知,很多公司在面试通过之后还会对求职者进行背景调查,这是企业确认求职者信息真实性的重要途径,具有减少信息不对称、降低用人风险等重要意义。 一般通过背景调查,如果企业了解到求职者劳动关系没有终止、解除、简历造假或…

抖音的外卖服务商申请详细指南!

CKA-外卖服务商对外(5、6双月) 项目背景: 通过资源牵引助力商户交易增长,从组品、内容、流量等方面对客户进行1v1精细化辅导,帮助商户进行运营动作 的优化,以实现双月百万交易额的showcase打造,并以此完成“好商,好品…

面了个00后的测试员,年薪20w问题基本都能回答上,必是刷了不少面试题···

互联网行业竞争是一年比一年严峻,作为测试工程师的我们唯有不停地学习,不断的提升自己才能保证自己的核心竞争力从而拿到更好的薪水,进入心仪的企业(阿里、字节、美团、腾讯等大厂.....) 所以,大家就迎来了…

从云端进行安全日志管理

随着企业变得越来越动态,需要一个灵活且易于访问的日志管理解决方案。Log360 Cloud 从本地和基于云的数据中收集您的网络日志,将其存储在云中,并通过多个实时/自动更新的图形仪表板实时提供网络安全的全面视图。 为什么选择云日志记录 随时…

数据中心交换机和园区交换机有啥区别?

概要 在网络架构中,交换机是一种重要的设备,用于连接计算机、服务器和其他网络设备。随着不同领域的需求,交换机也有多种类型。本文将详细介绍数据中心交换机和园区交换机之间的区别,包括它们的原理和使用场景。 一. 数据中心交换…

16.算法之字符串匹配算法

前言 字符串匹配是我们在程序开发中经常遇见的功能,比如sql语句中的like,java中的indexof,都是用来判断一个字符串是否包含另外一个字符串的。那么,这些关键字,方法,底层算法是怎么实现的么?本节,我们来探…

STM32_智慧农业环境测控系统(附代码)

前段时间进行了说STM32的学习,现在把学习成果共享出来,仅供参考。 实验目标:对环境温度湿度以及光照值进行检测(传感器)和控制(按键)。 硬件资源:STM32开发板、DHT11温湿度传感器和光敏传感器。 #include "st…

uview-ui表单使用总结

官网地址:https://v1.uviewui.com 表单校验的规则注意点: uView自带验证规则 常用的手机号身份证之类的都可以直接用内置校验规则地址 使用方法: this.$u.test.mobile(val)如果是动态配置的表单,使用v-for循环,校验规…

贪心算法原理和案例

目录 ​编辑 贪心算法简介 什么时候使用贪心算法 贪心算法缺陷 贪心算法应用 贪心算法JAVA代码实现 贪心算法简介 贪心算法(又称贪婪算法)Greedy Algorithm 是一种不断做出局部最优解的选择,最终期望得到全局最优解的算法。 简单地说&am…

SpringCloud Ribbon初步应用(十)

Ribbon是客户端负载均衡&#xff0c;所以肯定集成再消费端&#xff0c;也就是consumer端 修改microservice-student-consumer-80 引入依赖&#xff0c;pom.xml 加入 ribbon相关依赖 <dependency> <groupId>org.springframework.cloud</groupId> &…

淦、我的服务器又被攻击了

「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 最近老是有粉丝问我&#xff0c;被黑客攻击了&#xff0c;一定要拔网线吗&#xff1f;还有…

Python进阶语法之三元表达式详解

Python进阶语法之三元表达式详解 Python的三元表达式&#xff08;Ternary Expressions&#xff09;是一种简洁高效的编写条件逻辑的方式。与许多其他编程语言一样&#xff0c;Python也提供了三元表达式&#xff0c;可以在一行代码中写出一个if-else条件语句。在这篇博文中&…