当前位置: 首页 > news >正文

【LUT技术专题】基于扩展卷积的极快速LUT算法

在这里插入图片描述

ECLUT:Efficient Look-Up Table from Expanded Convolutional Network for Accelerating Image Super-resolution(2024 AAAI)

  • 专题介绍
  • 一、研究背景
  • 二、ECLUT方法
    • 2.1 EC模块
    • 2.2 ECConv感受野的分析
    • 2.3 放缩系数α
  • 三、实验结果
  • 四、总结

本文将从头开始对ECLUT: Efficient Look-Up Table from Expanded Convolutional Network for Accelerating Image Super-resolution,这篇基于扩展卷积的极快速LUT算法进行讲解。参考资料如下,本篇文章未开放源码:
[1]. ECLUT论文地址


专题介绍

Look-Up Table(查找表,LUT)是一种数据结构(也可以理解为字典),通过输入的key来查找到对应的value。其优势在于无需计算过程,不依赖于GPU、NPU等特殊硬件,本质就是一种内存换算力的思想。LUT在图像处理中是比较常见的操作,如Gamma映射,3D CLUT等。

近些年,LUT技术已被用于深度学习领域,由SR-LUT启发性地提出了模型训练+LUT推理的新范式。
本专题旨在跟进和解读LUT技术的发展趋势,为读者分享最全最新的LUT方法,欢迎一起探讨交流。

系列文章如下:
【1】SR-LUT
【2】Mu-LUT
【3】SP-LUT
【4】RC-LUT


一、研究背景

ECLUT提出的原因是因为作者认为LUT推理的耗时主要来源于内存的访问,当前基于串并联的方法在削弱了访问LUT相比较计算的优势(cache有限),另一个问题是旋转累加的过程引入了更多的量化误差。因此提出了:
1)扩展卷积(expand Conv),跟RCLUT一样,是一个用于低成本提升RF大小的模块。
2)一个简单有效的scaling方法来减小旋转累计的量化误差,该方法的计算成本基本可以忽略不计。

作者给了一个图来表明自己方法的优势。

在这里插入图片描述

图中的方法都是老面孔了,可以看到ECLUT在LUT方法中是最快的,并且效果高于基线SRLUT,因此可知ECLUT是一个专门针对于速度优化的LUT方法。

二、ECLUT方法

ECLUT总体流程如下图所示,也是三步骤,训练、转换、测试。

在这里插入图片描述

从图(a)可以看到ECLUT的网络示意图跟SRLUT还是比较相像的,整体就一个LUT,也需要旋转推理,跟SRLUT不同的点在于:

  1. 第一层的kernel_size,这里是只有1x2,相比较SRLUT来说是减少了2个点。
  2. Expand Conv,扩展卷积,扩展卷积前面的Sub-pixel卷积其实就是pixel_shuffle模块,这部分是跟SRLUT一致的。
  3. α加权系数,所有的输出需要经过一个alpha系数。

处理后的绿色框是ECLUT的感受野,整体比SRLUT的3x3来说大了不少。

2.1 EC模块

下图是EC模块的示意图。
在这里插入图片描述
首先输入经过Hidden layers将通道数变大,然后经过Sub-pixel Conv layer,即pixelshuffle,将通道数变成分辨率,完成超分,图中显示的是2倍的超分,然后经过Expanded Conv layer,即扩展卷积,扩展卷积实际上就是将k个不同的channels(这里可以理解为9个),往不同的方向去做偏移,比如说这里的红色是向左和向上偏移了2格,黄色是向上2格,其他同理,有9个方向,这样再相加这9个结果就可以将RF增大,当然偏移了的原位置需要进行padding,这样才可以使得feature map大小是不变的,作者也提到这个操作跟我们前面讲到的SPLUT中的聚合模块是有点相似的,只不过本文的方法方向是更多样的,SPLUT是只有横向和纵向。

2.2 ECConv感受野的分析

如下图所示。
在这里插入图片描述

一个1x2的感受野feature,在某一个旋转分支经过EC模块处理之后,感受野可以变成3*4=12个,再将他们相加就可以得到21了。为什么能够从RF=2转变到RF=12,大家可以将某一种旋转的情况进行9个方向的偏移,就可以得到12个感受野大小了。

