【深度学习】表示学习:深度学习的数据解构与重构艺术

作者选择了由 Ian Goodfellow、Yoshua Bengio 和 Aaron Courville 三位大佬撰写的《Deep Learning》(人工智能领域的经典教程,深度学习领域研究生必读教材),开始深度学习领域学习,深入全面的理解深度学习的理论知识。

之前的文章参考下面的链接:
【深度学习】自编码器:数据压缩与特征学习的神经网络引擎
【深度学习】线性因子模型:数据降维与结构解析的数学透镜
【学习笔记】强化学习:实用方法论
【学习笔记】序列建模:递归神经网络(RNN)
【学习笔记】理解深度学习和机器学习的数学基础:数值计算
【学习笔记】理解深度学习的基础:机器学习
【学习笔记】深度学习网络-深度前馈网络(MLP)
【学习笔记】深度学习网络-正则化方法
【学习笔记】深度学习网络-深度模型中的优化
【学习笔记】卷积网络简介及原理探析

引言

在人工智能的知识体系中,表示学习(Representation Learning) 扮演着基石与催化剂的角色。它试图回答一个核心问题:如何让机器从纷繁复杂的原始数据中自动抽取出有价值、可泛化的特征?本文以《Deep Learning》第15章为基础框架,深入探讨表示学习的核心思想、关键技术分支(包括无监督预训练、迁移学习、领域自适应、半监督解释因果关系、分布式表示)及其背后的深刻洞见——深度带来的指数级增益,并融入更多背景与阐释,力求展现这一领域的壮丽图景。

一、表示学习:从数据迷雾中提炼真知

想象一下,面对一张原始像素图片,人类能瞬间识别其中的猫、狗、风景;听到一段声波震动,我们能理解其中的语言含义。这种能力源于大脑对原始感官输入进行了高效、抽象的内部表示。表示学习的目标,就是赋予机器类似的能力:学习一个映射函数,将原始数据(如图像像素、文本字符、音频波形)转化为一个更易于后续任务(如分类、检测、生成)处理的、蕴含丰富语义信息的特征空间。

  • 为何需要表示学习?

    • 突破“特征工程”瓶颈: 传统机器学习严重依赖专家手工设计特征(如SIFT、HOG)。这不仅耗时费力、领域知识门槛高,而且设计出的特征往往针对特定任务,泛化能力差。表示学习旨在实现自动化特征提取
    • 应对高维、复杂数据: 图像、语音、文本等自然数据维度极高且内部结构复杂(如流形结构)。原始数据空间往往存在大量冗余和噪声,直接处理效率低下且效果不佳。好的表示能揭示数据的内在本质结构
    • 实现通用智能的关键一步: 人类智能的核心之一是能基于经验构建对世界的抽象理解(表示),并迁移应用于新场景。学习良好的表示是实现机器通用智能的必经之路。
  • 表示学习的核心挑战:

    • 什么构成“好”的表示? 理想表示应具备:不变性(对不相关因素如光照、视角、背景变化鲁棒)、区分性(能清晰区分不同类别或概念)、解耦性(不同维度对应数据生成因素的不同独立方面)、可解释性(一定程度上能被人类理解)、紧凑性(信息密度高)和可迁移性(能用于多种任务)。
    • 如何学习? 学习策略可分为监督、无监督、半监督。监督学习利用标签指导表示方向;无监督学习仅从数据本身发现结构;半监督则结合少量标签和大量无标签数据。

二、无监督预训练:深度学习的黎明之光

