I-CON: A UNIFYING FRAMEWORK FOR REPRESENTATION LEARNING

news2025/5/25 5:14:29

I-con:表示学习的统一框架

基本信息

ICLR 2025

博客贡献人

田心

作者

Shaden Alshammari, John Hershey, Axel Feldmann, William T. Freeman, Mark Hamilton

关键词

I-Con框架,表征学习,损失函数统一框架

摘要

        随着表征学习领域的快速发展,各类损失函数层出不穷,用于解决不同类别的问题。本文提出了一种统一的信息论方程——信息对比学习框架(I-Con),可泛化机器学习中的多种现代损失函数。该框架表明,多个主要类别的机器学习方法本质上是在最小化两个条件分布(监督分布与学习到的表征分布)之间的积分KL散度。这一视角揭示了聚类、谱方法、降维、对比学习和监督学习等方法背后隐含的信息几何结构。通过该框架,我们不仅能建立超过23种不同方法之间的理论联系,还能结合文献中的成功技术设计新的损失函数。实验表明,基于I-Con开发的无监督图像分类器在ImageNet-1K上实现了+8%的准确率提升(超越此前最优方法),并提出了改进对比表征学习的去偏策略。I-Con为跨领域技术迁移提供了理论支持,例如将对比学习的去偏思想应用于聚类,显著提升了无监督分类性能。

1. 引言

      过去十年间,表征学习领域蓬勃发展,新技术、架构和损失函数层出不穷。这些进展推动了视觉、语言和多模态学习领域的前沿模型发展,且往往仅需极少量人工监督。然而,随着领域扩展,损失函数的多样性使得理解不同方法间的关联、以及如何为特定任务选择最佳目标变得愈发困难。

        本文提出了一种统一的数学框架——信息对比学习(I-Con),将监督、无监督和自监督的表征学习方法整合到一个信息论目标下。该框架揭示了聚类、谱图理论、对比学习、降维和监督分类等看似迥异的方法,实际上均可视为同一基础损失函数的特例。

        尽管已有工作发现部分表征学习方法间的孤立联系(通常仅关联2-3种方法),I-Con是首个将超过23种方法统一于单一目标下的框架。这种统一视角不仅澄清了现有技术的结构,还为跨领域思想迁移提供了坚实基础。

        基于I-Con,我们设计了新的无监督损失函数,在标准图像分类基准上显著超越现有方法。主要贡献包括:

  • 提出I-Con,一种泛化多类表征学习的信息论损失函数;

  • 通过15个定理证明,展示多种算法如何作为I-Con的特例出现;

  • 利用I-Con设计去偏策略,在无监督ImageNet-1K分类任务中实现+8%的准确率提升,并在CIFAR-100和STL-10的线性探针任务中分别获得+3%和+2%的增益。

2 相关工作

        表征学习涵盖了一系列从复杂数据中提取结构的广泛方法。我们回顾了I-Con所基于并推广的各类方法。

        特征学习旨在通过监督信号(如成对相似性、最近邻、数据增强、类别标签或重构损失)获得信息丰富的低维嵌入。经典方法如主成分分析(PCA)和多维标度分析(MDS)保留全局结构,而UMAP和t-SNE则通过最小化联合分布间的散度来关注局部拓扑结构。I-Con采用了类似的散度最小化视角。

        对比学习方法(如SimCLR、CMC、CLIP和MoCo v3)使用正负样本对,通常通过数据增强或多模态对齐构建。I-Con将这些损失统一到基于KL散度的框架下,揭示了它们之间的细微差异。监督分类器(如ImageNet模型)也可生成有效特征,I-Con通过将类别标签视为离散对比点,桥接了监督与无监督学习。

        聚类方法通过距离度量、图划分或对比监督揭示离散结构。K-Means、EM和谱聚类等算法是基础方法。近期方法如IIC、对比聚类和SCAN利用不变性与邻域结构。基于师生模型的TEMI和EMA架构进一步优化聚类。I-Con通过将聚类诱导的联合分布与相似性、结构或对比信号导出的目标分布对齐,涵盖了这些方法。

        表征学习统一框架的探索已有先例,例如建立对比学习与t-SNE的联系、对比损失与交叉熵损失的等价性、谱方法与对比学习的关联。其他工作(如贝叶斯语法模型)提供了概率视角。

        尽管先前研究关联了这些方法的子集,但据我们所知,I-Con是首个将监督学习、对比学习、聚类和降维目标统一到单一损失函数下的框架。这一视角阐明了它们的共享结构,并为新学习原理的探索开辟了道路。

