機械学習
DNN(分類)モデルの作成
概要
このブロックは、BigQuery MLopen_in_newを使い、BigQueryopen_in_new上のトレーニングデータでディープ ニューラル ネットワーク(DNN)open_in_newの分類モデル(TensorFlowベースのディープ ニューラルネットワークの分類モデル)を作成します。作成したモデルは、BigQueryとDataEditorに登録されます。
このブロックを利用することで、DNNの分類モデルを利用した以下のようなユースケースに対応できます。
- 蓄積されていくデータを用いた再学習
- モデル作成の試行錯誤
留意事項
- DNNは、教師あり学習にあたるため、トレーニングデータに推論/予測の対象となるカラムが必要です。
- このブロックは、モデル作成の完了を待たずに終了します。
トレーニングの状態や結果は、DataEditorのモデル一覧で確認できます。 - 「Slack通知設定」プロパティを利用すると、モデル作成の完了をSlackで確認できます。
「Slack通知設定」プロパティで指定する内容は、あらかじめプロジェクト設定の通知設定で作成しておきます。
プロパティ
プロパティ名 | 説明 |
---|---|
ブロック名 |
編集パネルに配置した当該ブロックの表示名が変更できます。 ブロックリストパネル中のブロック名は変更されません。 |
GCPサービスアカウント |
GCPサービスアカウントのリストから適切なGCPサービスアカウントを選択します。 |
入力BigQueryデータセット |
トレーニングデータを格納したBigQueryテーブルが属するBigQueryデータセットを指定します。 |
入力BigQueryテーブル |
トレーニングデータを格納したBigQueryテーブルを指定します。 |
モデル名 |
DataEditorで参照する際のモデルの名前を指定します。 DataEditorに登録済の名前を指定するとモデルは更新されます。 |
トレーニング完了時に付加するタグ名 |
トレーニングが完了した際に、タグも同時に付けたい場合に指定します。 タグは、別途「推論/予測に使用するタグの設定」ブロックを使って、後付けできます。 |
推論/予測の対象に使用するカラム名 |
トレーニングデータの推論/予測の対象に使用するカラム名を指定します。 |
ブロックメモ | このブロックに関するメモが記載できます。このブロックの処理に影響しません。 |
トレーニング完了時からのモデル保持日数(0は制限なし) |
トレーニング完了時点からモデルを保持する日数を指定します。指定した日数を経過するとモデルは自動で削除されます。0日を指定すると、自動削除されません。 初期値は、0日です。 |
ニューラルネットワークのアクティベーション関数 |
ニューラルネットワークの活性化関数open_in_new(ニューロンへの入力値から出力値を求める関数)を指定します。
|
各クラスの頻度に反比例して各クラスの重みを使用してクラスラベルのバランスを取るかどうか |
各クラスの頻度に反比例して各クラスの重みを使用してクラスラベルのバランスを取るかどうかを指定します。
|
各クラスラベルに使用する重み |
クラスラベルごとに重みを設定します。 |
ニューラルネットワークに供給されるサンプルのミニバッチサイズ |
データをいくつかのサブセットに分割するミニバッチサイズを8192以下の正の数で指定します。 慣習的には、1024や2048などの2のn乗値が使われます。 |
ニューラルネットワーク内のユニットのドロップアウト率 |
ニューラルネットワークのユニットのドロップアウト率を指定します。 指定可能な値は、0.0から1.0です。 |
早期停止(相対損失の改善が値よりも小さい最初の反復の後にトレーニングを停止するかどうか) |
最初の反復の後で、「トレーニングを継続するために必要な最小相対損失の改善」で指定された値よりも小さいときに、トレーニングを停止するかどうかを指定します。
|
トレーニングを継続するために必要な最小相対損失の改善 |
「早期停止」を指定した場合、トレーニングを継続するために必要な相対的な損失の最小改善量を指定します。 たとえば、0.01の値を指定すると、トレーニングを継続するためには、各反復で損失を1%減少させる必要があります。 |
隠れ層の構造 |
隠れ層の数と、隠れ層ごとのユニット数を指定します。 |
過剰適合を防ぐために更新で使用されるステップサイズの収縮 |
トレーニングごとに重み付けパラメーターを更新する率を指定します。 |
トレーニングの反復またはステップの最大数 |
トレーニングの反復回数またはステップ回数の最大値を指定します。 |
モデルをトレーニングするためのオプティマイザー |
モデルをトレーニングするためのオプティマイザーを指定します。
|
Slack通知設定(省略可) |
モデル作成完了時に、Slackへその旨のテキストメッセージを送信したい場合に、プロジェクト設定の通知設定で設定したSlack通知の名称を指定します。 Slack通知のイメージ:notificationsモデルの作成が完了したにも関わらずSlackに通知が来ない場合は、何らかの原因(指定したチャンネルがないなど)でSlackの通知に失敗している可能性があります。その場合は、プロジェクト設定の通知設定を確認してください。Slackの通知に失敗している場合は、失敗に関するメッセージが確認できます。 |
Slack通知チャンネル設定(省略可) |
通知先のSlackチャンネルを指定します。 チャンネルを指定した場合は、プロジェクト設定の通知設定のチャンネルは無視されます。 省略した場合は、通知設定で指定されたチャンネルへ通知されます。 |
Slack通知ユーザー名設定(省略可) |
通知する際のユーザー名を指定します。 ユーザー名を指定した場合は、プロジェクト設定の通知設定のユーザー名は無視されます。 省略した場合は、プロジェクト設定の通知設定で指定されたユーザー名が使われます。 |
Slack通知アイコン絵文字設定(省略可) |
通知する際の絵文字を指定します。 絵文字を指定した場合は、プロジェクト設定の通知設定の絵文字は無視されます。 省略した場合は、プロジェクト設定の通知設定で指定された絵文字が使われます。 |