在深度学习复兴的早期(2006年左右),训练深层网络面临梯度消失/爆炸和标注数据稀缺两大难题。无监督预训练(Unsupervised Pre-training) 犹如一道曙光,为突破深度瓶颈提供了关键路径。

  • 核心思想与技术:

    • 逐层贪婪训练: 不再直接训练整个深度网络。而是自底向上,逐层训练。每一层都作为一个独立的无监督特征学习器(如受限玻尔兹曼机 - RBM、自编码器 - Autoencoder),目标是学习重构其输入或捕获输入的统计特性。
    • 预训练与微调: 逐层无监督学习完成后,得到一个初始化的深度网络。随后,利用(可能较少的)标注数据进行有监督的微调(Fine-tuning),调整整个网络的权重以适应具体任务(如分类)。
    • 代表模型: Geoffrey Hinton 等人提出的 深度信念网络(Deep Belief Networks, DBNs)堆叠自编码器(Stacked Autoencoders) 是这一时期的里程碑。
  • 为何有效?

    • 初始化优势: 无监督预训练为深度网络提供了接近数据真实流形结构的良好初始权重,避开了随机初始化可能导致的糟糕局部最优解,使后续微调更容易成功。
    • 正则化效应: 预训练过程本身是一种强大的正则化,约束了模型的参数空间,使其更倾向于学习数据中普遍存在的、有意义的结构,降低了过拟合风险。
    • 利用海量无标签数据: 最大程度地利用了现实中大量易得但无标签的数据,缓解了标注数据不足的问题,显著提升了模型在小规模标注数据上的性能。
  • 现代意义与演进:

    • 虽然随着ReLU、BatchNorm、更好的初始化方法(如Xavier/He)和优化器(如Adam)的出现,直接训练深度网络变得更容易,无监督预训练不再是训练深度模型的必需品。
    • 但其核心思想——利用无标签数据引导模型学习通用表示——被发扬光大。现代自监督学习(Self-supervised Learning) 正是其精神的延续和升华(如BERT、GPT的掩码语言建模, SimCLR、MoCo的对比学习),成为当今大模型时代的基石。

三、迁移学习与领域自适应:知识的传承与适应

表示学习的终极目标之一是获得可迁移的知识。迁移学习(Transfer Learning)和领域自适应(Domain Adaptation)是实现这一目标的核心技术,它们关注如何将在一个任务或领域(源)上学到的知识(通常以表示的形式),有效地应用到另一个相关但不同的任务或领域(目标)上。

  • 迁移学习(Transfer Learning):

    • 场景: 源任务(源域)有大量标注数据,目标任务(目标域)数据有限(标注少或无标注)但相关。例如:用ImageNet(源)预训练的模型,微调用于医学影像诊断(目标)。
    • 方法:
      • 特征提取器: 将源模型(通常是深度网络)的前面若干层(特征提取层)冻结,作为目标任务的通用特征提取器。仅训练顶层的任务特定层(如分类器)。这是最常用的方法。
      • 微调: 不冻结源模型,而是在目标任务数据上继续训练(微调)所有层或部分层的权重。需要谨慎调整学习率,防止灾难性遗忘。
      • 模型架构调整: 可能需要修改源模型的输出层以适应目标任务(如类别数不同)。
    • 关键: 源任务和目标任务需要共享底层、通用的特征表示(如边缘、纹理、形状、基本物体部件)。
  • 领域自适应(Domain Adaptation):

    • 场景: 一个更具体且更具挑战性的迁移学习子问题。源域和目标域执行相同的任务(如都是猫狗分类),但数据分布不同(如源域是清晰照片,目标域是模糊照片;源域是产品评论,目标域是社交媒体评论)。通常,源域有大量标注数据,目标域无标注或极少标注。
    • 挑战: 源域上训练好的模型,直接用在目标域上,性能会因域偏移(Domain Shift) 而显著下降。
    • 核心思路: 学习一个域不变(Domain-Invariant)的特征表示,使得在这个表示空间里,源域和目标域的数据分布尽可能相似,同时该表示对目标任务(如分类)是有效的。
    • 主要方法:
      • 基于差异最小化: 在特征空间中显式计算源域和目标域分布的差异(如MMD - 最大均值差异、CORAL - 相关性对齐),并在训练过程中最小化该差异。通常通过一个域分类器或适配层实现。
      • 对抗性训练: 引入一个域判别器(Domain Discriminator),试图区分特征是来自源域还是目标域。特征提取器(生成器)则被训练以欺骗判别器,使其无法区分来源,从而促使生成域不变特征。这是非常流行的方法(如DANN - 域对抗神经网络)。
      • 自训练/伪标签: 利用源域模型在目标域无标签数据上预测的置信度高的样本(伪标签),将其加入训练集迭代训练模型。
      • 特征解耦: 将表示分解为域共享部分(任务相关)和域私有部分(任务无关),仅使用共享部分进行任务预测。
  • 意义: 迁移学习和领域自适应极大地降低了在新任务新领域应用AI的成本和门槛,是表示学习价值最直接的体现。它们使得“预训练-微调”范式成为现代AI应用开发的黄金标准。

