1
1

More than 1 year has passed since last update.

DyBNN論文読み

Posted at

はじめに

DyBNNの論文を読んだ要約です。
自分用にまとめたものなので、理解の漏れなどありましてもご容赦下さい。
また、より詳細な内容を知りたい場合は元の論文をご覧ください。

DyBNNの概要

  • 論文名: Dynamic Binary Neural Network by learning channel-wise thresholds
  • 著者: Jiehua Zhang, Zhuo Su, Yanghe Feng, Xin Lu, Matti Pietikäinen, Li Liu
  • 公開: 2021年10月8日
  • URL: https://arxiv.org/abs/2110.05185

入力によって閾値とシフトパラメータを動的に生成できるDySign関数とDyPReLU関数を用いて、ReActNetのRSign関数とRPReLU関数を置き換えたBNN。モデルの表現能力が向上し、精度が向上した。

ReActNet

ReActNetとは,BNNが入力の特徴分布に敏感であることに着目して、Sign関数の閾値とPReLU関数のシフトパラメータを学習可能なRSign関数とRPReLU関数を使用したBNN。RSign関数およびRPReLU関数は以下の式で表される。


RSign(x_i) = \left\{
\begin{array}{ll}
+1 & (x_i \geq α_i) \\
-1 & (x_i \lt α_i)
\end{array}
\right.


RPReLU(x_i) = \left\{
\begin{array}{ll}
x_i - γ_i + ζ_i & (x_i \geq ζ_i) \\
β_i(x_i - γ_i) + ζ_i & (x_i \lt ζ_i)
\end{array}
\right.

問題点

Rsign関数は事前に学習された静的な閾値を使用している。
しかし入力によっては最適な閾値が異なり、静的な閾値では特徴を捉えることが困難である場合がある。
下記の画像の場合、左から3番目がRSignを使用して特徴検出を行った例であり,(b)と(c)の画像の特徴をうまく捉えることができていないことがわかる。

図1.png

DyBNN

入力の特徴分布によって閾値を動的に生成可能なDySign関数とシフトパラメータを動的に生成可能なDyPReLU関数を使用したBNN。ReActNetで静的な閾値を使用していたために、特徴情報の損失を起こす問題を改善した。

DySign関数とDyPReLU関数の式自体はそれぞれRSign関数とRPReLU関数と同様である。
RSign関数やRPReLU関数では閾値やシフトパラメータを学習により決定していたが、DyBNNでは以下の式で表される。


α = f(X) = FC^{\frac{C}{16}×C}(FC^{C×\frac{C}{16}}(GAP(X)))

ここで、αは閾値またはシフトパラメータ、FCは全結合、GAPはGlobal Average Poolingである。

評価

以下のデータセットと実装で評価

項目 内容
データセット ILSVRC12 ImageNet classification dataset
学習方法 2段階に分けて学習
最適化方法 Adam, 線形学習率減衰
初期学習率 5e-4
バッチサイズ 256

結果

mobileNetV1ベースのDyBNNはTop1精度71.2%を達成。これはmobileNetV1ベースのReActNetと比較して1.8%の精度向上。

スクリーンショット 2022-05-08 22.47.12.png

まとめ

BNNにおいて、入力に対して動的に生成可能な閾値やシフトパラメータを用いる手法は有効である。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1