プロジェクト画面:編集タブの使い方

Tuesday, November 07, 2017

Cloud

Posted by Masayoshi Kimura

※文章中のキーボードショートカットの説明はWindowsで操作した場合の動作です。

編集タブでは、学習に用いるニューラルネットワークのネットワーク構成を編集します。

 

Neural Network Console クラウド版では、ニューラルネットワークの構成を、あらかじめ用意されたレイヤーと呼ばれる部品(関数)の組み合わせで表現します。

 

1 ネットワークグラフに新しいレイヤーを追加するには

ネットワークグラフに追加するレイヤーを、編集タブ左端のコンポーネントリストからネットワークグラフにドラッグ&ドロップします。

もしくは、コンポーネントリストでネットワークグラフに追加するレイヤーをダブルクリックします。

もしくは、コンポーネントリストで、ネットワークグラフに追加するレイヤーをクリックで選択し、キーボードのEnterキーを押します。

もしくは、コンポーネントリストで、ネットワークグラフに追加するレイヤーをクリックで選択し、ネットワークグラフ上でダブルクリックします。

 

ご参考

ネットワークグラフでレイヤーが選択されている状態でコンポーネントリストのダブルクリック、もしくはEnterキーでレイヤーを追加すると、下接点に何も接続していない場合に限り、新しいレイヤーは選択されていたレイヤーに自動的に接続します。

 

2 レイヤーを1つ選択するには

ネットワークグラフ上のレイヤーをクリックします。

 

3 レイヤーを複数選択するには

ネットワークグラフ上のレイヤーやリンクのない箇所からドラッグし、レイヤーを範囲選択します。

 

4 すべてのレイヤーを選択するには

ネットワークグラフ上を右クリックして表示されるポップアップメニューからSelect Allを選択します。

もしくは、キーボードのCtrlキーを押しながらAキーを押します。

 

5 レイヤーの選択を反転するには

ネットワークグラフ上を右クリックして表示されるポップアップメニューからInverse Layer Selectionを選択します。

 

6 レイヤーの選択を解除するには

ネットワークグラフ上の、レイヤーやリンクのない箇所をクリックします。

もしくは、ネットワークグラフ上を右クリックして表示されるポップアップメニューからClear Selectionを選択します。

もしくは、キーボードのEscキーを押します。

 

7 レイヤーの座標を移動するには

  1. 移動対象のレイヤーを選択します。
  2. レイヤーをドラッグして移動します。

 

8 レイヤーを削除するには

  1. 削除対象のレイヤーを選択します。
  2. ネットワークグラフ上を右クリックして表示されるポップアップメニューからDeleteを選択します。
  3. もしくは、キーボードのDeleteキーを押します。

 

ご注意

レイヤーを削除すると、レイヤーに接続されていたリンクも合わせて削除されます。

 

9 既存のレイヤーの位置に新しいレイヤーを挿入するには

  1. コンポーネントリストで、ネットワークグラフに追加するレイヤーをクリックで選択します。
  2. ネットワークグラフで、選択したレイヤーの挿入先のレイヤーを選択します。

 

10 リンク構造を保ったままレイヤーを削除するには

  1. 削除対象のレイヤーを選択します。
  2. キーボードのBack spaceキーを押します。

 

11 2つのレイヤーを接続(リンク)するには

ネットワークグラフ上で、接続先レイヤーを、接続元レイヤーのすぐ下までドラッグして移動します。

もしくは、接続元レイヤーの出力ピンから接続先レイヤーの入力ピンまでマウスでドラッグします。

もしくは、接続元レイヤーが選択されている状態で、キーボードのShiftキーを押しながら接続先のレイヤーをクリックします。

 

12 リンクの接続先を変更するには

ネットワークグラフ上で、接続変更対象のリンクをドラッグします。

 

ご参考

出力ピンに近い方をドラッグすると接続元のレイヤーを、入力ピンに近い方の終端をドラッグすると接続先のレイヤーを変更することができます。

 

13 リンクを選択するには

ネットワークグラフ上でリンクをクリックします。

 

14 リンクを削除するには

  1. 削除対象のリンクを選択します。
  2. ネットワークグラフ上を右クリックして表示されるポップアップメニューからDeleteを選択します。
  3. もしくは、キーボードのDeleteキーを押します。

 

15 過去に行った編集を元に戻すには

画面上部の元に戻すボタンをクリックします。

もしくは、ネットワークグラフ上を右クリックして表示されるポップアップメニューからUndoを選択します。

もしくは、キーボードのCtrlキーを押しながらZキーを押します。

 

16 元に戻した編集を再度行うには

画面上部の再度行うボタンをクリックします。

