ニューラル ネットワーク(Keras)

TensorFlow マシンの学習ライブラリのハイレベルインターフェイスである Keras は、Graphviz を使用してニューラルネットワークの接続方法を視覚化します。これは、結合および分岐を含む非線形ニューラルネットワークに特に役立ちます。

これはシンプルなニューラルネットワークです(Keras Functional API から)。顧客の発行チケットの優先順位を付け、チケットを処理できる部署にルーティングします。Keras の model_to_dot 関数 を使用して生成されます。

このモデルには 3 つの入力があります

  • 問題のタイトル テキスト
  • 問題の本文テスト
  • 問題のタグ

と 2 つの出力があります

  • 予測優先順位
  • 予測部門

各ノードには入力と出力行列の形状(長さ、幅)というラベルが付けられます。None は、形状がまだ決まっていない場合、形状がこのモデルを訓練する最終的なデータによって異なる場合に表示されます。

[入力 .gv ファイル] [SVG] [ラスター画像]

neural-network.gv.txt
digraph G {
  fontname="Helvetica,Arial,sans-serif"
  node [fontname="Helvetica,Arial,sans-serif"]
  edge [fontname="Helvetica,Arial,sans-serif"]
  concentrate=True;
  rankdir=TB;
  node [shape=record];
  140087530674552 [label="title: InputLayer\n|{input:|output:}|{{[(?, ?)]}|{[(?, ?)]}}"];
  140087537895856 [label="body: InputLayer\n|{input:|output:}|{{[(?, ?)]}|{[(?, ?)]}}"];
  140087531105640 [label="embedding_2: Embedding\n|{input:|output:}|{{(?, ?)}|{(?, ?, 64)}}"];
  140087530711024 [label="embedding_3: Embedding\n|{input:|output:}|{{(?, ?)}|{(?, ?, 64)}}"];
  140087537980360 [label="lstm_2: LSTM\n|{input:|output:}|{{(?, ?, 64)}|{(?, 128)}}"];
  140087531256464 [label="lstm_3: LSTM\n|{input:|output:}|{{(?, ?, 64)}|{(?, 32)}}"];
  140087531106200 [label="tags: InputLayer\n|{input:|output:}|{{[(?, 12)]}|{[(?, 12)]}}"];
  140087530348048 [label="concatenate_1: Concatenate\n|{input:|output:}|{{[(?, 128), (?, 32), (?, 12)]}|{(?, 172)}}"];
  140087530347992 [label="priority: Dense\n|{input:|output:}|{{(?, 172)}|{(?, 1)}}"];
  140087530711304 [label="department: Dense\n|{input:|output:}|{{(?, 172)}|{(?, 4)}}"];
  140087530674552 -> 140087531105640;
  140087537895856 -> 140087530711024;
  140087531105640 -> 140087537980360;
  140087530711024 -> 140087531256464;
  140087537980360 -> 140087530348048;
  140087531256464 -> 140087530348048;
  140087531106200 -> 140087530348048;
  140087530348048 -> 140087530347992;
  140087530348048 -> 140087530711304;
}