四、半监督学习:弥合有监督与无监督的鸿沟

标注数据昂贵且稀缺,无标签数据则相对海量。半监督学习(Semi-supervised Learning, SSL)旨在同时利用少量标注数据和大量无标签数据来训练更好的模型,其核心通常依赖于学习到更好的数据表示。

  • 核心假设:

    • 平滑性假设: 如果两个样本在高密度区域(即数据流形上)是相近的,则它们的标签也应该是相似的。好的表示应使相似样本在表示空间中靠近。
    • 低密度分离假设: 决策边界应该穿过数据分布中的低密度区域。无标签数据有助于揭示这些区域。
    • 流形假设: 高维数据实际上分布在一个低维流形上。学习的目标是发现这个低维流形结构。
  • 经典方法与表示学习:

    • 生成模型: 如生成对抗网络(GAN)用于半监督学习。判别器不仅需要区分真实/生成样本,还需要对真实样本进行分类(如果有标签)。无标签数据帮助模型学习更真实的数据分布表示。
    • 一致性正则化: 对同一个输入施加不同的扰动或噪声(如Dropout, 随机数据增强),要求模型预测保持一致(Consistent)。这迫使模型学习对扰动鲁棒的表示,而这些表示往往能更好地捕捉数据的本质特征。代表方法:Π-Model, Temporal Ensembling, Mean Teacher, FixMatch, SimMatch。这是当前最主流的SSL范式。
    • 图半监督学习: 将数据点视为图的节点,利用标注节点和边(表示样本相似性)的信息通过图传播算法(如标签传播)预测无标签节点的标签。学习的目标是获得一个良好的嵌入表示,使得图上的相似节点嵌入接近。
    • 基于伪标签的方法: 用当前模型预测无标签数据的标签(伪标签),将高置信度的预测加入训练集。这本质上是自训练(Self-training)。好的表示能产生更准确的伪标签。
  • 解释因果关系:半监督学习的潜在价值

    • 传统的半监督学习主要关注提升预测精度。一个更具前瞻性的视角是:利用半监督学习来辅助发现或学习因果表示(Causal Representations)
    • 因果表示: 指表示的不同维度对应数据生成过程中真实的、相互独立的因果因子(Causal Factors)(如物体形状、材质、光照、视角等)。这种表示具有高度的解耦性和不变性,是鲁棒性和可解释性的理想目标。
    • 半监督如何助力因果?
      • 揭示不变性: 大量无标签数据中的自然变化(如物体在不同背景、光照下的图片)可以帮助模型发现哪些特征是稳定不变的(可能是因果因子),哪些是变化的(可能是非因果的混淆因子)。一致性正则化方法天然鼓励学习对扰动不变的表示,这可能隐式地接近因果因子。
      • 干预模拟: 数据增强可以看作是在模拟对数据的某种轻微“干预”(如旋转、裁剪、颜色抖动)。模型学习对这些干预不变的表示,可能对应着干预未改变的因果因子。
      • 解耦表示学习: 一些结合变分自编码器(VAE)和半监督学习的方法(如Semi-supervised VAEs)尝试显式地将表示分解为有标签相关的因子和无标签相关的因子,或解耦不同的语义因子。这为识别因果因子提供了结构上的可能性。
    • 挑战与前景: 将半监督学习明确导向因果表示学习仍处于探索阶段,需要融合因果推断的理论(如结构因果模型 - SCMs)和表示学习技术。但这是一个极具吸引力的方向,有望带来更鲁棒、可解释、可泛化的AI系统。