もしくは、ネットワークグラフ上を右クリックして表示されるポップアップメニューからRedoを選択します。

もしくは、キーボードのCtrlキーを押しながらYキーを押します。

 

ご注意

一度でもUndo以外の編集操作を行うと、過去に行った編集を再度行うことはできなくなります。

 

17 レイヤーをクリップボードに切り取りするには

  1. 切り取り対象のレイヤーを選択します。
  2. 画面上部の切り取りボタンをクリックします。もしくは、キーボードのCtrlキーを押しながらXキーを押します。
  3. もしくは、ネットワークグラフ上を右クリックして表示されるポップアップメニューからCutを選択します。

 

18 レイヤーをクリップボードにコピーするには

  1. コピー対象のレイヤーを選択します。
  2. 画面上部のコピーボタンをクリックします。もしくは、キーボードのCtrlキーを押しながらCキーを押します。
  3. もしくは、ネットワークグラフ上を右クリックして表示されるポップアップメニューからCopyを選択します。

 

19 クリップボードのレイヤーを貼り付けするには

画面上部の貼り付けボタンをクリックします。

もしくは、ネットワークグラフ上を右クリックして表示されるポップアップメニューからPasteを選択します。

もしくは、キーボードのCtrlキーを押しながらVキーを押します。

 

20 レイヤーの配置を自動整理するには

ネットワークグラフ上を右クリックして表示されるポップアップメニューからArrange Layers

を選択します。

 

21 ネットワークグラフの表示範囲を移動するには

ネットワークグラフ右および下に表示されるスクロールバーをドラッグします。

もしくは、マウスホイールを操作します(マウスホイールのみの操作で縦スクロール、Shiftキーを押しながらの操作で横スクロール)。

 

22 ネットワークグラフ表示を拡大縮小するには

  1. ネットワークグラフをクリックして選択します。
  2. 画面上部のズームボタンをクリックします。

もしくは、ネットワークグラフ上を右クリックして表示されるポップアップメニューからZoomを選択し、さらにZoom InもしくはZoom Outを選択します。
 

23 ネットワークグラフ表示の拡大率を元に戻すには

  1. ネットワークグラフをクリックして選択します。
  2. 画面上部のズームボタンをクリックします。

もしくは、ネットワークグラフ上を右クリックして表示されるポップアップメニューからZoom Defaultを選択します。

 

24 レイヤーのプロパティを編集するには

  1. プロパティ編集対象のレイヤーを1つもしくは複数選択します。
  2. プロパティリストに表示されたプロパティのうち、編集するプロパティの値をクリックします。
  3. 文字列を入力するプロパティの場合、キーボードで値を入力します。選択肢から選択するプロパティの場合、マウスで値を選択するか、キーボードのカーソルキー上下で値を選択します。

プロパティの値としては、通常の数値や文字列の他、以下の値を指定することができます。

プロパティの値 解説 使用例
*(アスタリスク)+他のプロパティ名 同じレイヤーの他のプロパティの値をコピーして使用します ● AffineレイヤーのOutShapeプロパティを「*Input」とすることで、出力サイズを入力サイズとする
*(アスタリスク)+Argumentレイヤーの名前 現在のネットワーク内にある、指定した名前のArgumentレイヤーの持つ、Valueプロパティの値をコピーして使用します ● 名前をConvKernelとしたArgumentレイヤーを用意し、複数のConvolutionレイヤーのKernel Shapeを「*ConvKernel」とすることで、ArgumentレイヤーのValueプロパティを編集して複数のConvolutionのKernelShapeをまとめて指定可能にする
数式、カンマ区切りの数式 四則演算とカッコで構成される四則演算を用いることができます

数式中の変数として、同じレイヤーの他のプロパティや、Argumentレイヤーを用いることができます

用いる変数が配列の場合、[ ]演算子を用いて配列の要素のIndexを指定することができます。

● ConvolutionレイヤーのOutMapsを「Input[0]*2」とすることで、OutMapsが入力Map数の倍になるようにする

● ConvolutionレイヤーのPaddingを「KernelShape[0]/2,KernelShape[1]/2」とすることで、PaddingをKernelShapeの半分にする

ご注意
編集結果は、値を入力すると即座に反映されます(Enterキーを押す前に確定されています)。誤って入力した値を元に戻したい場合は、元に戻す機能を利用します。

 

ご注意
編集可能なプロパティは濃い黒字で表示されます。その他のプロパティの値は、レイヤーの接続状況やほかのプロパティの値から自動計算されます。

 

ご注意

不正な値が入力されているか、他のレイヤーとの接続の結果不整合が生じているプロパティには、プロパティリスト右に警告マークが表示されます。また、ネットワークグラフ上で不整合が生じているプロパティを持つレイヤーの右上にも警告マークが表示されます。この場合、レイヤーの接続を見直すか、プロパティの値を修正してください。

 