3 方法

        I-Con框架通过单一损失函数统一了多种表征学习方法:最小化两个条件"邻域分布"(定义数据点间转移概率)的平均KL散度。这一信息论目标泛化了聚类、对比学习、降维、谱图理论和监督学习中的技术。通过调整监督分布和学习分布的构造方式,I-Con可涵盖现有方法与新方法的广泛类别。本节将展示I-Con如何统一不同领域技术,并通过思想迁移构建当前最优的无监督图像分类方法。

3.1 信息对比学习

        设i,j\epsilon \chi,定义概率邻域函数p(j|i)为转移概率。为了确保有效的概率分布,p(j| i)\geqslant 0\int_{j\epsilon \chi }^{}p(j|i)=1。我们用\theta \epsilon \Theta来参数化这个分布,以创建一个可学习的函数p_{\theta }(j|i)。类似地,我们定义了另一个分布q_{\phi }(j|i)\phi \epsilon \Phi参数化。核心I-Con损失函数为: 

L(\theta ,\phi )==\int_{i\epsilon \chi }^{}D_{KL}(p_{\theta }(\cdot |i)||q_{\phi }(\cdot |i))=\int_{i\epsilon \chi }^{}\int_{j\epsilon \chi }^{}p_{\theta }(j|i)\frac{ p_{\theta }(j|i)}{q_{\phi }(j|i)}               (1)

        在实践中,p通常是一个固定的“监督”分布,而q_{\phi }是通过比较深度网络表示、原型或聚类来学习的。图2a示出了该对准过程。优化使q_{\phi }p对齐,最小化它们的KL发散。尽管大多数现有的方法只优化了q_{\phi },I-Con允许同时学习p_{\theta }q_{\phi },但需通过正则化避免平凡解。

3.2 用i-con统一表示学习算法

        尽管方程1非常简单,但只要选择图1所示的参数化邻域分布p_{\theta }q_{\phi },这个方程就足够丰富,可以推广文献中的几种现有方法。我们在图2a中对p_{\theta }q_{\phi }的常见选择进行了分类。

        表1总结了关键分布选择,涵盖对比学习(SimCLR、MOCOv3、SupCon、CMC、CLIP、VICReg)、降维(SNE、t-SNE、PCA)、聚类(K-Means、Spectral、DCD、PMI)和监督学习(交叉熵和谐波损失)等方法。

3.2.1示例:SNE、SimCLR和K-;Means

        通过pq的不同选择,I-Con可还原经典方法:

  • SNE: 给定高维数据集 x\epsilon \mathbb{R}^{d*n}nd维样本),SNE 通过优化低维嵌入表示 x\epsilon \mathbb{R}^{m*n}(通常 m\ll d)实现降维。高维空间p(j|i):以样本x_{i}为中心构建高斯分布定义为高斯分布,低维空间q_{\phi }(j|i):在嵌入空间\phi _{i}中,对 \phi _{i}同样采用高斯分布。通过最小化KL散度确保原始空间邻近点在嵌入空间中保持邻近。

  • SimCLR:以 SimCLR 和 SupCon 为代表的对比学习方法,通过类别标签引导表示学习。p(j|i)为数据增强生成的确定性分布(同一图像的增强视为正样本),即若j为样本i的数据增强版本,则p(j|i)=1,否则p(j|i)=0q_{\phi }(j|i)​基于余弦相似度的类高斯分布。最小化 p(j|i)q_{\phi }(j|i)的 KL 散度,促使同一场景的增强样本在嵌入空间中聚集成簇。

  • K-Means:以 K-Means 和 DCD 为代表的聚类方法,通过分布对齐实现结构化表示学习。原始空间p(j|i)采用高斯分布,学习空间q_{\phi }(j|i)反映聚类分配(如同属一簇则相似性为1,否则为0)。KL散度最小化将聚类结果与数据邻域结构对齐。像K-Means引入熵惩罚项强制硬分配概率,而 DCD 等无监督方法则无需此约束。

3.3 用i-con创建新的表征学习器

        I-Con框架通过统一的数学形式将多种表征学习方法整合在一起,更重要的是,它促进了不同领域技术之间的迁移。例如,对比学习中的技巧可应用于聚类任务,反之亦然。本文通过整合谱聚类、t-SNE和去偏对比学习的洞见,构建了一个当前最优的无监督图像分类流程。

