首页 > 其他分享 >编码器的蒸馏(Distilling)详细解释

编码器的蒸馏(Distilling)详细解释

时间:2024-06-23 19:00:45浏览次数:3  
标签:10 编码器 Distilling ELU 卷积 特征 池化 512 蒸馏

编码器的蒸馏(Distilling)详细解释

概述

蒸馏(Distilling)步骤是在稀疏注意力块之后,用于进一步压缩和提炼特征表示。这个步骤的主要目的是减少序列长度,使得模型能够更有效地处理长时间序列数据,同时保持重要的特征信息。

主要步骤
  1. 1x3 卷积层(Conv1d)
  2. ELU 激活函数
  3. 最大池化(Max Pooling)
1. 1x3 卷积层(Conv1d)
  • 作用:进一步提取和压缩特征。

  • 具体过程

    • 卷积操作使用大小为1x3的卷积核。
    • 对输入特征进行局部操作,每次卷积考虑当前时间点及其前后各一个时间点的数据,生成一个新的特征表示。
    • 输出特征维度保持不变,但特征表示更加紧凑和精炼。
  • 公式
    Conv1d ( x ) = ∑ i = − 1 1 w i ⋅ x t + i \text{Conv1d}(x) = \sum_{i=-1}^{1} w_i \cdot x_{t+i} Conv1d(x)=i=−1∑1​wi​⋅xt+i​
    其中, x x x 是输入特征, w w w 是卷积核权重, t t t 是时间步。