五、分布式表示:符号主义的终结与新范式的崛起

表示学习最核心、最强大的概念之一是分布式表示(Distributed Representation)。它与传统的符号表示(Symbolic Representation)局部表示(Localist Representation) 形成鲜明对比。

  • 局部表示 vs. 分布式表示:

    • 局部表示(One-Hot / 符号): 每个概念或实体由一个唯一的、离散的符号或“神经元”表示。例如:词“猫” -> [1, 0, 0, ..., 0], 词“狗” -> [0, 1, 0, ..., 0]。符号之间是相互独立的。
    • 分布式表示: 每个概念或实体由一个激活模式(Pattern of Activation) 在多个特征维度(神经元)上表示。例如:词“猫” -> [0.2, -0.5, 0.8, ..., 0.1], 词“狗” -> [0.3, -0.4, 0.7, ..., 0.2]。特征维度编码了概念的语义属性(如“哺乳动物”、“宠物”、“四条腿”、“有毛”等)。
  • 分布式表示的优势:

    • 强大的泛化能力: 这是其最核心优势。相似的概念(如“猫”和“狗”)在表示空间中距离相近,因为它们共享很多特征(哺乳动物、宠物)。模型学到关于“哺乳动物”或“四条腿”的特征知识,可以自动泛化到所有具有该特征的新概念上。局部表示则完全无法做到这种属性共享的泛化。
    • 高效性: 分布式表示能以指数级效率表示组合概念。n个二值特征可以表示2^n个不同概念。例如,30个特征可以区分超过10亿个概念。而局部表示需要N个单元表示N个概念。
    • 鲁棒性: 表示信息分布在多个单元上,对噪声或部分单元失效具有更强的容错能力。
    • 蕴含丰富语义关系: 表示空间中的几何关系(如距离、方向)可以编码语义关系(相似性、类比关系 - “国王”-“男人” + “女人” ≈ “女王”)。词嵌入(Word2Vec, GloVe)是此特性的完美例证。
  • 深度学习与分布式表示: 深度神经网络天然就是学习分布式表示的强大引擎。网络的每一层都在学习输入数据在某种抽象层次上的分布式表示。低层表示简单的局部特征(如边缘),高层表示组合的、语义化的特征(如物体部件、整个物体、场景概念)。

六、深度的指数增益:层级抽象的力量之源

为什么深度如此重要?《深度学习》第15章精辟地指出:深度架构能够带来表示效率的指数级增益(Exponential Gain)。这是理解深度学习威力的关键洞见。

  • 组合性与指数级表示能力:

    • 现实世界的数据(图像、语言、语音)具有高度组合性(Compositional)层级结构(Hierarchical)。高级概念由低级概念组合而成(如“车轮”+“车身”+“引擎”->“汽车”;“名词短语”+“动词短语”->“句子”)。
    • 一个深度的、具有非线性激活函数的网络,每一层都可以对前一层的表示进行组合和抽象
    • 指数级优势: 假设每个计算层(神经元)可以执行一个基本操作(如AND/OR)。一个深度为d的网络,理论上可以表示的函数复杂度是其层数的指数函数。相比之下,一个非常宽的浅层网络可能需要指数级更多的神经元才能表示同样的复杂函数。深度网络通过重用中间计算(底层的特征被高层共享)实现了高效的表示。
  • 实例解析:

    • 逻辑电路: 计算n个输入的奇偶校验(XOR),深度网络只需要O(log n)层,而单层网络(感知机)需要O(2^n)个节点。深度带来指数级效率提升。
    • 特征层次: 在图像识别中,浅层网络可能直接学习从像素到最终类别(如“猫”)的复杂映射,这极其困难。深度网络则逐层学习:边缘 -> 纹理/基本形状 -> 物体部件(耳朵、鼻子) -> 整个物体(猫头) -> 完整物体(猫) -> 场景。每一层都建立在更基础、更通用的表示之上。这种层级抽象是处理复杂性的唯一高效途径。
  • 深度与表示学习: 表示学习的核心目标——学习数据的分层抽象本质——与深度架构的能力完美契合。深度使得学习高度非线性、高度解耦、蕴含丰富语义的分布式表示成为可能。无监督预训练、迁移学习、半监督学习等技术,本质上都是在解决如何有效训练这种具有指数级潜力的深度模型,使其学得良好的表示。

