人工神經網絡修剪

修剪法pruning)喺人工神經網絡上係一樣喺個網絡做完學習之後可能會做嘅一樣工作,指喺做完訓練之後,刪除個網絡嘅部份細胞,用意在於減低電腦嘅運算負擔:原則上,一個人工神經網絡當中可以有一啲細胞係多餘嘅, 數值細( 係嗰粒細胞嘅啟動值),用字面講就係「嗰粒細胞嘅啟動值對成個網絡嘅輸出值冇大影響」;因為噉,喺做完訓練之後,有唔少人工神經網絡嘅設計者會用修剪法,刪除啲對整體輸出影響唔大嘅人工神經細胞。

一個簡單嘅做法如下:

  1. Foreach 細胞,評估粒細胞有幾重要(例:試吓將佢刪除,並且睇吓刪除咗會對個網絡嘅預測能力造成乜嘢影響)[註 1]
  2. 按量度重要性嘅指標,將細胞分高低;
  3. 將重要性最低嗰粒細胞刪除;
  4. 按某啲條件決定係咪要返去步驟 1 嗰度。

喺實際應用上,修剪法能夠減低部電腦嘅運算負荷[1][2]

編輯

  1. Molchanov, P., Tyree, S., Karras, T., Aila, T., & Kautz, J. (2016). Pruning convolutional neural networks for resource efficient inference. arXiv preprint arXiv:1611.06440.
  2. Pruning deep neural networks to make them fast and small.

註釋 編輯

  1. Foreach 係一種控制流程功能;一個 foreach 會掕住一柞工序,叫個程式攞某柞物件,(for)柞嘢當中每一件(each)做段工序一次。