zxCoder
V2EX  ›  问与答

神经网络的 maxout 激活函数怎么理解?

  •  
  •   zxCoder · Nov 21, 2021 · 1172 views
    This topic created in 1809 days ago, the information mentioned may be changed or developed.

    看介绍说得天花乱坠,就是加个全连接层然后取个 max ?那把那些全连接层看成网络原来的解构,实际上的激活函数不应该就是 max 吗?

    3 replies  •  2021-11-22 11:26:00 +08:00
    ipwx
    ipwx
    Nov 21, 2021
    1
    不是。

    它是在多出来的一维上做 max 的。其实是拟合了一个分段线性的凸函数。。。
    zxCoder
    zxCoder
    OP
    Nov 22, 2021
    2
    @ipwx 是不是比如输入是 n*d ,d 是输入节点个数,然后 maxout 层的 W 是三维的,d*m*k ,m 是 maxout 隐层节点个数,然后相乘就得到 n*m*k ,然后对 k 这一维取最大值,最后输出的就还是 n*m 的
    ipwx
    ipwx
    Nov 22, 2021❤️1
    3
    似乎就是这么回事。

    然后之所以说它是分段线性凸函数,那是因为每个 d*m*1 相当于一个 y=Ax+b 。对于 k 个这样的线性函数求 max ,它永远是凸的(下凸)。当然凸函数只是这个 maxout 的一个特殊性质,但是比如二次函数 y=Ax^2+b 就是个凸函数,原则上你可以用多个线性函数去切,去逼近。

    换句话说 maxout 是一个有限类别函数(像抛物线那样的下凸函数)逼近器,也许某些情况下比 leaky relu ,relu 之类的更好用一点 hhh 。

    另外 relu 和 leaky relu 可以被 maxout 表示,这两个就是两段线性组成的凸函数。sigmoid 或者 tanh 倒是不能。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1326 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:30 · PVG 03:30 · LAX 11:30 · JFK 14:30
    ♥ Do have faith in what you're doing.