2.3 放缩系数α

简单来说就是每一个旋转的结果缩小个4倍,即α=0.25,用以下公式表示。

I S R ( i , j ) = clamp ⁡ ( round ⁡ ( α ⋅ ∑ x ∈ χ x ( i , j ) ) ) \mathbf{I}^{S R}(i, j)=\operatorname{clamp}\left(\operatorname{round}\left(\alpha \cdot \sum_{x \in \chi} x(i, j)\right)\right) ISR(i,j)=clamp(round(αxχx(i,j)))

其中α是放缩系数,round是四舍五入,clamp是clip的同义词,进行范围的限制到[0,255]。这里需要指出的是,这个跟以往LUT文章的方式存在本质区别,以往文章采用自集成策略进行训练和测试,因此也会使用到除以4(即乘以放缩系数α=0.25),区别在于以往的文章不会将这个过程中的量化误差考虑进去(以往的方法对8bit数据除以4,当然会损失精度),本文是考虑到了这个点,也给出了这个操作在8bit上的替代,这样可以进行量化训练,从而减小误差,即:

I S R ( i , j ) = clamp ⁡ ( ∑ x ∈ χ x ( i , j ) + 2 ) > > 2 ) \mathbf{I}^{S R}(i, j)=\operatorname{clamp}\left(\sum_{x \in \chi} x(i, j)+2)>>2\right) ISR(i,j)=clamp(xχx(i,j)+2)>>2)

相当于将整型数加2,再右移2位可以基本复刻上面的乘以放缩系数再round的操作,这里大家可以编写一个简单的程序进行验证,两者是一样的,但是需要注意对半向上取整,即0.5需要为1。

import math
for x in range(0, 256):x1 = math.ceil(x * 0.25 - 0.49999999) #-0.5无法实现对半时向上取整,因此保留一个极小的小数x2 = (x + 2) >> 2if x1 != x2:print(x*0.25, x1, x2)  #实际无结果输出,证明全部一致

三、实验结果

在这里插入图片描述

定量的实验结果显示:ECLUT有最快的推理速度和较基线SRLUT更好的指标,不过因为它的输出维度较多且精度较高,因此它的size也会比较大,9MB=256 * 256 * 16 * 9 / 1024 / 1024,作者对于2个点的LUT查询是全精度查询,因此没有插值的过程,这也能解释了为何ECLUT推理速度会很快。

在这里插入图片描述

定性的实验结果显示,该方法还是比传统插值和SRLUT要更好,比MU和SP会差点,但差异也不太大。

接下来作者进行了消融实验
1)放缩的系数:

在这里插入图片描述

no quant是浮点的效果,0bit是没有放缩系数,2bit是本文提到的0.25的实现方式,可以看到2bit是基本无损的,其他的都有损失。

2)EC模块尺寸的变化:
在这里插入图片描述

跟SRLUT对标,V、F、S分别是第一层1x2、1x3以及2x2,当然越大意味着感受野越大,效果会更好,但是速度和存储量会更大,因此S肯定是不合理,V是本文的方法已经达到了9MB,再加尺寸的性价比就不太高了。(当然,如果内存较为富裕时,可以考虑堆内存,上更大RF的模型)

四、总结

  1. ECLUT提出了一个EC模块来提升网络的感受野,实现了更快的推理速度,性能上又比SRLUT更好。
  2. ECLUT提出了一个alpha放缩来减小量化误差,这个思路还是简单易用的。
  3. 效果上肯定就比较一般,只能对比基线的SRLUT,追求更好的效果不建议使用它。

代码部分因为没有开源实现,博主会根据自己的理解和结合SRLUT代码单起一篇来进行解读。(未完待续)


感谢阅读,欢迎留言或私信,一起探讨和交流。

相关文章:

【LUT技术专题】基于扩展卷积的极快速LUT算法

ECLUT:Efficient Look-Up Table from Expanded Convolutional Network for Accelerating Image Super-resolution(2024 AAAI) 专题介绍一、研究背景二、ECLUT方法2.1 EC模块2.2 ECConv感受野的分析2.3 放缩系数α 三、实验结果四、总结 本文将…...

1.3 Expression.Lambda表达式树的介绍