七、总结与展望:通往更智能表示的征途

表示学习作为深度学习的灵魂,已经从早期的无监督预训练突破,发展成为一门融合监督、无监督、半监督、迁移学习、领域自适应等多种范式,并追求分布式、解耦、因果、不变性等优良特性的综合性学科。它赋予了机器从原始数据中自动提取有价值知识的能力,彻底改变了人工智能处理信息的方式。

  • 当前热点与挑战:

    • 自监督学习的蓬勃发展: 利用数据本身固有的结构设计代理任务(如预测缺失部分、判断不同视角是否一致),在无标签数据上学习通用表示,是当前最活跃的领域(对比学习、掩码自编码器)。
    • 大规模预训练模型(基础模型): BERT、GPT、ViT等模型在巨量数据和计算资源上进行预训练,学习到极其强大的通用表示,通过微调或提示(Prompting)即可在下游任务取得卓越性能,证明了表示学习的巨大潜力。
    • 解耦表示学习: 如何让表示的不同维度更清晰地对应数据生成的真实、独立的因子(如物体形状、纹理、姿态),提升可解释性和可控性。
    • 因果表示学习: 将因果推断融入表示学习,学习对干预鲁棒、能反映数据生成机制的因果表示,是实现稳定泛化和真正智能的关键挑战。
    • 多模态表示学习: 学习能够对齐和融合来自不同模态(文本、图像、语音、视频等)信息的统一表示,是实现更全面、更类人感知的关键。
  • 未来方向:

    • 神经符号融合: 如何将深度学习的表示能力与符号系统的可解释性、推理能力有机结合。
    • 持续学习与表示演进: 如何让模型在不断接触新任务、新数据时,持续更新和演进其表示,避免灾难性遗忘。
    • 表示学习的理论根基: 对表示学习为何有效、学习的表示本质是什么、深度与宽度等复杂度的严格理论理解仍需深化。
    • 具身表示学习: 在机器人等具身智能体中,通过与物理环境的交互学习对世界和自身行为的表示。

表示学习的研究远未结束,它依然是推动人工智能向更通用、更鲁棒、更可解释方向发展的核心引擎。理解并掌握数据表示的艺术与科学,就是掌握了解读智能世界源代码的钥匙。随着我们对“好”表示的理解不断深化,以及学习算法的持续创新,机器从数据中提炼知识、理解世界的能力必将迈向新的高峰。


