• cFSMN和FSMN参数规模对比分析


    1. FSMN参数规模分析

           (1)分析前提

    1. 假设隐藏层单元规模都为n
    2. 只分析前向t个时刻的结构,即暂时不考虑双向的结构
    3. 只分析向量系数编码,即vFSMN,暂时不考虑sFSMN

           (2)结构图回顾

           (3)公式回顾

    [vec{ ilde{h}_t^l} = sum_{i=0}^{N}vec{a_i^l}odotvec{h_{t-i}^l},in...vFSMN ]

    [A^l ={ vec{a_0^l},vec{a_1^l},...,vec{a_N^l}},in...vFSMN ]

    [vec{h_t^{l+1}} =f(W^lvec{h_t^l}+ ilde{W}^lvec{ ilde{h}_t^l} +vec{b^l} ) ]

           (4)参数规模分析

    由第一个公式和第二个,可知这一部分的参数规模为:n × t

    由第三个公式,可知这一部分的参数规模为:n × n + n × n

    所以总的参数规模为:n × n + n × n + n × t



    2. cFSMN参数规模分析

           (1)分析前提

    1. 与FSMN的分析前提完全一致
    2. 假设投影层的投影矩阵是x × n维的

           (2)结构图回顾

           (3)公式回顾

    [vec{p_t^l} =V^lvec{h_t^l}+vec{b^l} ]

    [vec{ ilde{p}_t^l} = vec{p_t^l}+sum_{i=0}^{N}vec{a_i^l}odot vec{p_{t-i}^l} ]

    [vec{h_t^{l+1}} =f(U^lvec{ ilde{p}_t^l} +vec{b^l} ) ]

           (4)参数规模分析

    由第一个公式和假设,可知这一部分的参数规模为:x × n

    由第二个公式,可知这一部分的参数规模为:x × t

    由第三个公式,可知这一部分的参数规模为:x × n

    所以总的参数规模为:n × x + n × x+ x × t



    3. 对比

    FSMN的参数规模为:n × n + n × n + n × t

    cFSMN的参数规模为:n × x + n × x+ x × t

    所以:cFSMN相比于FSMN,减少的参数规模为: (2n+t) × (n-x)

    进一步的,实际上n很大,可以忽略t的影响,所以上式可以近似为:2n × (n-x)

    可以看到,如果取xn的一半,较少的参数规模就是n2

    近似分析的结果,就是参数规模可以减少的量级为:O(n2)

  • 相关阅读:
    解决Linux系统下MYSQL数据表大小写敏感问题
    MYSQL报1022错误:Can't write;duplicate key in table '.....'
    本地测试Http升级到Https(证书信任)
    Linux查看端口占用情况
    Java报错:java.lang.NoSuchMethodError: io.netty.util.internal.ObjectUtil.checkPositive
    Linux查看磁盘空间
    如何解除Word中“保护文档”的限制
    tcpdump命令详解
    python 爬取视频
    pyecharts 画地图(热力图)(世界地图,省市地图,区县地图)
  • 原文地址:https://www.cnblogs.com/machine-lyc/p/10672111.html
Copyright © 2020-2023  润新知