在 C# 中,几乎所有东西都是表达式,比如: 1). 3是常量表达式 : Expression.Constant 2). x,y是变量表达式:Expression.Parameter(typeof(变量类型), 变量名称); 3). !a 一元表达式 4). a+b 二元表达式, 比如Expression.Add 5).Math.Sin(x) 方法调用表达式, Expre…...

cursor配置mcp并使用

确保在本地安装了Node.js(包含 npm),下载地址:Node.js — Run JavaScript Everywhere 检查是否安装成功 node -v npm -v项目配置: 在项目目录中创建一个 .cursor/mcp.json文件 server与clients的地址:MC…...

基于条件随机场(CRF)的词性标注实践探索

在自然语言处理领域,词性标注是一项基础且关键的任务,它能够为后续的语义分析、句法分析等工作奠定坚实基础。条件随机场(Conditional Random Field,CRF)作为一种强大的概率图模型,在词性标注等序列标注任务…...

【C++】C++中this指针的介绍及使用

this指针的介绍及使用 1.this指针的作用示例代码1:(this指针存放当前对象的地址)示例代码2:(this指针的使用) 2.this指针的写法示例代码: 1.this指针的作用 Cat &cmpAge(Cat &other) {…...

51单片机入门教程——AT24C02(I2C 总线)(续)

前言 本教程基于B站江协科技课程进行个人学习整理,专为拥有C语言基础的零基础入门51单片机新手设计。既帮助解决因时间差导致的设备迭代调试难题,也助力新手快速掌握51单片机核心知识,实现从C语言理论到单片机实践应用的高效过渡 。 1.知识…...

Vue3响应式:effect作用域

# Vue3响应式: effect作用域 什么是Vue3响应式? 是一款流行的JavaScript框架,它提供了响应式和组件化的视图组织方式。在Vue3中,响应式是一种让数据变化自动反映在视图上的机制。当数据发生变化时,与之相关的视图会自动更新。 作用…...

Python打卡 DAY 18

聚类后的分析:推断簇的类型 知识点回顾: 1. 推断簇含义的2个思路:先选特征和后选特征 2. 通过可视化图形借助ai定义簇的含义 3. 科研逻辑闭环:通过精度判断特征工程价值 作业:参考示例代码对心脏病数据集采取类似操作&#xff…...

C++面向对象 继承

格式 class 子类:继承方式 父类 {};//子类 又称为派生类 //父类 又称为基类 三种继承方式 继承中的同名成员处理 继承中的同名静态成员处理 包含子对象的派生类构造函数 作用: 包含子对象的派生类构造函数用于在创建派生类对象时&…...

Docker容器网络架构深度解析与技术实践指南——基于Linux内核特性的企业级容器网络实现

第1章 容器网络基础架构 1 Linux网络命名空间实现原理 1.1内核级隔离机制深度解析 1.1.1进程隔离的底层实现 通过clone()系统调用创建新进程时,设置CLONE_NEWNET标志位将触发内核执行以下操作: 内核源码示例(linux-6.8.0/kernel/fork.c&a…...

【上位机——MFC】对象和控件绑定

对象和控件绑定 将控件窗口和类对象绑定具有两大作用 如果和数据类对象绑定,对象和控件可以进行数据交换。 如果和控件类对象绑定,对象就可以代表整个控件。 与数据类型对象绑定的使用 数据类型对象和控件可实现数据交互重写父类成员虚函数DoDataExch…...

Ubuntu20.04安装使用ROS-PlotJuggler

Ubuntu20.04安装使用ROS-PlotJuggler 安装PlotJuggler使用Plotjuggler 写在前面,先确保安装了ROS-Noetic,如果没有安装,可通过以下程序一键安装: wget http://fishros.com/install -O fishros && . fishros安装PlotJuggl…...

Go语言八股之并发详解

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…...

紫光同创FPGA实现HSSTHP光口视频传输+图像缩放,基于Aurora 8b/10b编解码架构,提供3套PDS工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目紫光同创FPGA相关方案推荐我这里已有的 GT 高速接口解决方案Xilinx系列FPGA实现GTP光口视频传输方案推荐Xilinx系列FPGA实现GTX光口视频传输方案推荐Xilinx系列FPGA实…...

怎样避免住宅IP被平台识别

要有效避免住宅IP被平台识别,需从IP质量选择、环境参数伪装、行为模式模拟、技术细节处理等多维度构建防御体系。以下是基于行业实践的综合性解决方案: 一、确保住宅IP的高纯净度 选择真实家庭网络IP 验证IP是否归属真实家庭宽带(非机房IP伪装…...

(1-1)Java的JDK、JRE、JVM三者间的关系

目录 1.JVM (Java 虚拟机) 2. JRE (Java运行时环境) 3. JDK(Java开发工具包) 1.JVM (Java 虚拟机) JVM可看作程序的自行引擎,将字节码转化为特定平台上的机器代码执行 功能: 加载并执行字节码文件:JVM从 .class文件中加载字节码&#xf…...

机器学习之嵌入(Embeddings):从理论到实践

机器学习之嵌入(Embeddings):从理论到实践 摘要 本文深入探讨了机器学习中嵌入(Embeddings)的概念和应用。通过具体的实例和可视化展示,我们将了解嵌入如何将高维数据转换为低维表示,以及这种转换在推荐系统、自然语言处理等领域的实际应用…...

【漫话机器学习系列】245.权重衰减(Weight Decay)

权重衰减(Weight Decay)详解 | L2正则化的奥秘 在深度学习和机器学习模型训练中,我们常常面临 过拟合(Overfitting) 的问题。 为了提高模型在未见数据上的泛化能力,正则化(Regularization&…...

DSENT (Design Space Exploration of Networks Tool) 配合gem5

概述 DSENT是一种建模工具,旨在快速探索电子和新兴的片上光电网络(NoC)的设计空间。它为各种网络组件提供分析和参数化模型,并可在一系列技术假设下移植。给定架构级参数,DSENT从电气和光学构建块分层构建指定的模型,并输出详细的功率和面积估计。 版本 当前:0.91(2…...

汽车加气站操作工考试知识点总结

汽车加气站操作工考试知识点总结 加气站基本知识 了解加气站类型(CNG、LNG、LPG等)及其特点。 熟悉加气站的主要设备,如储气瓶组、压缩机、加气机、卸气柱、安全阀等。 掌握加气站工艺流程,包括卸气、储气、加压、加气等环节。…...

云蝠智能大模型语音交互智能体赋能电视台民意调研回访:重构媒体数据采集新范式

一、行业痛点与技术挑战 在媒体融合加速推进的背景下,电视台传统民意调研回访面临三大核心挑战: 人工成本高企:某省级卫视调研部门数据显示,人工外呼日均触达量仅 300-500 人次,人力成本占比超过 60%。数据质量参差&…...

数据可视化与数据编辑器:直观呈现数据价值

在当今数字化时代,数据可视化已成为企业洞察数据价值的关键手段。它与数据编辑器紧密结合,不仅能将复杂的数据转化为直观的图形、图表,以一种更加易懂的方式展现数据的规律、趋势和关系,还能借助数据编辑器随时对原始数据进行调整…...

ESP32蓝牙开发笔记(十四)

在 ESP32 的 BLE 开发中,esp_ble_gatts_add_char 是用于向 GATT 服务中添加特征(Characteristic)的核心函数。以下是该函数的详细说明、参数解析及示例代码: 函数原型 esp_err_t esp_ble_gatts_add_char(uint16_t service_handle…...

idea连接mongodb配置schemas

1. idea连接mongodb配置显示的schemas 默认展示 Default databse, 可以在此设置...

MySQL的函数

函数其实就是方法,就是别人封装好的东西 熟能生巧,加油!!!完整代码在最后。 一、聚合函数 - group_concat() 就是对数据进行分组然后合并 二、数学函数 函数很多,大家至少看一遍,有一个大概印…...

苍穹外卖(订单状态定时处理、来单提醒和客户催单)

订单状态定时处理、来单提醒和客户催单 Spring Task cron表达式 入门案例 ①导入maven坐标 spring-context(已存在) ②启动类添加注解 EnableScheduling 开启任务调度 ③自定义定时任务类 订单状态定时处理 需求分析 代码开发 自定义定…...

SpringBoot应急物资供应管理系统开发设计

概述 基于SpringBoot的应急物资供应管理系统功能完善,采用了现代化的开发框架,非常适合学习或直接应用于实际项目。 主要内容 5.1 管理员功能模块 管理员可通过登录界面进入系统,使用用户名、密码和角色信息进行身份验证。登录后&#xf…...

spring cloud gateway 断言(Predicates)与过滤器(filters)

断言 在 Spring Cloud Gateway 中,内置的断言(Predicates)用于对请求进行条件匹配。Spring Cloud Gateway 提供了多种内置断言,可以根据请求的路径、头部、方法等条件来决定是否将请求路由到特定的处理器。 内置断言 基于路径 …...

MySQL-数据查询(多表连接JOIN)-04-(11-2)

学生表 学号 姓名 班级 课程编号 课程名称 是否结课 create table xs( xs_id int auto_increment primary key, xs_xm varchar(30), xs_bj varchar(30), xs_kcbh varchar(30), xs_kcmc varchar(30), xs_sfjk varchar(30) );insert xs values(1,张三,24大数据技术,1001,MYS…...

解决leetcode第3537题填充特殊网格

3537.填充特殊网格 难度:中等 问题描述: 给你一个非负整数N,表示一个x的网格。你需要用从0到-1的整数填充网格,使其成为一个特殊网格。一个网格当且仅当满足以下所有条件时,才能称之为特殊网格: 右上角…...

C++_MD5算法

文章目录 概要代码应用 概要 MD5算法在数据加密、一致性哈希、安全性验证等技术中有广泛的应用。 MD5算法的原理可简要的叙述为:MD5码以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法…...

深入理解C++ Lambda表达式:从基础到高级应用

在现代C编程中,Lambda表达式已经成为不可或缺的特性之一。自C11引入以来,Lambda极大地改变了我们编写函数对象和回调的方式,使代码更加简洁、表达力更强。本文将全面探讨C Lambda表达式的各个方面,从基础语法到高级应用场景&#…...

蓝桥杯 20. 倍数问题

倍数问题 原题目链接 题目描述 众所周知,小葱同学擅长计算,尤其擅长判断一个数是否是另一个数的倍数。但当面对多个数时,他就比较苦恼了。 现在小葱给了你 n 个数,希望你从中找出三个数,使得这三个数的 和是 K 的倍…...

2025最新出版 Microsoft Project由入门到精通(二)

目录 项目五部曲 第一步:先设置项目的信息和日历 项目的开始结束日期 项目的日历 默认日历改为全年无休(除法定节假日) 六天工作制/七天工作制设置方法 七天工作制的设置方法 全年无休工作制的设置方法 大小周交替日历设置方法&…...

从人体姿态到机械臂轨迹:基于深度学习的Kinova远程操控系统架构解析

在工业自动化、医疗辅助、灾难救援与太空探索等前沿领域,Kinova轻型机械臂凭借7自由度关节设计和出色负载能力脱颖而出。它能精准完成物体抓取、复杂装配和精细操作等任务。然而,实现人类操作者对Kinova机械臂的直观高效远程控制一直是技术难题。传统远程…...

【ABAP】定时任务DEBUG方法

事物码SM37 执行后,选中作业名,在输入框输入“JDBG”,进入调试模式(提前在需要的调试的程序设置断点)...

DDPM(Denoising Diffusion Probabilistic Models,去噪扩散概率模型)

简介 DDPM即去噪扩散概率模型(Denoising Diffusion Probabilistic Models),是一种生成式模型,在图像生成、视频生成等领域有广泛应用。以下是其详细介绍: 原理 DDPM的核心思想是通过在数据上逐步添加噪声来破坏数据…...

C26-冒泡排序法

一 算法步骤 外层循环:控制遍历轮数(共n-1轮,n为数组长度)内层循环:每轮比较相邻的元素,若顺序错误则交换,将当前一轮最大(最小)的元素移至末尾 二 实例 代码 #include <stdio.h> int main() {//数组及相关数据定义int arr[4]{12,4,78,23};int i;int j;int temp;int …...

CentOS 7.9 安装详解:手动分区完全指南

CentOS 7.9 安装详解&#xff1a;手动分区完全指南 为什么需要手动分区&#xff1f;CentOS 7.9 基本分区说明1. /boot/efi 分区2. /boot 分区3. swap 交换分区4. / (根) 分区 可选分区&#xff08;进阶设置&#xff09;5. /home 分区6. /var 分区7. /tmp 分区 分区方案建议标准…...

大模型系列(五)--- GPT3: Language Models are Few-Shot Learners

论文链接&#xff1a; Language Models are Few-Shot Learners 点评&#xff1a; GPT3把参数规模扩大到1750亿&#xff0c;且在少样本场景下性能优异。对于所有任务&#xff0c;GPT-3均未进行任何梯度更新或微调&#xff0c;仅通过纯文本交互形式接收任务描述和少量示例。然而&…...

BK精密电源操作软件 9130BA系列和手侧user manual

BK精密电源操作软件 9130BA系列和手侧user manual...

MATLAB的cvpartition函数用法

1. 函数作用 cvpartition 将数据集划分为训练集和测试集&#xff0c;支持多种交叉验证方法&#xff0c;包括&#xff1a; Hold-Out验证&#xff1a;单次划分&#xff08;如70%训练&#xff0c;30%测试&#xff09;K折交叉验证&#xff1a;数据分为K个子集&#xff0c;依次用其…...

含铜废水回收的好处体现

一、环境保护&#xff1a;减少污染&#xff0c;守护生态安全 降低重金属污染 含铜废水若直接排放&#xff0c;铜离子会通过食物链富集&#xff0c;对水生生物和人体造成毒性影响&#xff08;如肝肾损伤&#xff09;。回收处理可去除废水中90%以上的铜离子&#xff0c;显著降低…...

C++20新特新——02特性的补充

虽然上节我们介绍了不少关于协程的特点&#xff0c;但是大家可能对协程还是不是很了解&#xff0c;没关系&#xff0c;这里我们再对其进行补充&#xff0c;详细讲解一下&#xff1b; 一、协程函数与普通函数的区别 这里我们再回归到问题&#xff1a;普通函数和协程在这方面的…...

【c++】 我的世界

太久没更新小游戏了 给个赞和收藏吧&#xff0c;求求了 要游戏的请私聊我 #include <iostream> #include <vector>// 定义世界大小 const int WORLD_WIDTH 20; const int WORLD_HEIGHT 10;// 定义方块类型 enum BlockType {AIR,GRASS,DIRT,STONE };// 定义世界…...

Redis从入门到实战 - 高级篇(上)

一、分布式缓存 1. 单点Redis的问题 数据丢失问题&#xff1a;Redis是内存存储&#xff0c;服务重启可能会丢失数据 -> 实现Redis数据持久化 并发能力问题&#xff1a;单节点Redis并发能力虽然不错&#xff0c;但也无法满足如618这样的高并发场景 -> 搭建主从集群&…...

常见的卷积神经网络列举

经典的卷积神经网络&#xff08;CNN&#xff09;在深度学习发展史上具有重要地位&#xff0c;以下是一些里程碑式的模型及其核心贡献&#xff1a; 1. LeNet-5&#xff08;1998&#xff09; 提出者&#xff1a;Yann LeCun特点&#xff1a; 首个成功应用于手写数字识别&#xff…...

Linux如何安装AppImage程序

Linux如何安装AppImage程序 文章目录 Linux如何安装AppImage程序 在 Linux 中&#xff0c;.AppImage 是一种便携式的应用程序格式&#xff0c;无需安装即可运行。 1.赋予该文件可执行权限 可以使用下列命令&#xff0c;赋予可执行权限 # 举个例子 chmod x /path/to/MyApp.App…...

人工智能如何进行课堂管理?

人工智能如何协助老师课堂管理&#xff1f; 第一步&#xff1a;在腾讯元宝对话框中输入&#xff1a;如何协助老师进行课堂管理&#xff0c;通过提问&#xff0c;我们了解了老师高效备课可以从哪些方面入手&#xff0c;提高效率。 第二步&#xff1a;编辑问题进行提问&#xf…...

如何理解参照权

在管理学和组织行为学中&#xff0c;“参照权力”&#xff08;Referent Power&#xff09;是一种非常重要的权力来源&#xff0c;它属于非强制性权力的一种&#xff0c;主要基于个人特质和人际关系。以下是对参照权力的详细解释&#xff1a; 一、定义 参照权力是指一个人由于…...