论文泛读《LPFHE: Low-Complexity Polynomial CNNs for Secure Inference over FHE》

文章目录

  • 1、摘要
  • 2、介绍
  • 3、文章结构
  • 4、总结


1、摘要

Machine learning as a service (MLaaS) 在客户中越来越受欢迎。为了解决 MLaaS 中的隐私问题,引入了 FHE 来保护客户端的数据。
 然而,FHE 不能直接评估 卷积神经网络 (CNNs) 中的非算数激活函数。现有的一些工作是使用 不同程度的多项式 来替代 激活函数,获得 FHE 友好的 CNNs。缺点是,需要面对 精度损失延迟增加 之间的平衡问题。

该论文提出了一个 LPFHE 框架,使用 低复杂度多项式 精确地近似 CNNs 中的 基本 ReLU函数LPFHE 支持找到 每个 ReLU 函数最优逼近域多项式
 通过将 分段加权最小二乘算法算法Remez 算法 相结合,LPFHE 能够生成具有 高推理进度的低复杂度多项式 CNN,因为 低阶多项式 很好地保留了 ReLU 函数 的性质。

 该论文在 RNS-CKKS 下的 加密 CIFAR10/100 数据集 上的 ResNet20/32/44 网络 上实现了 LPFHE,与之前的工作相比,其 摊销推理延迟 减少了48.7%,精度损失 很小。

2、介绍

 作者首先通过研究之前的论文发现:

  • RNS-CKKS 方案,加密数据,并在 CNNs 中执行推理。缺点是,RNS-CKKS 只能支持同态加法和乘法,不能直接求出 CNNs 中的 基本非算数激活函数,例如 ReLU (Rectified Linear Unit) 函数。
  • 之后的研究提出了 使用低阶多项式代替 ReLU,并且 并且重新训练得到的多项式 CNN。但是这些 非标准多项式 CNN精度 方面不可避免地不如 原始 CNN
    • MPCNN
      提出使用 极大极小多项式 的 高次组合 来精确近似 符号函数 sgn (x),并将 ReLU 表示为 x · (0.5 + 0.5 · sgn(x)),从而得到 多项式 ReLU
      缺点是,这种 高阶多项式函数 需要在 密文 上进行许多非常耗时的 同态乘法 和更多的 自举操作
    • AutoFHE
      提出使用 低阶多项式 代替一些 对精度影响较低ReLUs
      缺点是,这种代替是 与目标数据集高度相关的,使得 网络的泛化 不足以在 分布差异较大隐私数据 上保持较高的 准确性

上面这些工作只为 特定的网络 和 数据集 找到 面向精度低次多项式 ReLU使用 低次多项式 精确近似 ReLU 仍然是一个悬而未决的挑战

 作者发现,之前的文章使用的都是一样的 近似域 [-1, 1],便提出了 “域的大小 是否影响 近似精度” 的问题。并在之后的实验中发现,较小的域 会带来 目标函数 更精确的近似
 于是,便提出疑问 “我们可以通过将 近似域 缩小到 [-v, v] (v<1) 来使用 低阶多项式近似 ReLU 吗?”

也就是 缩小近似域提高精度,使用 低阶多项式减少延迟

 这篇论文的贡献点在于:

  1. 提出了一种 高精度的混合近似方法,将 分段加权最小二乘法Remez 算法 相结合。与 Minimax 相比,该方法将 最大近似误差 减低到了 0.23x 到 0.64x 的范围。
  2. 提出了一种 搜索算法 来寻找 每个 ReLU 的最优多项式。结合上面的 近似方法,以可以 忽略不计的精度损失 降低了 多项式 ReLU 的阶
  3. 提出了一种 机制,确定 每个 ReLU最佳近似域。该机制确保每个多项式 ReLU 的输入都落在近似域内,以避免推理失败。因此,近似值不依赖 于广泛使用的假设,即 客户的数据和训练数据在分布上是一致的
  4. RNS-CKKS 下加密的 CIFAR10/100 数据集上 实现了 ResNet20/32/44,与 MPCNN 相比,推理延迟 减少了 48.7%,精确度 几乎没有损失。

3、文章结构

  1. Introduction
  2. Related Works
    1. Training Method with Low-Degree Polynomials
    2. Approximation Method with High-Degree Polynomials
    3. Other Method with Mixed-Degree Polynomials
  3. Preliminaries
    1. RNS-CKKS Fully Homomorphic Encryption
    2. Minimax Composite Polynomial Approximation
    3. Threat Model
  4. Proposed Method
    1. Hybrid Approximation on Minimum Domain
    2. Polynomial Search for Optimal Low-Degree ReLU
    3. Approximation Based on Domain Estimation and Training
  5. Overhead Analysis
  6. Experiments
    1. Experimental Setup
    2. Evaluation of Search Cost and Approximation Precision
    3. Evaluation of Inference Latency and Accuracy
  7. Conclusion