3.3.1 去偏

        去偏对比学习(Debiased Contrastive Learning, DCL)旨在解决对比学习中随机负采样导致的偏差问题。当类别数量较小时,随机选择的负样本可能实际属于同一类别,从而在相似样本间引入虚假排斥力。通过修正此类虚假排斥项并增强吸引力来提升表征质量。然而,其方法直接修改了softmax函数,导致学习到的分布q_{j|i}不再是一个严格的概率分布,难以扩展到聚类或监督任务中。
        基于I-Con框架的视角,我们提出了一种更通用且简单的替代方案:不直接调整学习到的分布q_{j|i},而是将额外的“不确定性”直接引入监督分布p(j|i)中。这种方法保持了q_{j|i}的有效概率分布性质,并可应用于更广泛的任务。

3.3.2 通过均匀分布去偏

        我们的第一个例子采用了均匀混合分布实现去偏:

\tilde{p}(j|i)=(1-\alpha )p(j|i)+\frac{\alpha}{N}

        其中N为局部邻域大小,\alpha表示混合程度。这种方法为每个“负”样本分配了一个小概率质量\frac{\alpha}{N},从而减轻了过度自信的分配。在监督上下文中,这类似于标签平滑。相比之下,在保留单热标签的同时调整了softmax函数本身。

        另一种理解方式是引入重尾分布。通过添加均匀成分,我们模拟了t-SNE中Student-t分布的思想,后者为远距离点分配更大的概率质量。两者均通过扩展分布降低对局部邻域的过拟合风险。

        表3、图5和图6的实验结果表明,这种轻量级改进方法在不同任务和批次大小下均能提升性能。同时,它通过“松弛”过度自信的分布缓解梯度消失问题,从而促进更鲁棒的学习动态。

3.3.3 基于邻居传播的去偏

        第二种策略利用图结构扩展邻域。如表1所示,将k-Means的高斯邻域替换为基于度加权的k近邻(k-NN)分布可恢复谱聚类,后者以鲁棒性和高质量解著称。基于此,我们通过k-NN图定义邻域训练对比学习模型。给定k-NN图后,可通过长距离游走进一步扩展邻域,这一过程称为邻居传播。

        形式上,令P为条件概率矩阵,其条目P_{ij}=p(x_{j}|x_{i})定义了选择x_{j}x_{i}邻居的概率。将P解释为训练数据的邻接矩阵,可通过累加P的幂次进行平滑:

\tilde{P}\propto P+P^{2}+\cdots +P^{k}

        我们可以进一步简化这一点,取k步内所有可达点的均匀分布,表示为:

\tilde{P}_{U}\propto I[P+P^{2}+\cdots +P^{k}> 0]

        其中I[\cdot ]是指示函数。这种基于游走的平滑扩展了有效邻域,使模型能从更密集的监督信号中学习。表3和表4证实,采用这种基于传播的方法在无监督图像分类中产生了显著的改进,强调了邻域扩展作为一种去偏策略的有效性。

4 实验

        在本节中,我们展示了I-Con框架如何通过统一的信息论视角为自监督和无监督学习提供可验证的假设与实践洞见。我们的目标不仅是追求最先进的性能,更旨在证明I-Con如何通过结合不同机器学习领域(如聚类、对比学习和降维)的技术提升现有无监督学习方法。这种跨领域的技术迁移得益于I-Con的统一框架,能够显著改进现有方法并开辟新的探索方向。

        我们将实验重点放在聚类任务上,因为相对于对比学习,聚类的研究相对较少,且现有多种技术可通过I-Con框架进行适配。通过将k均值、SimCLR和t-SNE等经典方法与I-Con框架关联,我们揭示了一系列改进聚类方法的可能性,并通过实验验证这些理论洞见的实际影响。

        我们使用ImageNet-1K数据集评估I-Con框架。该数据集包含1,000个类别和超过一百万张高分辨率图像,由于其规模和复杂性,被视为无监督图像分类最具挑战性的基准之一。评估聚类性能的主要指标是匈牙利准确率,该指标通过匈牙利算法在无监督训练下对齐预测簇与真实标签,从而提供鲁棒的聚类性能度量。

        在特征提取阶段,我们使用三种DiNO预训练的Vision Transformer(ViT)模型变体:ViT-S/14、ViT-B/14和ViT-L/14。选择这些模型是为了确保与先前工作的可比性,并探索I-Con框架在不同模型容量下的表现。实验设置(包括训练协议、优化策略和数据增强)与TEMI保持一致。

        训练过程涉及在DiNO模型提取的特征上优化线性分类器。每个模型训练30轮,使用ADAM优化器,批大小为4096,初始学习率为1e-3。学习率每10轮衰减0.5倍以确保稳定收敛。特征向量未进行额外归一化。训练中采用了随机缩放、裁剪、颜色抖动和高斯模糊等数据增强技术以增强特征鲁棒性。此外,为提升聚类性能,我们通过余弦相似度预计算了每张图像的全局最近邻,从而在每个训练批次中为每张图像采样两个增强版本和两个最近邻,将局部和全局信息整合到学习表示中。我们将此方法称为“InfoNCE聚类”,具体使用包含增强、KNN(k=3)和一阶KNN游走的监督邻域,并采用k均值中的“簇内共享似然”邻域函数驱动聚类学习。