参考文献:

  • 核心框架与理论: Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. Chapter 15: Representation Learning. MIT Press. http://www.deeplearningbook.org
  • 无监督预训练: Hinton, G. E., Osindero, S., & Teh, Y. W. (2006). A fast learning algorithm for deep belief nets. Neural computation.
  • 迁移学习: Pan, S. J., & Yang, Q. (2010). A survey on transfer learning.
  • 领域自适应: Ganin, Y., & Lempitsky, V. (2015). Unsupervised domain adaptation by backpropagation. ICML.
  • 半监督学习: van Engelen, J. E., & Hoos, H. H. (2020). A survey on semi-supervised learning. Machine Learning.
  • 分布式表示: Bengio, Y., Courville, A., & Vincent, P. (2013). Representation learning: A review and new perspectives. IEEE TPAMI.
  • 深度与指数增益: Bengio, Y. (2009). Learning deep architectures for AI. Foundations and trends® in Machine Learning.
  • 自监督学习: Liu, X., et al. (2021). Self-supervised learning: Generative or contrastive. arXiv.
  • 因果表示学习: Schölkopf, B., et al. (2021). Toward causal representation learning. IEEE PAMI.
  • 解耦表示学习: Locatello, F., et al. (2019). Challenging common assumptions in the unsupervised learning of disentangled representations. ICML.

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

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

相关文章

如何在PowerBI中使用Analyze in Excel

如何在PowerBI中使用Analyze in Excel 之前分享过如何使用DAXStudio将PowerBI与Excel连接 ,今天介绍另外一个工具,也可以实现同样的功能,Analyze in Excel。 使用Analyze in Excel 第一步: 首先准备好一个PBIX文件&#xff0c…

AI应用工程师面试

技术基础 简述人工智能、机器学习和深度学习之间的关系。 人工智能是一个广泛的概念,旨在让机器能够模拟人类的智能行为。机器学习是人工智能的一个子集,它专注于开发算法和模型,让计算机能够从数据中学习规律并进行预测。深度学习则是机器学习的一个分支,它利用深度神经网…

基于定制开发开源AI智能名片S2B2C商城小程序的首屏组件优化策略研究

摘要:在数字化转型背景下,用户对首屏交互效率的诉求日益提升。本文以"定制开发开源AI智能名片S2B2C商城小程序"为技术载体,结合用户行为数据与认知心理学原理,提出首屏组件动态布局模型。通过分析搜索栏、扫码入口、个人…

day50 随机函数与广播机制

目录 一、随机张量的生成 1.1 torch.randn() 函数 1.2 其他随机函数 1.3 输出维度测试 二、广播机制 2.1 广播机制的规则 2.2 加法的广播机制 二维张量与一维向量相加 三维张量与二维张量相加 二维张量与标量相加 高维张量与低维张量相加 2.3 乘法的广播机制 批量…

Java持久层技术对比:Hibernate、MyBatis与JPA的选择与应用

目录 简介持久层技术概述Hibernate详解MyBatis详解JPA详解技术选型对比最佳实践与应用场景性能优化策略未来发展趋势总结与建议 简介 在Java企业级应用开发中,持久层(Persistence Layer)作为连接业务逻辑与数据存储的桥梁,其技…

【2025CVPR】模型融合新范式:PLeaS算法详解(基于排列与最小二乘的模型合并技术)

本文深入解析ICLR 2025顶会论文《PLeaS: Merging Models with Permutations and Least Squares》,揭示模型融合领域突破性进展. 一、问题背景:模型合并的核心挑战 随着开源模型的爆发式增长,如何高效合并多个专用模型成为关键挑战。传统方法存在三大痛点: ​初始化依赖​…

磁盘空间清道夫FolderSize 系列:可视化分析 + 重复文件识别,

各位电脑小能手们,今天来给大家唠唠Folder类软件!这玩意儿主要是为了文件夹管理、监控、安全还有优化这些需求设计的,不同工具的功能各有侧重。下面我就结合多个搜索结果,给大家分类介绍一下。 软件下载地址安装包 首先是文件夹空…

嵌入式全栈面试指南:TCP/IP、C 语言基础、STM32 外设与 RT‑Thread

作为嵌入式工程师,面试时往往不仅要展示基础编程能力,还要兼具网络协议、硬件驱动、实时操作系统(RTOS)等方面的知识深度。本文将从TCP/IP 协议、C 语言核心基础、STM32 IO 与外设驱动、RT‑Thread 及其多任务/IPC四大模块进行全面…

Git 命令全流程总结

