Blog

Neural Network Console Windows版Version 1.20公開

Friday, June 15, 2018

News

Posted by Yoshiyuki Kobayashi

本日、Neural Network Console Windows版Version 1.20を公開いたしました。Neural Network Console Windows版Version 1.20では、ユーザの皆さんからのフィードバックなどを元に数多くの機能追加を行いました。本blogでは、Windows版Neural Network Console Version 1.20で追加された以下の新機能と、その使いどころについて紹介していきます。

・ユニット機能
・量子化実験機能
・pptxレポート出力機能(beta)
・その他の機能・改善点

 

1. ユニット機能

ユニット機能は、予め定義したネットワーク構造を、Unitレイヤーから呼び出して繰り返し利用可能にするものです。

ユニット機能を用いたLeNetの記述

 
ユニット機能は、プログラミングにおけるサブルーチンや関数と似た役割を果たします。プログラミングではよく使う機能を関数として定義して再利用できるようにしますが、ユニット機能はこれと同じようによく使うネットワーク構造をユニットとして定義し、再利用することを可能にするものです。

特に大きく複雑なネットワークを設計する際には、少ない労力でネットワーク全体を設計できる、ネットワーク全体の見通しを良くできる(可読性の向上)、高いメンテナンス性を実現できる(保守性の向上)など、その効果が顕著になります。

ユニットレイヤーについての詳細は「チュートリアル:ユニット機能を用いて複雑なネットワークを簡潔に記述する」をご参照ください。

 

2. 量子化実験機能

量子化実験機能は、例えば学習したニューラルネットワークを低ビットの整数演算機のみを持つDSP、あるいはFPGAで実行することを想定し、学習時に様々な量子化の設定を試行するために用いることができます。

新たに追加されたQuantizeカテゴリのFixedPointQuantizeレイヤー、Pow2Quantizeレイヤーは、それぞれ線形量子化、2のべき乗の量子化機能を提供します。それぞれ任意のデータパスやパラメータの後に挿入することができ、さらにそれぞれの箇所において任意のビット長、符号の有無を設定することができます。

量子化レイヤーを用いたネットワークの構築例

 
量子化レイヤーは学習中にも量子化処理を行うため、量子化結果は前方計算だけではなく学習中のパラメータの更新にも反映されます。量子化レイヤーを用いて学習したモデルは、学習済みのモデルを事後処理で量子化した場合と比較して、より高い精度になることが期待できます。

本機能は、様々なネットワーク構造において量子化レベルとその性能の関係を明らかにする実験や、より少ないビット長で高い性能が得られるニューラルネットワークを実現するための学習などに幅広く活用することができます。

 

3. pptxレポート出力機能(beta)

pptxレポート出力機能を用いることで、Neural Network Consoleで行った実験結果をPower Point形式のレポートとして出力することができます。

pptx出力機能を利用するには、TRAININGタブもしくはEVALUATIONタブにて、学習結果を右クリックして表示されるメニューからExport、pptx betaを選択します。

pptxレポートの出力

 
以下はLeNetサンプルプロジェクトでpptxレポート出力を行った結果作成されたプレゼンテーションファイルの例です。

LeNetサンプルプロジェクトを元に出力したプレゼンテーション

 
pptxレポート出力機能を用いることにより、ご覧のように実験に用いたデータセット、ネットワークの構造や学習の設定、評価結果(評価が行われている場合)、さらにはリファレンスまでを1つのプレゼンテーションとして出力することができます。

pptx出力機能は自身の実験の記録にはもちろん、より効率的な実験結果の共有のために威力を発揮します。

 

4. その他

Neural Network Console Windows版 Version 1.20ではその他にも、以下のように様々な機能追加や改善が行われています。

nntxtのインポート機能
オープンソースのNeural Network LibrariesでPython APIを用いてニューラルネットワークを設計し、save関数を用いてnntxt形式で保存したものを、Neural Network Consoleで読み込むことができるようになりました。本機能により、Neural Network Librariesで設計したニューラルネットワークのVisualizeやデバッグにもNeural Network Consoleを活用できるようになりました。

構造自動探索機能の改善
これまでと比較して、よりバリエーション豊かなネットワーク構造が探索されるようになりました。また、Settingカテゴリに新たに追加されたStructureSearchレイヤーを用いることで、ネットワーク構造(EDITタブ内のネットワークのタブ)毎に探索を行う(探索を禁止する)かどうかを指定できるようになりました。

Componentsの文字列による検索機能
EDITタブ、Components右のテキストボックスに文字列を入力すると、指定した文字列を含んだレイヤーに絞り込んでComponentsを表示することができます。本機能により目的のレイヤーがより探しやすくなりました。

レイヤーからWebマニュアルへのリンクを追加
レイヤーのProperty表示部に新たに追加されたマニュアルアイコンをクリックすることで、Web上のレイヤーリファレンスをすぐに参照できるようになりました。

Create Dataset機能の改善
Create Dataset機能を用いたデータセットの作成にかかる時間が大幅に短縮されました。また、Shaping ModeにTrimming、Paddingに加えResize(アスペクト比を無視して指定サイズにリサイズ)が追加されました。

caffeのprototxt import/export機能における互換性の向上
Neural Network Consoleはcaffeの扱うprototxt形式のファイルをimport/exportする機能(beta)を備えていますが、今回のアップデートでより多くのprototxtがimport/export可能になりました。

 

Neural Network Console Windows版Version 1.20には、ここで紹介した以外にも50近い改善・修正が含まれています。
今後の適切な機能追加のため、引き続きユーザの皆さんからのご意見ご要望をお待ちしています。

 

Neural Network ConsoleWindowsアプリ
https://dl.sony.com/ja/app/