2. ELU 激活函数
  • 作用:引入非线性,增加模型的表达能力。

  • 具体过程

    • 对卷积输出应用ELU(Exponential Linear Unit)激活函数。
    • ELU激活函数公式:
      ELU ( x ) = { x if  x > 0 α ( exp ⁡ ( x ) − 1 ) if  x ≤ 0 \text{ELU}(x) = \begin{cases} x & \text{if } x > 0 \\ \alpha (\exp(x) - 1) & \text{if } x \leq 0 \end{cases} ELU(x)={xα(exp(x)−1)​if x>0if x≤0​
      其中, α \alpha α 通常为1。
  • 目的:使得输出既有线性部分又有指数衰减部分,从而更好地处理特征。

3. 最大池化(Max Pooling)
  • 作用:进一步减少序列长度,同时保持最重要的特征。

  • 具体过程

    • 应用最大池化操作,池化窗口大小为2,步幅为2。
    • 这个操作将输入序列的长度减半,每个池化窗口选择最大值作为输出。
  • 公式
    MaxPool ( x t : t + 2 ) = max ⁡ ( x t , x t + 1 ) \text{MaxPool}(x_{t:t+2}) = \max(x_t, x_{t+1}) MaxPool(xt:t+2​)=max(xt​,xt+1​)
    其中, x x x 是输入特征, t t t 是时间步。

具体实例

假设输入特征经过稀疏注意力块后的输出为长度为10,特征维度为512的序列。

  1. 1x3 卷积层

    • 输入特征维度: 10 , 512 10, 512 10,512。
    • 使用1x3的卷积核对每个时间点及其前后各一个时间点进行卷积操作。
    • 输出特征维度: 10 , 512 10, 512 10,512。
  2. ELU 激活函数

    • 对卷积输出应用ELU激活函数。
    • 输出特征维度保持不变: 10 , 512 10, 512 10,512。
  3. 最大池化

    • 应用池化窗口大小为2,步幅为2的最大池化操作。
    • 将序列长度减半:从10减为5。
    • 输出特征维度: 5 , 512 5, 512 5,512。
详细步骤解释
  1. 卷积操作

    • 假设时间步t的输入特征为 x t − 1 , x t , x t + 1 x_{t-1}, x_t, x_{t+1} xt−1​,xt​,xt+1​,通过卷积操作生成新的特征值。
    • 每个时间点的卷积结果保存在输出特征中。
  2. ELU激活

    • 对每个卷积结果应用ELU激活函数,处理正负特征值。
  3. 最大池化

    • 选择每两个时间点的最大值,生成一个新的特征值,减小序列长度。
    • 例如,输入序列 x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x 7 , x 8 , x 9 , x 10 x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_{10} x1​,x2​,x3​,x4​,x5​,x6​,x7​,x8​,x9​,x10​通过最大池化操作后变为 x 2 , x 4 , x 6 , x 8 , x 10 x_2, x_4, x_6, x_8, x_{10} x2​,x4​,x6​,x8​,x10​。

小结

通过蒸馏过程,编码器能够有效地压缩和提炼输入特征,使模型在处理长时间序列数据时更加高效,同时保持重要的特征信息。这个过程包括1x3卷积、ELU激活和最大池化操作,通过局部特征提取、非线性变换和序列长度压缩,增强了模型的表现能力。

标签:10,编码器,Distilling,ELU,卷积,特征,池化,512,蒸馏
From: https://blog.csdn.net/m0_51200050/article/details/139794719

相关文章

  • Transformer细节(五)——详解Transformer解码器的自注意力层和编码器-解码器注意力层数
    一、自注意力层(Self-AttentionLayer)并行处理目标序列        自注意力层的任务是计算输入序列中每个位置之间的关系,并生成每个位置的表示。这一过程可以并行处理,因为它并不依赖于前一个位置的计算结果。自注意力机制的具体步骤1.输入嵌入与位置编码      ......
  • 8路编码器脉冲计数器或16路DI高速计数器,Modbus RTU模块 YL69-485/232
    特点:●编码器解码转换成标准ModbusRTU协议●可用作编码器计数器或者转速测量●支持8个编码器同时计数,可识别正反转●也可以设置作为16路独立DI高速计数器● 编码器计数值支持断电自动保存● DI输入和电源之间3000V隔离●通过RS-485/232接口可以清零和设置计数......
  • 模型蒸馏的代码
    模型蒸馏importpandasaspdimporttensorflowastffromsklearn.model_selectionimporttrain_test_splitfromsklearn.metricsimportconfusion_matrix,f1_scorefromsklearn.metricsimportroc_auc_scoreimportnumpyasnpimportrandom#设置Python的随机......
  • 基于哔哩哔哩视频库的音频提取播放器,实现下载B站音频到本地,方便把鬼畜下载到手机上,项
    importreimportjsonimportthreadingimporttimeimportosimportshutilimportsubprocessimportrequestsimportPySimpleGUIassgos.environ['PYGAME_HIDE_SUPPORT_PROMPT']="hide"frompygameimportmixersg.theme('SystemDef......
  • 9.2.1 简述图像分割中经常用到的编码器-解码器网络结构的设计理念。
    9.2图像分割场景描述:图像分类图像识别图像分割不同标注出每个目标的类别像素级别的图像识别,标注出图像中每个像素所属的对象类别不同对整张图像进行识别进行稠密的像素级分类应用场景视频软件中的背景替换、避开人物的弹幕模板、自动驾驶以及医疗辅助判断等分类前景分割(f......
  • 杂项——编码器控制小车走固定距离(stm32)
    先算出轮子转一周编码器的数值(假设为1000),再算出轮子一周的周长(假设为10cm)。那么要前进1米只需要转1米/10cm等于10圈,10圈编码器数值为10000。我们只需要在代码里面写出编码器数值如果<10000则让小车前进,如果>10000让小车停止,即可实现控制小车走固定的距离编码器.c函数(编码器......
  • Python深度学习实践:自动编码器在数据降维中的应用
    Python深度学习实践:自动编码器在数据降维中的应用1.背景介绍在现代数据科学和机器学习领域中,高维数据处理是一个常见的挑战。许多真实世界的数据集包含大量的特征,这些特征往往存在高度的冗余和噪声。高维数据不仅增加了计算复杂性,还容易导致维数灾难(curseofdimensio......
  • 创建Transformer编码器和多头注意力层
    大家好,计算自然语言处理(NLP)是一个迅速发展的领域,其中计算力量与语言学相结合。语言学的一部分主要归功于约翰·鲁珀特·弗斯的分布语义理论,他曾说过以下的名言:“你可以通过其周围的上下文单词来了解一个目标单词”,这表明一个词的语义表示取决于它所在的上下文。正是基于这一假......
  • m基于CCSDS标准的LDPC编码器的FPGA实现,包含testbench,码长1024,码率0.5
    1.算法仿真效果vivado2019.2仿真结果如下:   2.算法涉及理论知识概要      LDPC码是一种具有稀疏校验矩阵的线性分组码,由RobertG.Gallager在1962年首次提出。它利用图论中的Tanner图来表示其编解码结构,其中节点分为变量节点和校验节点。变量节点对应于消息比特......
  • 扎克伯格说,Llama3-8B还是太大了,量化、剪枝、蒸馏准备上!
    扎克伯格说,Llama3-8B还是太大了,不适合放到手机中,有什么办法?量化、剪枝、蒸馏,如果你经常关注大语言模型,一定会看到这几个词,单看这几个字,我们很难理解它们都干了些什么,但是这几个词对于现阶段的大语言模型发展特别重要,它们就是将模型缩小的利器。这篇文章就带大家来认识认识它们,......