以下是从初始化到版本控制、查看记录、撤回操作的 Git 命令全流程总结,按操作场景分类整理: 一、初始化与基础操作 操作命令初始化仓库git init添加所有文件到暂存区git add .提交到本地仓库git commit -m "提交描述"首次提交需配置身份git c…

软件功能测试报告都包含哪些内容?

软件功能测试报告是软件开发生命周期中的重要文档,主要涵盖以下关键内容:    1.测试概况:概述测试目标、范围和方法,确保读者对测试背景有清晰了解。 2.测试环境:详细描述测试所用的硬件、软件环境,确保…

OpenCV CUDA模块图像处理------双边滤波的GPU版本函数bilateralFilter()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 该函数在 GPU 上执行双边滤波操作,是一种非线性平滑滤波器,能够在 保留边缘的同时去除噪声。 函数原型 void cv::cuda:…

Perplexity AI:重塑你的信息探索之旅

在信息爆炸的时代,如何快速、精准地获取所需知识,并将其转化为行动力?答案或许就藏在 Perplexity AI 这款强大的智能工具中。它不仅仅是一个搜索引擎,更是一个能理解你、与你对话、为你深度解析信息的智能伙伴。告别繁琐的信息筛选…

Java高级反射实战:15个场景化编程技巧与底层原理解析

引用 在Java的世界里,反射机制如同赋予开发者一把“万能钥匙”,它打破了静态编程的边界,让代码在运行时拥有动态获取类信息、操作对象属性和方法的能力。从Spring框架的依赖注入,到MyBatis的SQL映射生成;从JSON序列化…

构建 MCP 服务器:第 3 部分 — 添加提示

这是我们构建 MCP 服务器的四部分教程的第三部分。在第一部分中,我们使用基本资源创建了第一个MCP 服务器;在第二部分中,我们添加了资源模板并改进了代码组织。现在,我们将进一步重构代码并添加提示功能。 什么是 MCP 提示&#…

MySQL 索引优化(Explain执行计划) 详细讲解

🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 MySQL 索引优化(Explain执行计划…

使用 IntelliJ IDEA 安装通义灵码(TONGYI Lingma)插件,进行后端 Java Spring Boot 项目的用户用例生成及常见问题处理

一、什么是通义灵码(TONGYI Lingma)? 通义灵码是阿里巴巴推出的智能代码辅助工具,结合大模型技术,支持代码生成、用例生成、代码补全等功能,能极大提升开发效率。 二、在 IDEA 中安装通义灵码插件 打开 In…

AI编程在BOSS项目的实践经验分享

前言 在人工智能技术革新浪潮的推动下,智能编程助手正以前所未有的速度重塑开发领域。这些基于AI的代码辅助工具通过智能提示生成、实时错误检测和自动化重构等功能,显著提升了软件工程的全流程效率。无论是初入行业的开发者还是资深程序员,…

JVM 类加载器 详解

类加载器 两个类来源于同一个 Class文件,被同一个Java虚拟机加载,只要加载它们的类加载器不同,那这两个类就必定不相等 这里所指的“相等”,包括代表类的Class对象的equals()方法、isAssignableFrom()方法、isInstance()方法的返…

Javascript 编程基础(5)面向对象 | 5.1、构造函数实例化对象

文章目录 一、构造函数实例化对象1、基本语法2、构造函数与原型的关系3、完整的原型链4、构造函数的特点5、prototype与__proto__属性5.1、对象实例的__proto__属性5.2、prototype属性仅存在于函数对象5.3、实例与原型的关系5.4、获取对象原型 6、注意事项 前言: 在…

自动驾驶科普(百度Apollo)学习笔记

1. 写在前面 在过去的几年里,自动驾驶技术取得飞速发展,人类社会正逐渐走向一个新时代,这个时代中,汽车不仅仅是一个交通工具,更是一个智能的、能够感知环境、做出决策并自主导航的机器伙伴。现在正好也从事这块的工作…