📘

モデル開発 - 深層学習モデルの設計 (MLP)

 

学習データに基づいたMLPの設定

ニューラルネットワーク(Multi Layer Perceptron: MLP)を設計します。
MLPは深層学習の一種であり、人間の脳の神経細胞を模倣したアルゴリズムです。入力層から中間層、出力層までの重みを調整し、学習データに基づいて予測を行います。

MLPカードの操作方法

MLPカードには2種類のレイヤー作成方法があります。

プリセット

  • あらかじめ配置されたレイヤーセットを使用することが出来ます。
  • 「プリセット」から使用したいプリセットをクリックすることで「配置したいプリセットを選択」エリアにプリセットのレイヤーセットがロードされます。
  • 適用ボタンを押下することで使用するプリセットのレイヤーを確定させます。
  • 元に戻すボタンを押下することでプリセットの使用を取り消します。

カスタマイズ

  • レイヤーをドラッグアンドドロップし、独自のレイヤーセットをカスタマイズすることが出来ます。
  • プリセットのレイヤーセットに対してレイヤーを追加することも出来ます。

レイヤー配置/削除と接続/解除

レイヤー名説明設定
Input入力層なし
Dense全結合層ノード数
Activation非線形変換層非線形変換(ReLU/tanh/sigmoid)
Dropoutドロップアウト層ドロップアウト率(0~1.0)
Repeat全結合層+変換層全結合層と非線形変換層を指定回数繰り返します
Output出力層回帰とオートエンコーダーから選択します

パラメータ詳細

A. Input
  • 概要
    • 上端に固定で配置されます。
  • 設定
    • 設定内容はありません。
B. Dense
  • 概要
    • 全結合層です。全結合層とは前の層のすべてのノードと接続され、重みが適用される層です。
  • 設定
    • ノード数を指定します。
C. Activation
  • 概要
    • 非線形変換層です。簡単なモデルとして線形モデルがあげられますが、実際のデータは非線形であることがほとんどです。このため、MLPでは非線形変換処理を行うことで、実際のデータにより近いモデルを構築することができます。
  • 設定
    • 非線形変換処理を以下から選択してください。
      • ReLU
      • tanh
      • sigmoid
      • hard_sigmoid
      • softmax
      • elu
      • selu
D. Dropout
  • 概要
    • ドロップアウト層です。ドロップアウトとは、一定の確率でニューラルネットワークのノードを削除する手法で、過学習を防ぐ際に有効です。
  • 設定
    • ドロップアウト率を指定してください。(0~1.0)
    • 指定された割合で入力層をドロップします。
E. Repeat(Dense-Activation)
  • 概要
    • 全結合層と非線形変換層を繰り返します。
  • 設定
    • 繰り返し回数を指定してください。
    • 繰り返し対象の全結合層と非線形変換層の指定方法はそれぞれの指定方法を参照してください。
F. Output
  • 概要
    • 下端に固定で配置されます。
  • 設定
    • 出力方法を指定してください。
      • 回帰分析を行う際は「回帰」を選択してください。次元は1になります。
      • オートエンコーダーを用いた教師なし学習の際は「オートエンコーダー」を選択してください。次元は入力次元と同じになります。
        • オートエンコーダーとは、データの特徴を抽出するモデルです。入力されたデータを一度圧縮して、重要な特徴量だけを残します。その後、再びもとの大きさに復元処理をします。

パラメータの自動探索

ニューラルネットワークの構造を決定するためには、多くのハイパーパラメータを指定する必要があります。
ハイパーパラメータとは、AIモデル自体の振る舞いを制御するための値です。AIモデルの学習中には更新されず、分析者が事前に設定するパラメータになります。適切にハイパーパラメータを設定することで、予測の精度が良くなる場合があります。
ハイパーパラメータ自動探索を利用する場合は、探索アルゴリズム、最大探索数、最適化手法を指定してください。
設定説明
自動探索アルゴリズムハイパーパラメータ探索に用いるアルゴリズム(ベイズ最適化/ランダムサーチ)。 探索を行わない場合は “使用しない” を指定します。
最大探索数探索の最大回数を指定してください。
最適化手法選択学習時に用いる最適化手法
最適化
  • 概要
    • 学習時に用いる最適化手法を指定します。
  • 設定
    • SGD
    • Adam
    • RMSprop
    • Adastand(NTT 研究所の研究成果)
    • Adagrad
    • Adadelta
    • Adamax
    • Nadam
  • 手動探索/自動探索
    • ハイパーパラメータの自動探索しない場合 “マニュアル” を選択し、最適化手法を指定してください
    • ハイパーパラメータの自動探索する場合 “自動” を指定し、探索候補を指定してください

各レイヤーの設定

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

ハイパーパラメータの自動探索を行わない場合

  • “自動設定”スイッチをオフにし、各レイヤーのパラメータを指定してください。

ハイパーパラメータの自動探索を行う場合

  • “自動設定”スイッチをオンにし、自動で設定される値の範囲を指定してください。
  • Activationレイヤーの場合は変換処理手法の候補にチェックを入れてください。

モデル/学習の設定

設定説明条件
学習率学習率正の実数
バッチサイズバッチサイズ正の整数
エポック数(学習回数)学習回数正の整数
学習ロス学習時に用いる学習ロスMSE/MAE

学習率

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

バッチサイズ

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

エポック数

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

学習ロス

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

設計の保存

  • “実行” ボタンを押して、設定を保存します。
  • 設定内容に矛盾が存在する場合は、エラーが表示されます。
  • 処理時間が 5 分を超えるとタイムアウトし、処理が強制終了されます。この場合は再度実行をお試しください。再度実行しても結果が表示されない場合は、お手数ですが Node-AI サポートへお問い合わせください。