プロジェクト画面:コンフィグタブ(Global Config)の使い方

Friday, November 03, 2017

App

Posted by Yoshiyuki Kobayashi

コンフィグタブ(Global Config)では、ニューラルネットワークの学習に関する設定と、確認を行います。

 

1 プロジェクトのコメントを編集するには

Project Descriptionに任意のコメントをテキストで入力します。

 

2 学習完了までの最適化の世代数を指定するには

Max Epochに世代数を入力します。

パラメータを持つ全てのレイヤーについてパラメータのProperty(Weight、Biasなど)が指定されている状態で、学習を行わず設計したネットワークをそのまま学習結果として出力するには、Max Epochに0を指定します。

 

3 学習結果のニューラルネットワークを保存する条件を指定するには

最終世代のニューラルネットワークを保存するにはSave Bestのチェックを外します。Validation Datasetにおいてもっとも誤差が小さかったEpochのニューラルネットワークを保存するにはSave Bestをチェックします。

 

4 Mini-batchを用いた最適化の際のバッチサイズを指定するには

Batch Sizeに1回のパラメータ更新に用いるデータの数を入力します。

 

ご注意

Batch Sizeの値には、学習に用いる各データセットに含まれるデータ数より小さい値を指定する必要があります。

 

5 ネットワーク構造の自動最適化のON/OFFを指定するには

Structure SearchのEnableをクリックしてネットワーク構造の自動最適化のON/OFFを切り替えます。

 

Structure SearchをEnableにした状態で学習を実行すると、自動的にネットワーク構造を様々に変化させながら、より精度が高く演算量の少ないネットワーク構造を探す最適化が行われます。

 

ご注意

Structure SearchをONにした状態で学習を実行すると、ユーザが明示的に学習停止ボタンを押すなどしない限り永久に学習が継続されます。
 
ご注意

構造自動探索中に、エラーが発生するネットワークを自動作成してしまう場合がありますが、その学習のみがIncompleteとなり、すぐに次の学習を継続します。
 

6 ネットワーク構造の自動最適化のアルゴリズムを選択するには

Structure SearchのMethodを以下の2つから選択します。

項目 解説
Random 進化的計算を用いたネットワーク構造の自動探索を行います。様々なネットワーク構造を試行する代わりに、最適化には時間はかかります。
Network Feature + Gaussian Process ネットワーク特徴量とGaussian Processを使ったBayesian Optimizationを用いたネットワーク構造の自動探索を行います。Randomと比較して素早くより良いネットワークを発見できます。

 

7 ネットワーク構造の自動最適化における最適化対象を選択するには

Structure SearchのOptimize forを以下の2つから選択します。

項目 解説
Error より誤差の少ないネットワークを探索します。演算量を考慮せず、とにかく高い性能のネットワークを探索したい場合に指定します。
Error and Calculation より誤差が少なく、かつ演算量の少ないネットワークを探索します。

 

ご注意

Optimize forにErrorを選択した場合、以下で説明する方法で乗加算回数の探索範囲を限定する(上限を設ける)ことをお勧めします。上限を指定しない場合演算量が非常に大きいネットワークが探索され、最適化に時間を要する可能性があります。

 

8 ネットワーク構造の自動最適化時、評価データセットでの精度や乗加算回数で探索範囲を限定するには

Search RangeのValidation(評価データセットの誤差)、Multiply Add(乗加算回数)で、Min(下限)、Max(上限)をそれぞれ指定します。上限や下限を指定しない場合は値を削除して空欄にします。

 

例えばValidationのMaxに0.05を、Multiply AddのMaxに2000000を指定すると、評価データセットの誤差が0.05を上回らず、Multiply Addの範囲が2,000,000を上回らない範囲で構造自動探索が行われます(評価データの誤差に関しては結果的に指定した範囲を超えることがありますが、範囲を超えた学習結果は探索のために用いられません)。

 

9 ネットワーク構造の自動最適化時、性能向上が期待できない探索の早期打ち切りを行うには

Early Stoppingをクリックしてチェックします。また、Time Limitに1度のネットワークの評価を行う最大の時間をdays:hours:minutes:seconds(それぞれ2ケタの数値)のフォーマットで指定します。Time Limitを指定しない場合はTime Limitの値を削除し空欄にします。

 

Early Stoppingがチェックされている場合、探索中のネットワーク構造より乗加算回数が少ないネットワーク構造で過去に行った学習結果と学習曲線比較し、同じ世代で倍以上のエラーとなった場合はその時点で学習を打ち切り、次のネットワーク構造の評価に移ります。

 

Time Limitが設定されている場合、1つのネットワークの評価が指定した時間を超えるとその時点で学習を打ち切り、次のネットワーク構造の評価に移ります。