4.1 baselines

        我们将I-Con方法与多种最先进的聚类方法(包括TEMI、SCAN、IIC和对比聚类)进行比较。这些方法依赖增强和学习表示,但通常需要额外正则化项或损失调整(如控制簇大小或调整亲和度损失权重)。相比之下,基于I-Con的损失函数是自平衡的,无需手动调参,从而实现了更简洁、理论更完备的框架,并在不同规模的主干模型上取得了更高的准确率和更稳定的收敛性。

4.2 结果

        表2对比了基于不同DiNO变体(ViT-S/14、ViT-B/14、ViT-L/14)的去偏InfoNCE聚类与其他现代聚类方法的匈牙利准确率。I-Con框架在所有模型规模上均显著优于现有方法。具体而言,对于DiNO ViT-B/14和ViT-L/14模型,去偏InfoNCE聚类在匈牙利准确率上分别比先前的SOTA方法TEMI提升4.5%和7.8%。我们将其归因于以下两个因素:

  • 自平衡损失:与需要手动调整正则化的TEMI或SCAN不同,I-Con的损失函数无需额外超参数即可自动平衡这些因素,从而生成更鲁棒和准确的簇。
  • 跨领域视野:I-Con通过将对比学习的洞见迁移至聚类任务,利用嵌入空间中的图像对关系,在噪声高维图像数据上实现了性能提升。

4.3 消融实验

        我们通过一系列消融实验,从I-Con框架分析对比聚类的角度验证所提出的架构改进。实验聚焦于两个关键方向:

4.3.1 去偏策略的影响

        我们测试了目标分布中不同去偏参数\alpha的取值,并比较了去偏仅应用于目标侧(即监督分布)、同时应用于目标侧与学习表示侧(即联合分布)以及无去偏时的性能差异。如图6所示,加入去偏后模型性能普遍提升,最优\alpha值通常落在0.6至0.8区间内(红色曲线),尤其在联合去偏(目标侧与学习表示侧同时应用)时效果最佳。这一方法与对比学习中的去偏机制类似,假设每个负样本存在\alpha /N的误判概率。图5进一步展示了不同批大小下\alpha值对性能的改善作用:

  • 左图:去偏策略在ImageNet-1K上对模型性能的提升具有批次规模鲁棒性。

  • 中图:未去偏模型(\alpha =0)的预测概率分布呈现过度自信(概率值高度集中于0.9-1.0区间),反映校准性差。

  • 右图:去偏模型(\alpha =0.4)的预测概率分布更平缓,改善了校准性,同时通过缓解梯度饱和问题提升了优化稳定性。

4.3.2 邻居传播策略的影响

        表4系统评估了在对比损失计算中引入局部与全局邻居信息对聚类性能的影响。实验表明:

  • KNN基础传播:直接引入K近邻(k=3)可提升ViT-S/14和ViT-B/14模型性能(+0.92%和+1.23%)。

  • 一阶游走传播:在KNN图上进行一步传播(1-walk)进一步改善ViT-S/14(+1.66%)和ViT-L/14(+0.27%)。

  • 高阶游走传播:两步传播(2-walk)对ViT-L/14效果最佳(+1.54%),但三步传播(3-walk)出现收益递减,表明过度传播可能稀释关键邻域信息。

        值得注意的是,仅ViT-L/14模型偏好大尺度传播(s=3),这可能源于其更强的k近邻表征能力使得扩展链接更可靠。总体建议限制传播步长(s=1或s=2)以平衡性能与计算效率。

        表3展示了通过I-Con框架衍生的新技术对ImageNet-1K聚类性能的渐进改进。实验表明,通过对监督分布和学习分布的微调(如调整\alpha和传播规模),I-Con框架能够以简洁的损失函数实现最先进的性能。不同模型对超参数的敏感性存在差异:大模型(如ViT-L/14)更受益于扩展传播,但需精细调节\alpha值以优化结果。建议在计算资源允许的情况下,优先选择\alpha \approx 0.6\alpha \approx 0.8并结合小尺度邻居传播。

