神经网络量化--per-channel量化

(本文首发于公众号,没事来逛逛)

之前写的关于网络量化的文章都是基于 per-layer 实现的,最近有小伙伴询问关于 per-channel 量化的问题,我发现有些同学对这个东西存在一些误解,包括我以前也被 per-channel 的字面意义误导过,所以今天简单聊一下 per-channel 量化是怎么回事。

回顾一下Per-layer量化

在介绍 per-channel 量化之前,我们先回顾一下 per-layer 量化是怎么做的。

假设 r 1 r_1 r1 r 2 r_2 r2 分别表示输入的 feature 和卷积的 kernel, r 3 r_3 r3 表示输出,那么卷积运算可以表示为:
r 3 i , j , o c = ∑ i c ∑ m ∑ n r 1 i − m , j − n , i c r 2 i − m , j − n , i c (1) r_3^{i,j,oc}=\sum_{ic}\sum_{m}\sum_{n}r_1^{i-m,j-n,ic}r_2^{i-m,j-n,ic} \tag{1} r3i,j,oc=icmnr1im,jn,icr2im,jn,ic(1)
公式里面, o c oc oc 表示输出通道的 index, i c ic ic 表示输入通道的 index。下面为了公式简洁,我会省略 i i i j j j 这些跟位置相关的 index。

per-layer 量化下,整个 tensor 会共用一个 scale 和 zero point。

就像下面这张图给出的这样:

因此量化后的卷积运算为:
S 3 ( q 3 o c − Z 3 ) = ∑ i c ∑ m ∑ n S 1 ( q 1 i c − Z 1 ) S 2 ( q 2 i c − Z 2 ) (2) S_3(q_3^{oc}-Z_3)=\sum_{ic}\sum_{m}\sum_{n}S_1(q_1^{ic}-Z_1)S_2(q_2^{ic}-Z_2) \tag{2} S3(q3ocZ3)=icmnS1(q1icZ

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
近年来,神经网络被广泛应用于股票市场的研究中,其中基于PCA-BP神经网络量化选股策略被认为是一种有效的择时策略。 基于PCA-BP神经网络量化选股策略主要包括以下几个步骤: 第一步,数据预处理。选取一定数量的股票样本进行数据的采集和整理,包括股票的历史交易数据、财务数据、市场数据等。然后对原始数据进行预处理,包括数据清洗、数据归一化、数据平滑和特征工程等操作,以减少异常数据的影响和提高模型的预测性能。 第二步,利用PCA降维。通过PCA降维方法,减少原始数据的维度,提取重要的特征变量,以达到优化神经网络的目的。PCA降维的原理是将原始数据通过线性变换转化为新的空间,使得新空间的维度比原始空间的维度要小,从而减少数据特征的冗余,提高模型训练的效率和泛化性能。 第三步,构建BP神经网络。基于PCA降维后的数据,构建BP神经网络模型,并进行参数优化和模型选择,以达到最佳的预测效果。BP神经网络是一种具有隐层的前向反馈神经网络,可以适应非线性、复杂和动态的金融时间序列数据模型。 第四步,模型预测和实证分析。通过采用交叉验证方法,检验模型的泛化性能,进行预测和实证分析,对模型的有效性和适用性进行评估和比较。 总之,基于PCA-BP神经网络量化选股策略是一种广泛应用于股市的量化分析方法,具有一定的市场研究和交易实践价值。同时需要注意模型的建立和优化过程,避免数据过拟合和过度参数化的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值