4、总结

 改论文提出了一个名为 LPFHE 的框架来 近似 卷积神经网络中的激活函数 ReLU。与之前在域 [-1, 1] 上近似 ReLU 的工作不同,改论文寻求一个 更小的域,并使用提出的 混合近似方法 来实现 高精度 近似。
 该框架允许 为每个 ReLU 函数 找到 最优域低阶多项式,使得能够使用 低复杂度得多项式 CNN 进行安全推理。
 实验结果表明,工作具有优越的延迟和准确性。
 值得注意的是,LPFHE 提供了一种提高近似精度的新方法,且该方法与现有工作正交。
最小化近似域 也适用于改进 AutoFHE 等最先进的作品。

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

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

相关文章

Redission红锁

目录 一、什么是红锁 二、Redission红锁的使用 一、什么是红锁 Redis 的作者 Salvatore Sanfilippo&#xff08;又名 antirez&#xff09;提出的一种基于多个 Redis 实例实现分布式锁的算法。红锁&#xff08;Redlock&#xff09;旨在解决单点故障问题&#xff0c;即当使用单…

VTK 鼠标+键盘重构

1、鼠标事件 如果有鼠标事件处理等相应的需求,可以重写该事件。 void OnMouseMove() override; //鼠标移动事件 void OnLeftButtonDown() override;//左键按下事件 void OnLeftButtonUp() override;//左键抬起事件 void OnMiddleButtonDown() override;//滚轮按下事件 …

ELK 使用教程采集系统日志 Elasticsearch、Logstash、Kibana

前言 你知道对于一个系统的上线考察&#xff0c;必备的几样东西是什么吗&#xff1f;其实这也是面试中考察求职者&#xff0c;是否真的做过系统开发和上线的必备问题。包括&#xff1a;服务治理(熔断/限流) (opens new window)、监控 (opens new window)和日志&#xff0c;如果…

node内置模块之---path 模块

path 模块的作用 path 模块是 Node.js 的核心模块之一&#xff0c;提供了用于处理和转换文件路径的功能。它能帮助你在不同操作系统间处理文件路径时避免平台差异&#xff08;如 Windows 和 Unix 系统使用不同的路径分隔符&#xff09; path 模块api介绍 使用场景&#xff1a; …

STM32G0B1 can Error_Handler 解决方法

问题现象 MCU上电&#xff0c;发送0x13帧数据固定进入 Error_Handler 硬件介绍 MCU :STM32G0B1 can:NSI1042 tx 接TX RX 接RX 折腾了一下午&#xff0c;无解&#xff0c;问题依旧&#xff1b; 对比测试 STM32G431 手头有块G431 官方评估版CAN 模块&#xff1b; 同样的…

在ros2 jazzy和gazebo harmonic下的建图导航(cartographer和navigation)实现(基本)

我的github分支&#xff01;&#xff01;&#xff01; 你可以在这里找到相对应的源码。 DWDROME的MOGI分支 来源于&#xff01;&#xff01; MOGI-ROS/Week-3-4-Gazebo-basics 学习分支整理日志 分支概述 这是一个用于个人学习的新分支&#xff0c;目的是扩展基本模型并添加…

Redis 实现分布式锁

文章目录 引言一、Redis的两种原子操作1.1 Redis 的原子性1.2 单命令1.3 Lua 脚本1.4 对比单命令与 Lua 脚本 二、Redis 实现分布式锁2.1 分布式锁的概念与需求2.1.1 什么是分布式锁&#xff1f;2.1.2 分布式锁的常见应用场景 2.2 基于 Redis 的分布式锁实现2.2.1 锁的获取与释…

区块链与微服务研究报告

摘要 区块链与微服务架构的结合为现代企业级应用提供了新的解决方案。区块链技术以其不可篡改性和透明性&#xff0c;解决了微服务在分布式环境下的数据一致性和安全性问题。本文将探讨区块链与微服务的基本概念、技术原理、应用案例以及未来研究方向。 1. 引言 随着信息技术…

SAP MM物料管理模块常见BAPI函数清单

