Neural Network Libraries v1.27.0をリリースしました!
また、本リリースにあわせて、NNabla NASがv0.12.0にアップデートされました。さらに、Neural Network Librariesの可視化ツールであるnnabla-browserがリリースされました!それぞれの機能紹介の記事も近日公開予定です!
Spotlight
新規solver: LAMB (CPU / GPU)
レイヤーごとに最適な学習率を用いることで巨大なバッチサイズに対応したソルバーであるLAMBを実装しました。LAMBはBERTなどの学習時に大きなバッチサイズを必要とする多くのベンチマークタスクに用いられています。
また、SGDWの定義の修正や、ソルバーの基底クラスの設計に改良を加え、パラメータ更新時に重み減衰を組み込めるようになりました。
バッチ コレスキー分解 (CPU / GPU)
バッチごとにコレスキー分解を適用する関数を追加しました!実装に関してはこの論文を参考にしています。コレスキー分解は行列の上三角/下三角部のみを必要としますが、バックプロパゲーション時には簡潔のため対称行列を返すようになっています。
CUBによるSortCudaの高速化
SortCUDAで用いるソートライブラリをThrustからCUBに変更しました。これにより25倍ほどの高速化を達成しています。
[XAI] Eigen-CAM
Eigen-CAMのColabデモを用意しました!Eigen-CAMは学習によってConvolution層が獲得した特徴量/表現を可視化することができます。
Name | Notebook | Task |
---|---|---|
Eigen-CAM | 特徴量の視覚的表現 |