Neural Network Librariesバージョン1.0のリリースから1年が過ぎ、満を持してバージョン1.1.0のリリースです!
バージョン1.1.0ではほぼすべての関数レイヤについてDouble Backward機能が追加され、二階微分の計算が可能になりました!
この機能を活用したWGANのExampleも追加されているのでぜひチェックしてみてください!
この1年間のサポート、まことにありがとうございます。これからもNeural Network Librariesをよろしくお願いします!
スポットライト
Double Backward
Double Backwardを使うことで、入力に関する出力の二階微分に相当する計算が可能です。一例を挙げると、勾配の微分値(勾配自身が微分値であるので、二階微分に相当)の算出などに用いられます。これを利用した手法としては、メタラーニングの手法の1つであるMAMLや、今回のリリースでExampleに追加されたWGAN-GP(Gradient Penalty)などが存在し、多くの最先端ディープラーニングモデルを実装する際に必要不可欠な機能となっています(詳細な使い方はExampleをご覧ください!)。
バージョン1.1.0においては70以上の関数でdouble backwardが実行可能となっており、Neural Network Librariesはますます「使える」ライブラリとなりました!
grads = nn.grad(outputs, inputs)
# Manipulate {grads} as usual variables.
ユーティリティの機能改善
- NdArray / Variableにsetitemメソッドを追加
- Variableの初期化方法の改善
- テスト条件の一部変更
- SimpleDataSourceのシャッフル機能
- ONNX / Tensorflow converterの改善
バグ修正
NNabla Examplesの新規追加
重要な変更
* nnabla-ext-cudaパッケージは一時的に使用できません。代わりにnnabla-ext-cuda101/nnabla-ext-cuda100/nnabla-ext-cuda90/nnabla-ext-cuda80のいずれかをインストールするようお願いします。
* 次のnnabla-ext-cudaパッケージは現在非推奨であり、PyPiリポジトリへの登録を解除しています。
– nnabla-ext-cuda91
– nnabla-ext-cuda92
* それに伴い、以下のDockerイメージの使用も非推奨です。
– py37-cuda92
– py36-cuda92
– py27-cuda92
– py37-cuda92-v1.0.xx
– py36-cuda92-v1.0.xx
– py27-cuda92-v1.0.xx
また、v.1.1.0以降、バージョニングポリシーとしてセマンティックバージョニングを採用することになりました。