5 结论

        总的来说,我们提出了I-Con框架——这是一个能够统一机器学习中广泛方法类的信息论公式。我们论证了该框架能够连接聚类、谱图理论、监督与非监督对比学习、降维、监督分类与回归等领域的23种主流方法。这种理论统一不仅揭示了不同方法间的深层联系,更重要的是为跨领域技术迁移建立了系统化路径,使得特定方法的改进能够普适应用于整个方法家族。我们相信,这项工作中提出的结果只是I-Con潜在统一方法的一小部分,我们希望社区可以利用这一观点来改善算法和机器学习学科之间的协作和分析。

启发

  • 用“统一视角”看待不同方法:许多看似不同的机器学习方法(如聚类、对比学习、降维)其实本质相似,都可以看作是在对齐两种概率分布(比如数据本身的分布 vs. 模型学到的分布)。
  • 跨领域“技术迁移”:论文中对比学习中的去偏技巧(Debiasing)可以直接改进聚类算法。不要局限于自己领域的经典方法,可以尝试把其他领域的技巧“嫁接”过来。

BibTex

@inproceedings{
    alshammari2025a,
    title={A Unifying Framework for Representation Learning},
    author={Shaden Naif Alshammari and Mark Hamilton and Axel Feldmann and John R. Hershey and William T. Freeman},
    booktitle={The Thirteenth International Conference on Learning Representations},
    year={2025},
    url={https://openreview.net/forum?id=WfaQrKCr4X}
}

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

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

相关文章

Missashe线代题型总结

Missashe线性代数考研题型总结 说明:这篇笔记用于博主对"线代"常考题型进行总结,99%为真题,大概可能应该会逐步更新解题思路。有目录可直接检索。 第一章 行列式 1 具体行列式计算 1)么字型 2015 数一 2016 数一三…

蓝桥杯13届 卡牌

问题描述 这天, 小明在整理他的卡牌。 他一共有 n 种卡牌, 第 i 种卡牌上印有正整数数 i(i∈[1,n]), 且第 i 种卡牌 现有 ai​ 张。 而如果有 n 张卡牌, 其中每种卡牌各一张, 那么这 n 张卡牌可以被称为一 套牌。小明为了凑出尽可能多套牌, 拿出了 m 张空白牌, 他可以在上面…

安卓开发用到的设计模式(1)创建型模式

安卓开发用到的设计模式(1)创建型模式 文章目录 安卓开发用到的设计模式(1)创建型模式1. 单例模式(Singleton Pattern)2. 工厂模式(Factory Pattern)3. 抽象工厂模式(Abs…

线程的一些基本知识

前言 最近在学习线程,线程与进程是面试中可能常考的问题,我总结了线程的一些知识。分享给大家,希望可以帮组到大家。 线程知识总结(包含与进程的区别) 结语 希望可以帮助到有需要的人,bye~~

【Python打卡Day30】模块与包的导入@浙大疏锦行

#一、导入官方库 我们复盘下学习python的逻辑,所谓学习python就是学习python常见的基础语法学习你所处理任务需要用到的第三方库 所以你用到什么学什么库即可。学习python本身就是个伪命题,就像你说学习科目一样,你没说清晰你学习的具体科目…

26考研|高等代数:λ-矩阵

前言 本章知识点较为简单,是作为工具性的一章,在学习过程中,要注意区分行列式因子、不变因子以及初等因子,同时还要对若尔当标准型的计算应该足够熟悉,尤其是复矩阵的若尔当标准型计算是十分重要的。 课本重点回顾 …

我店模式系统开发打造本地生活生态商圈

在当今快节奏的商业环境中,商家们面临着越来越多的挑战,包括市场竞争加剧、消费者需求多样化以及运营效率的提高等。为了应对这些挑战,越来越多的商家开始寻求信息化解决方案,以提升运营效率和客户体验。我的店模式系统平台应运而…

数据库练习(3)

简单选择题要点: 1.锁协议: 数据库原理及应用(高级篇)01——封锁协议(图文并解,超详细,一看就会)_数据库锁协议-CSDN博客https://blog.csdn.net/qq_44236958/article/details/105790970 2.tablespace和datafile 一个tablespace可以有一个或多…

OpenGL ES 基本基本使用、绘制基本2D图形

OpenGL ES 绘制基础图形 OpenGL ES基本概念 OpenGL ES (Embedded-System) 是专为嵌入式设备(如手机、平板、VR 设备)设计的图形 API,是 OpenGL 的轻量级版本。 |下面是一个Android使用 OpenGL ES的基本框架 MainActivity 设置一…

BU9792驱动段式LCD

1、C文件,需要自己添加软件iic或硬件iic驱动,该驱动在我的别的文章内有。亲测bu9792是正常驱动的(只用到了前14个SEG),说实话有点懵了。后面的ICSET有个P2根据不同的SEG地址要置1或0,读的时候最高位也是0?读命令寄存器…

力扣-将x减到0的最小操作数

1.题目描述 2.题目链接 1658. 将 x 减到 0 的最小操作数 - 力扣(LeetCode) 3.题目分析 1)正面求解困难 题目要求我们每次都从最左边或者最右边取一个数,使x-元素的值,并在数组中移除该元素。最后返回的最小操作数…