25 複数のレイヤーのプロパティをまとめて編集するには

複数のレイヤーを選択した状態でプロパティを編集します。
選択中のレイヤーのプロパティのうち、値を入力したプロパティと同名のプロパティがすべて入力した値で上書きされます。

 

26 レイヤーをユニット化するには

  1. ユニット化対象のレイヤーを1つもしくは複数選択します。
  2. ユニット作成ボタンを押します。Create Unitダイアログが開きます。
  3. Network Nameにユニットネットワークのネットワーク名、引数名、値などを入力し、Createボタンを押します。

 

27 各レイヤーの必要とするメモリ量や計算量を確認するには

  1. メモリ量や計算量の確認対象のレイヤーを1つ選択します。
  2. プロパティリストで以下の値を参照します。

 

項目 内容
CostParameter レイヤーの持つパラメータの総数
CostAdd レイヤーの計算に必要な加算回数
CostMultiply レイヤーの計算に必要な乗算回数
CostMultiplyAdd レイヤーの計算に必要な乗加算回数
CostDivision レイヤーの計算に必要な除算回数
CostExp レイヤーの計算に必要な指数計算回数
CostIf レイヤーの計算に必要な条件分岐判断回数

 

ご参考

必要なメモリ量や計算量が常にゼロである項目はプロパティリストに表示されません。

 

28 ネットワーク全体の統計情報を確認するには

編集右のネットワーク統計情報を参照します。

 

ネットワーク統計情報には以下の統計情報が表示されます。

項目 内容
Output 計算過程で保持する必要がある途中計算値(バッファ)の数
CostParameter ニューラルネットワーク全体の持つパラメータの総数
CostAdd 1回のニューラルネットワークの計算で必要な加算回数
CostMultiply 1回のニューラルネットワークの計算で必要な乗算回数
CostMultiplyAdd 1回のニューラルネットワークの計算で必要な乗加算回数
CostDivision 1回のニューラルネットワークの計算で必要な除算回数
CostExp 1回のニューラルネットワークの計算で必要な指数計算回数
CostIf 1回のニューラルネットワークの計算で必要な条件分岐判断回数

 

29 特定の統計情報を詳しく確認するには

ネットワーク統計情報で、詳しく確認したい統計情報をクリックして選択します。

もしくは、プロパティリストで統計情報のプロパティを選択します。

 

ネットワークグラフ上の各レイヤーの右に、選択した統計情報の各レイヤーに占める割合が表示されます。

 

ご参考

統計情報を何も選択していない場合、レイヤーの右にはデフォルトでOutputの内容が表示されます。

 

30 プロジェクトに2つ目以降のネットワーク構造を追加するには

ネットワークグラフ上方の「+」ボタンをクリックします。

 

31 編集対象のネットワーク構造を切り替えるには

ネットワークグラフ上方のタブをクリックして選択します。

 

ご注意

プロジェクト内のすべてのネットワーク構造において同名のレイヤーは一部を除き全て同じプロパティである必要があります。学習、評価の際、同名のレイヤーやパラメータは全てのネットワーク構造の間で共有されます。

 

32 ネットワーク構造の名前を変更するには

  1. ネットワークグラフ上方のタブをクリックして選択します。
  2. クリックしたタブの名前部分を再度クリックします。
  3. ネットワーク構造の名前を入力し、Enterキーを押します。

 

ご注意

通常ネットワーク構造の名前には「Main」を用います。ネットワーク構造の名前として「Main」を指定した場合、設計した学習用のニューラルネットワークを元に評価用のネットワーク構造「MainValidation」、実行時用のネットワーク構造「MainRuntime」がそれぞれ自動生成されます。「Main」以外の名前を指定した場合、学習用(Training)、評価用(Validation)、実行時用(Runtime)のネットワーク構造をそれぞれ個別に設定する必要があります。

 

33 ネットワーク構造をプロジェクトから削除するには

  1. ネットワークグラフ上方のタブをクリックして削除対象のネットワーク構造を選択します。
  2. ネットワーク構造右端の「x」ボタンをクリックします。

 

34 ニューラルネットワークの学習を実行するには

実行制御メニューで学習を実行したいコンピューティングリソースを選択後にRunをクリックします。

 

ニューラルネットワークの学習が開始し、学習の進捗を確認するための学習結果タブが表示されます。学習結果タブでの操作方法については学習結果タブの使い方をご参照ください。

 

ご注意

編集中のネットワーク構成に不備がある、データセットが正しく指定されていないなど、正しく学習を開始できない場合はエラーメッセージが表示されます。