返回 职场小聪明 首页

上一页 目录 下一页

第606章 用故事解释softmax函数的溢出问题[1/2页]

天才一秒记住本站地址:[妙书坊]https://m.miaoshufangxs.com最快更新!无广告!

    用故事解释Softmax函数的溢出问题

    故事背景:龙族宴会上的金碗

    在一座神秘的龙族王国,龙族每年都会举行一次盛大的宴会,宴会上有一个传统:每条龙要把自己的财富(金币数量)放进一个金碗,然后让智慧长老计算每条龙的“财富占比”,来决定谁是这一年的财富之王。

    宴会当天,四条龙分别报出了自己的金币数量:

    ?

    火龙:100万金币

    ?

    冰龙:200万金币

    ?

    雷龙:300万金币

    ?

    风龙:10亿金币

    智慧长老准备使用一个古老的计算方法——Softmax规则,将这些财富转换成概率来比较。但他很快发现了一个严重的问题:

    金碗炸了!

    为什么?因为按照Softmax的计算方法,他需要计算每个金币数量的指数值:

    但这些数值实在是太大了,远远超出了王国的计算能力,直接导致金碗崩溃(计算溢出)。

    智慧长老陷入了困境,他需要找到一个方法来避免计算崩溃。于是他想到一个聪明的技巧:

    “我们不直接放金币,我们可以先让大家的金币数减去最大的金币数!”

    于是,他重新计算:

    ?

    火龙的金币数变为

    100万

    10亿

    =

    9.99亿

    ?

    冰龙的金币数变为

    200万

    10亿

    =

    9.98亿

    ?

    雷龙的金币数变为

    300万

    10亿

    =

    9.97亿

    ?

    风龙的金币数变为

    10亿

    10亿

    =

    0

    然后,他计算:

    现在,所有的指数值都变得很小,不会再溢出,金碗终于能正常计算了!

    最终,风龙的财富占比几乎是

    100%,其他三条龙的财富占比接近

    0,宴会得出了正确的结论。

    这个方法被称为

    Softmax的数值稳定性技巧,即

 &

第606章 用故事解释softmax函数的溢出问题[1/2页]

『加入书签,方便阅读』

上一页 目录 下一页