4.1.a. 深層学習モデルの設計 (MLP)

4.1.a. 深層学習モデルの設計 (MLP) #

4.1.a.1. 機能概要 #

ニューラルネットワーク(Multi Layer Perceptron: MLP)を設計します。

MLPは深層学習の一種であり、人間の脳の神経細胞を模倣したアルゴリズムです。入力層から中間層、出力層までの重みを調整し、学習データに基づいて予測を行います。

4.1.a.2. 入力と出力 #

なし

種別 接続先
設計済みモデル 学習

4.1.a.3. 操作方法 #

4.1.a.3.1. レイヤ配置/削除と接続/解除 #

Tool box から、レイヤーをキャンバスにドラッグアンドドロップし、配置した後、互いに接続します(接続解除する場合は結線を切断します)。 レイヤを削除する場合は、メニューを表示して"Remove Layer"を選択します。

レイヤー名 説明 設定
Input 入力層 なし
Dense 全結合層 ノード数
Activation 非線形変換層 非線形変換(ReLU/tanh/sigmoid)
Repeat 全結合層+変換層 全結合層と非線形変換層を指定回数繰り返します
Dropout ドロップアウト層 ドロップアウト率(0~1.0)
Regression output 回帰用出力層 なし
AE output AutoEncoder用出力層 なし

A. Input

  • 概要
    • 上端に配置してください。入力データに合わせて次元は自動設定されます。
  • 設定
    • 設定内容はありません。

B. Dense

  • 概要
    • 全結合層です。全結合層とは前の層のすべてのノードと接続され、重みが適用される層です。
  • 設定
    • ノード数を指定します。

C. Activation

  • 概要
    • 非線形変換層です。簡単なモデルとして線形モデルがあげられますが、実際のデータは非線形であることがほとんどです。このため、MLPでは非線形変換処理を行うことで、実際のデータにより近いモデルを構築することができます。
  • 設定
    • 非線形変換処理を以下から選択してください。
      • ReLU
      • tanh
      • sigmoid
      • hard_sigmoid
      • softmax
      • elu
      • selu
      • softplus
      • softsign

D. Repeat(Dense-Activation)

  • 概要
    • 全結合層と非線形変換層を繰り返します。
  • 設定
    • 繰り返し回数を指定してください。
    • 繰り返し対象の全結合層と非線形変換層の指定方法はそれぞれの指定方法を参照してください。

E. Dropout

  • 概要
    • ドロップアウト層です。ドロップアウトとは、一定の確率でニューラルネットワークのノードを削除する手法で、過学習を防ぐ際に有効です。
  • 設定
    • ドロップアウト率を指定してください。(0~1.0)
    • 指定された割合で入力層をドロップします。

F. Regression Output

  • 概要
    • 回帰用出力層です。回帰分析を行う際に、下端に配置してください。次元は1になります。
  • 設定
    • 設定内容はありません。

G. AE Output

  • 概要
    • AutoEncoder 用出力層です。AutoEncoderとは、データの特徴を抽出するモデルです。入力されたデータを一度圧縮して、重要な特徴量だけを残します。その後、再びもとの大きさに復元処理をします。AutoEncoder を用いた教師なし学習の際に、下端に配置してください。
    • 次元数は入力次元と同じ次元数に自動的に設定されます。
  • 設定
    • 設定内容はありません 。

4.1.a.3.2. #

ニューラルネットワークの構造を決定するためには、多くのハイパーパラメータを指定する必要があります。

ハイパーパラメータとは、AIモデル自体の振る舞いを制御するための値です。AIモデルの学習中には更新されず、分析者が事前に設定するパラメータになります。適切にハイパーパラメータを設定することで、予測の精度が良くなる場合があります。

ハイパーパラメータ自動探索を利用する場合は、探索アルゴリズム、探索回数、探索終了条件(任意)を指定してください。

設定 説明
自動探索アルゴリズム ハイパーパラメータ探索に用いるアルゴリズム(ベイズ最適化/ランダムサーチ)。 探索を行わない場合は “使用しない” を指定します
最大探索数 探索の最大回数
メトリックス (AND) 探索終了条件(RMSE/CORR)。指定されていない場合は条件は適用されません

4.1.a.3.3. 各レイヤーの設定 #

レイヤーをクリックすると、各レイヤーの設定ダイアログが開きます。

4.1.a.3.3.1. ハイパーパラメータの自動探索を行わない場合 #

“マニュアル” を選択し、各レイヤーのパラメータを指定してください。

4.1.a.3.3.2. ハイパーパラメータの自動探索を行う場合 #
  • “自動” を指定し、探索条件を指定してください。
  • ベイズ最適化/ランダムサーチ では、指定した範囲の中から最適なパラメータが探索されます。

4.1.a.3.4. モデル/学習の設定 #

設定 説明 条件
学習率 学習率 正の実数
バッチサイズ バッチサイズ 正の整数
エポック数(学習回数) 学習回数 正の整数
学習ロス 学習時に用いる学習ロス MSE/MAE
最適化手法選択 学習時に用いる最適化手法 (マニュアル/自動)マニュアルの場合は、一つ選択し、自動の場合は、探索候補にチェックを入れます

学習率

  • 概要
    • 学習率を指定します。
  • 設定
    • 正の実数(0.0001 ~ 0.01 程度の値を推奨します)

バッチサイズ

  • 概要
    • 学習時に用いるバッチサイズを指定します。
    • 大きな値を用いた方が過学習を防げますが、多くの GPU メモリを要します。
  • 設定
    • 正の整数

エポック数

  • 概要
    • 全ての学習データを用いて繰り返し学習することを 1エポック と呼び、同じデータを用いてエポックを繰り返します。本設定において、繰り返すエポック数を指定します。
  • 設定
    • 1 以上の整数
      要因分析(Attribution Analysis)カードを用いる場合は、十分大きなエポック数で学習することを推奨します。

学習ロス

  • 概要
    • 学習時に用いる ロス関数を指定します。
  • 設定
    • MSE (Mean Square Error)
    • MAE (Mean Absolute Error)

最適化

  • 概要
    • 学習時に用いる最適化手法を指定します。
  • 設定
    • SGD
    • Adam
    • RMSprop
    • Adastand(NTT 研究所の研究成果)
    • Adagrad
    • Adadelta
    • Adamax
    • Nadam
  • 手動探索/自動探索
    • ハイパーパラメータの自動探索しない場合
      “マニュアル” を選択し、最適化手法を指定してください
    • ハイパーパラメータの自動探索する場合
      “自動” を指定し、探索候補を指定してください

4.1.a.3.5. 設計の保存 #

  • “実行” ボタンを押して、設定を保存します。
  • 設定内容に矛盾が存在する場合は、エラーが表示されます。
  • 処理時間が 5 分を超えるとタイムアウトし、処理が強制終了されます。