【SAP系统研究】 #SAP #MM #物料管理 #函数 #BAPI 1、物料主数据 BAPI_MATERIAL_SAVEDATA 创建/更改物料主数据 BAPI_MATERIAL_SAVEREPLICA 物料主数据视图扩充 BAPI_MATERIAL_EXISTENCECHECK 检查物料主数据是否存在 BAPI_MATERIAL_GETLIST 显示物料主数据明细 BAPI_MATERIALG…

Stable Diffusion和Midjourney有什么区别?

Stable Diffusion 和 Midjourney 主要有以下区别&#xff1a; 目录 费用与可访问性 设备要求 安装与使用 学习成本 图像生成效果 可控性与定制性 私密性 费用与可访问性 Stable Diffusion&#xff1a;开源免费&#xff0c;任何人都可以免费下载并自行部署使用&#xf…

104周六复盘 (188)UI

1、早上继续看二手书的一个章节&#xff0c;程序开发流程、引擎、AI等内容&#xff0c; 内容很浅&#xff0c;基本上没啥用&#xff0c;算是复习。 最大感触就是N年前看同类书的里程碑、AI相关章节时&#xff0c;会感觉跟自己没啥关系&#xff0c; 而如今则密切相关&#xf…

Mono里运行C#脚本23—mono_jit_exec

前面已经分析一部分代码,可以打下基础知识,当然还有很多其它部分的内容,没有深入去了解。 接着下来,我们去探索一下怎么样找到执行应用程序的入口。 在这个嵌入脚本程序里,有一个这样的函数调用: main_function (domain, file, argc - 1, argv + 1); 这个函数的作用,…

浅谈分布式共识算法

分布式共识算法 基础概念1、容错2、共识3、拜占庭将军问题4、多数派5、共识算法分类6、ACID&BASE&CAP Paxos1、相关概念2、三种角色3、运行阶段4、Multi Paxos5、总结6、演化 ZAB1、相关概念2、三种角色3、成员状态4、运行阶段5、ZooKeeper流程6、总结 Raft1、相关概念…

你喜欢看哪类的网上视频教程?

作为前端开发&#xff0c;我通常喜欢看以下几类网上视频教程&#xff1a; 技术框架和库教程&#xff1a;例如React、Vue、Angular等前端框架的教程。这些教程能帮助我深入了解这些框架的工作原理&#xff0c;以及如何高效地使用它们来开发Web应用。 CSS和JavaScript高级技巧&a…

(leetcode算法题)382. 链表随机节点

如果给你一个 智能记录 k行内容的小笔记本&#xff0c;从一本你也不知道有多少行的 C Primer 中进行摘抄&#xff0c;你应该怎么做才能让抄写的时候能让书中的每一行都等概率的出现在小笔记本中&#xff1f; 答&#xff1a;准备好一个公平的轮盘和一个巨大的摇奖机&#xff0c…

腾讯云智能结构化 OCR:驱动多行业数字化转型的核心引擎

在当今数字化时代的汹涌浪潮中&#xff0c;数据已跃升为企业发展的关键要素&#xff0c;其高效、精准的处理成为企业在激烈市场竞争中脱颖而出的核心竞争力。腾讯云智能结构化 OCR 技术凭借其前沿的科技架构与卓越的功能特性&#xff0c;宛如一颗璀璨的明星&#xff0c;在交通、…

Flume拦截器的实现

Flume conf文件编写 vim file_to_kafka.conf#定义组件 a1.sources r1 a1.channels c1#配置source a1.sources.r1.type TAILDIR a1.sources.r1.filegroups f1 a1.sources.r1.filegroups.f1 /Users/zhangjin/model/project/realtime-flink/applog/log/app.* # 设置断点续传…

2025-01-04 Unity插件 YodaSheet2 —— 基础用法

文章目录 环境配置1 创建 YadeSheetData2 读取方式2.1 表格读取2.2 列表读取 3 自定义设置3.1 修改代码生成位置3.2 添加列表支持3.2.1 修改 DataTypeMapper.cs3.2.2 修改 SheetDataExtensions.cs3.2.3 修改 CodeGeneratorEditor.cs3.2.4 测试 ​ 官方文档&#xff1a; Unity …

matlab时频分析库

time frequency gallery

『 Linux 』高级IO (三) - Epoll模型的封装与EpollEchoServer服务器

文章目录 前情提要Epoll 的封装Epoll封装完整代码(供参考) Epoll Echo ServerEpoll Echo Server 测试及完整代码 前情提要 在上一篇博客『 Linux 』高级IO (二) - 多路转接介绍并完成了两种多路转接方案的介绍以及对应多路转接方案代码的编写,分别为SelectServer服务器与PollSe…