Account: gitlab
Fast and Exact Calculating tr[H] (ours)
概要
  • tr[H]を正確に計算する手法とその実装。 ただしHはHessianで、活性化関数は∀0<α,f(αx)=αf(x)を満たすとする
  • 下図は、ナイーブに計算した場合との比較を示す
    左図: 時間的な比較。提案手法は高速化を実現していることが分かる
    右図: 出力の比較。各要素が対角にあり正確性を例証している
  • より詳細な内容は url を参照のこと
データ数(n)やアーキテクチャ(CNN/FCNN)を変え、複数回trialを行った
Query, Queue, and Parall
概要
  • 実験を投げる際、効率的にGPUを利用するためのスクリプト
  • ハイパーパラメータを記述すると、その組み合わせだけの実験を投げる。この時、複数のGPUがある場合は、そのGPUが空き次第新たに実験を投げる
ExampleWise-Gradients
概要
  • pytorchのモデルにinputをfeedしback-propする際、平均化された勾配ではなく、事例ごとの勾配を取得するもの
  • Saliency-MapやFisher-Scoreを計算する際に力を発揮する
Full-Gradient Representation (reproducing and extra experiments)
概要
  • NNのあるラベルのlogitを$f(\mathbf{x}) \in \mathbb{R}$とする時、 $ f(\mathbf{x}) = \sum_{l}^L \langle \mathbf{b}_l , \nabla_{\mathbf{b}_l} f(\mathbf{x}) \rangle + \langle \mathbf{x} , \nabla_{\mathbf{x}} f(\mathbf{x}) \rangle $と分解できる
    ただし、活性化関数は∀0<α,f(αx)=αf(x)を満たすとする
  • オリジナルの論文 は上記の分解を活用し、中間レイヤの勾配もsaliency mapに反映する手法を提案した
    下図はその1例
  • より詳細な内容は our implementation を参照のこと
    当該リポジトリでは、 レイヤごとの $ \langle \mathbf{b}_l , \nabla_{\mathbf{b}_l} f(\mathbf{x}) \rangle $を比較することでアーキテクチャの分析も行っている
左から、original input, Full-Gradient Representationによるsaliency map, 2つをoverlayしたもの
Virtual Adversarial Training (reproducing and extra experiments)
概要
  • 与えられた入力に対し、Local Distributional Smoothing(LDS)という量を考える.
    これは、データに悪意的な摂動を加えた時、予測がどの程度影響を受けるかを計る。
  • Hessianの主固有ベクトルはこのLDSを最大化する
    power-method+有限差分法を用れば、Back-Prop的な方法で効率的に近似できる
  • ラベル情報を積分消去することで、unlabeledデータでも活用可能
    分離平面がデータ分布を横断しないような正則化として活用できる
  • より詳細な内容は our implementation を参照のこと
左がオリジナル論文の再現、右がより複雑なデータでの適用。
other ones
will be available soon.