李宏毅機器學習課程筆記-13.3模型壓縮之參數量化

參數量化就是Parameter Quantization。

  1. 用更少的bit表示一個value

    比如說本來用32位表示一個weight,現在用16位表示一個weight,這樣就縮小了一半。

  2. Weight Clustering

    根據weight的值對weight進行聚類,每個類中的weight都用同一個value(比如該類中所有weight的平均值)表示。每個類有個id,2個bit就可以表示4個類的id(再進一步還可以使用哈夫曼編碼),在存儲時只需要存儲每個weight所屬的類的id以及每個類對應的value即可。

    因爲每個類中的weight都用了同一個value表示,所以模型會有一些精度損失。

  3. Binary Weights

    weight的值只有±1。

    有不少研究者提出直接訓練一個Binary Network,最早的是Binary Connect(http://arxiv.org/abs/1511.00363),其它的還有Binary Network(https://arxiv.org/abs/1602.02830)、XNOR-Net(https://arxiv.org/abs/1603.05279)。

    Binary Connect在訓練中有2個分別使用real value和binary value的model,暫稱爲R和B。首先初始化R的參數,然後找到和R最接近的B,再使用B的梯度更新R的參數,然後再找到和R最接近的B,循環該過程直到停止,最後就使用最終的B。

    Binary Connect其實像是一種Regularization,它約束weight的值必須是±1。


Github(github.com):@chouxianyu

Github Pages(github.io):@臭鹹魚

知乎(zhihu.com):@臭鹹魚

博客園(cnblogs.com):@臭鹹魚

B站(bilibili.com):@絕版臭鹹魚

微信公衆號:@臭鹹魚

轉載請註明出處,歡迎討論和交流!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章