ブックマーク / developer.smartnews.com (3)

  • 最近のスパースなニューラルネットワークについて - SmartNews Engineering Blog

    こんにちは、スマートニュースの徳永です。深層学習業界はGANだとか深層強化学習だとかで盛り上がっていますが、今日は淡々と、スパースなニューラルネットワークの話をします。 要約すると ニューラルネットのスパース化によって、精度はほとんど犠牲にせずに、計算効率は3〜5倍程度まで向上できる スパース化にはまだ課題が多く、ニューラルネットの高速化という意味では、次の戦場はたぶんここになる スパースとは、スパース化とは スパースであるとは、値のほとんどが0であることです。例えば、ベクトル$a,b$の内積を計算する際に、$a$のほとんどの要素の値が0であるとしましょう。0になにをかけても0ですから、$a$の値が0でない次元についてのみ、$a_i b_i$の値を計算して足し合わせればよいわけです。このように、内積を計算する際に、どちらかのベクトルがスパースであれば計算が高速化できます。0という値をメモリ

    最近のスパースなニューラルネットワークについて - SmartNews Engineering Blog
  • 畳み込みニューラルネットを高速化するためのいろいろ - SmartNews Engineering Blog

    $$ \begin{bmatrix} d_0 d_1 d_2 \\ d_1 d_2 d_3 \end{bmatrix} \begin{bmatrix} g_0 \\ g_1 \\ g_2 \end{bmatrix} = \begin{bmatrix} m_1 + m_2 + m_3 \\ m_2 - m_3 - m_4\\ \end{bmatrix} $$ ただし、$m_1 = (d_0 - d_2) g_0, m_2 = (d_1 + d_2) \frac{g_0 + g_1 + g_2}{2}, m_3 = (d_2 - d_1) \frac{g_0 - g_1 + g_2}{2}, m_4 = (d_1 - d_3) g_2$です。 なにがなんだかわからない、という声がここまで聞こえて来るような気すらしますが、それはともかく、$m_1 + m_2 + m_3$に上記の定義を入れて計算

    畳み込みニューラルネットを高速化するためのいろいろ - SmartNews Engineering Blog
  • ニューラルネットワークの量子化についての最近の研究の進展と、その重要性 - SmartNews Engineering Blog

    こんにちは、スマートニュースの徳永です。深層学習業界はGANだとか深層強化学習だとかで盛り上がっていますが、今日は淡々と、ニューラルネットワークの量子化の話をします。 TL;DR パラメータだけを量子化するのであれば、ほぼ精度を落とさずに、パラメータのデータ容量は1/16程度にまで削減できる パラメータ、アクティベーション、勾配のすべてを量子化し、推論だけでなく学習までもビット演算だけで実現する研究が進んできている 現在は深層学習 = GPU必須というぐらいの勢いがあるけど、量子化の研究が進むと、今後はどうなるかわからないよ はじめに 情報理論における量子化とは、アナログな量を離散的な値で近似的に表現することを指しますが、稿における量子化は厳密に言うとちょっと意味が違い、十分な(=32bitもしくは16bit)精度で表現されていた量を、ずっと少ないビット数で表現することを言います。 ニュ

    ニューラルネットワークの量子化についての最近の研究の進展と、その重要性 - SmartNews Engineering Blog
  • 1