三、【数据建模篇】:用 Django Models 构建测试平台核心数据

【数据建模篇】:用 Django Models 构建测试平台核心数据 前言我们要设计哪些核心数据?准备工作:创建 Django App开始设计数据模型 (Models)1. 通用基础模型 (可选但推荐)2. 项目模型 (Project)3. 模块模型 (Module)4. 测试用例模型 (TestCase…

shp2pgsql 导入 Shp 到 PostGIS 空间数据库

前言 ❝ shp2pgsql是PostGIS自带的命令行工具,用于将Shapefile文件声称SQL脚本导入到PostGIS空间数据库。 1. 安装 PostGIS 通过Application Stack Builder或者下载单独的PostGIS包进行安装。而shp2pgsql则是与PostGIS工具集成在一起,无需单独下载。该命…

word设置如“第xx页 共xx页”格式的页码

问题1: 为word文档设置如“第xx页 共xx页”格式的页码。 解决方法: 1、鼠标双击页脚位置进入页脚编辑模式; 2、在页脚处输入“第 页 共 页”内容并居中; 3、将光标放在“第 页”之间并插入“Page”,执行操作“…

DL00912-基于自监督深度聚类的高光谱目标检测含数据集

在科研的道路上,数据的获取与分析无疑是成功的关键。对于从事高光谱数据研究的你,我们为您带来了一款革命性的工具——基于自监督深度聚类的高光谱目标检测系统。 完整代码数据集见文末 这款系统通过最先进的自监督学习技术,结合深度聚类算…

Runtipi - 开源个人家庭服务器管理工具

项目功能:家庭服务器管理 ▎项目介绍: 一个开源的个人家庭服务器管理工具,旨在简化在单一服务器上管理和运行多个服务的过程。 它基于 Docker 构建,提供了一个简单的 Web 界面,用户可以通过该界面轻松添加和管理服务…

HJ106 字符逆序【牛客网】

文章目录 零、原题链接一、题目描述二、测试用例三、解题思路四、参考代码 零、原题链接 HJ106 字符逆序 一、题目描述 二、测试用例 三、解题思路 基本思路:   考虑到可能会有多个空格,使用使用 getline 函数直接读取一行。   如果可以直接打印的…

力扣HOT100之二叉树: 236. 二叉树的最近公共祖先

果然,这道题二刷还是不会做,回去看卡尔视频了。结合灵神的题解,我对这道题有了一些新的理解。 首先这道题还是用递归来做,由于我们需要计算两个节点的最近公共祖先,一定是从下往上来遍历,只有先判断左右子树…

腾讯音乐一面

1、自我介绍项目(省略) 2、为什么存储要从TiDB迁移到Mysql? TiDB 迁移至 MySQL 核心原因总结: 成本优化 TiDB 需多节点集群(PD/TiKV/TiDB Server),硬件、运维及学习成本高。中小业务&#xff08…

Pluto实验报告——基于2ASK的简易的通信系统

一、实验目的 1. 熟悉并掌握PLUTO SDR 主动学习模块的使用; 2.通过matlab 编码与adalm pluto 相配合达成一个简易的通信系统,并能 够传输一些较为简单的信息。 二、实验原理 2ASK 调制原理: 振幅键控是指利用载波的振幅变化来传递数字基带信…