見逃せない 7 つのディープ ニューラル ネットワーク可視化ツール

見逃せない 7 つのディープ ニューラル ネットワーク可視化ツール

TensorBoard: TensorFlow 統合可視化ツール

GitHub 公式プロジェクト: https://github.com/tensorflow/tensorflow/tree/master/tensorflow/tensorboard

TensorBoard で行われる操作は、多くの場合、大規模なディープ ニューラル ネットワークのトレーニングで発生する複雑で理解しにくい操作です。

TensorFlow プログラムの理解、デバッグ、最適化を容易にするために、Google は TensorBoard と呼ばれる視覚化ツールのセットをリリースしました。 TensorBoard を使用すると、TensorFlow グラフを表示したり、グラフによって生成された定量的なメトリックをプロットしたり、データを添付したりできます。

TensorBoard がセットアップされると、次のようになります。

tensorboard を起動するには、次のコマンドを入力します。

  1. tensorboard --logdir=/path/to/log-directory  

ここでのパラメーター logdir は、SummaryWriter シリアル化データのストレージ パスを指します。 logdir ディレクトリのサブディレクトリに別の実行のデータが含まれている場合、TensorBoard はすべての実行のデータを表示します。 TensorBoard が実行されると、ブラウザに localhost:6006 と入力して TensorBoard を表示できます。 TensorBoard インターフェースに入ると、右上隅にナビゲーション タブが表示されます。各タブには、視覚化されたシリアル化されたデータセットのセットが表示されます。表示するタブごとに、TensorBoard にそのタブに関連付けられたデータがない場合、関連付けられたデータをシリアル化する方法を説明するプロンプトが表示されます。

TensorFlow のグラフ計算は強力かつ複雑であり、グラフの視覚化は理解とデバッグに非常に役立ちます。

詳細については、以下を参照してください。

  • [TensorFlow 中国語コミュニティ] TensorBoard: ビジュアル学習
  • [TensorFlow 中国語コミュニティ] TensorBoard: チャートの視覚化
  • [Geek Academy] TensorBoard: ビジュアル学習

Netscope: Caffe をサポートするニューラル ネットワーク構造のオンライン視覚化ツール

公式サイト: http://ethereon.github.io/netscope/quickstart.html

GitHub プロジェクト: https://github.com/ethereon/netscope

「ニューラル ネットワーク アーキテクチャ (または技術的には任意の有向非巡回グラフ) を視覚化するための Web ベースのツールです。現在は Caffe の prototxt 形式をサポートしています。」

Netscope は、prototxt 形式で記述されたニューラル ネットワーク構造をサポートするオンライン視覚化ツールです。これを使用すると、ネットワーク構造を Caffe 構造の prototxt 形式で視覚化できます。使い方も非常に簡単です。このアドレス http://ethereon.github.io/netscope/#/editor を開き、ニューラル ネットワーク構造を記述した prototxt ファイルを編集ボックスにコピーし、Shift + Enter キーを押すと、ネットワーク構造がグラフィカルに直接表示されます。

たとえば、mnist の Lenet と imagenet の AlexNet を例にとると、Caffe から Caffe ファイル caffe/examples/mnist/lenet_train_test.prototxt と caffe/models/bvlc_alexnet/train_val.prototxt をコピーできます。

ファイルの内容を左側のコンパイル ボックスにコピーし、Shift + Enter キーを押すと、次のように各レイヤーの特定のパラメータを含む視覚的な構造図がすぐに表示されます。

Netscope は、いくつかの一般的な CNN ネットワーク構造の例を提供します。

  • AlexNet | アレックス・クリジェフスキー、イリヤ・サツケヴァー、ジェフリー・ヒントン
  • CaffeNet | Yangqing Jia、Evan Shelhamer 他
  • 完全畳み込みネットワーク — 3 つのストリーム | Jonathan Long、Evan Shelhamer、Trevor Darrell
  • GoogleNet | Christian Szegedy 他
  • ネットワークの中のネットワーク | ミン・リン、チャン・チェン、シュイチェン・ヤン
  • VGG 16 レイヤー | カレン・シモニャン、アンドリュー・ジッサーマン

上記のネットワークの prototxt ソース ファイルは、 https://github.com/ethereon/netscope/tree/gh-pages/presets にあります。

python/draw_net.pyを使用してネットワークモデルを描画します。

python/draw_net.py、このファイルはネットワーク モデルを描画するために使用されます。つまり、ネットワーク モデルを prototxt から画像に変換するために使用されます。

描画する前に、2つのライブラリをインストールする必要があります

1. GraphVizをインストールする

  1. $ sudo apt-get GraphVizをインストール

ここではインストールに pip ではなく apt-get が使用されていることに注意してください。

2. pydotをインストールする

  1. $ sudo pip pydotをインストール

apt-get の代わりに pip を使用してインストールします。

インストールしたら、スクリプトを呼び出して絵を描くことができます。

draw_net.py は、次の 3 つのパラメータで実行されます。

  • 最初のパラメーター: ネットワーク モデルの prototxt ファイル。
  • 2 番目のパラメーター: 保存された画像のパスと名前。
  • 2 番目のパラメーター: - - rankdir = x、x には LR、RL、TB、BT の 4 つのオプションがあります。ネットワークの方向(左から右、右から左、上から下、下から上)を示すために使用されます。デフォルトはLRです。

例: Lenet モデルのプロット

  1. $ sudo python python/draw_net.py examples/mnist/lenet_train_test.prototxt netImage/lenet.png --rankdir=BT  

参考文献:

  • Netscope: Caffe をサポートするニューラル ネットワーク構造のオンライン視覚化ツール
  • Caffe学習シリーズ(18):ネットワークモデルの描画
  • Caffe 学習シリーズ - ツール: ニューラル ネットワーク モデル構造の視覚化
  • ディープネットワークの設計と可視化ツール

ニューラルネットワークプレイグラウンド

公式サイト: http://playground.tensorflow.org

GitHub プロジェクト: https://github.com/tensorflow/playground

Deep Playground は、d3.js を使用して TypeScript で記述されたニューラル ネットワークのインタラクティブな視覚化です。

PlayGround は、教育目的でシンプルなニューラル ネットワークのオンライン デモンストレーションと実験を行うためのプラットフォームです。ニューラル ネットワークのトレーニング プロセスを非常に強力に視覚化します。

参考文献:

  • [Zhihu] TensorFlow Playground に示されているニューラル ネットワークの概念を詳しく説明できる人はいますか?
  • [ブログ] TensorFlow PlayGround と組み合わせたシンプルなニューラル ネットワークの原理の説明

コンブネットJS

公式サイト: http://cs.stanford.edu/people/karpathy/convnetjs/

GitHub プロジェクト: https://github.com/karpathy/convnetjs

ConvNetJS は、ブラウザー内で完全にディープラーニング モデル (ニューラル ネットワーク) をトレーニングするための JavaScript ライブラリです。タブを開くだけでトレーニングを開始できます。ソフトウェア要件、コンパイラ、インストール、GPU は一切不要で、手間もかかりません。

いくつかのオンラインデモ

  • MNIST 数字の畳み込みニューラル ネットワーク
  • CIFAR-10 の畳み込みニューラル ネットワーク
  • おもちゃの2Dデータ
  • おもちゃの1D回帰
  • MNIST 数字でのオートエンコーダのトレーニング
  • Deep Q Learning 強化学習デモ
  • 画像回帰(「絵画」)
  • MNIST における SGD/Adagrad/Adadelta の比較

詳細については、公式ウェブサイトおよび GutHub プロジェクトの README をご覧ください。

WEVI

公式サイト: wevi: 単語埋め込みビジュアルインスペクター

GitHub プロジェクト: https://github.com/ronxin/wevi

具体的な参考資料: wevi: Word Embedding Visual Inspector

CNNVis

出典: 深層畳み込みニューラルネットワークのより良い分析に向けて arxiv.org/abs/1604.07043

詳細については、以下を参照してください。深層畳み込みニューラル ネットワークをより深く理解し、分析するのに役立ちます。今日は、これを読んだ後に使用できる新しい視覚化ツールである CNNVis について説明します。

概要: 深層畳み込みニューラル ネットワーク (CNN) は、多くのパターン認識タスクで大きなパフォーマンスのブレークスルーを達成しました。ただし、高品質の深層モデルの開発には、深層モデルの仕組みを十分に理解していないため、多数の試行が必要です。この論文では、機械学習の専門家が深層畳み込みニューラル ネットワークをよりよく理解、分析、設計できるようにするための視覚化分析システム CNNVis を提案します。

<<:  Spark機械学習APIの選び方

>>:  ゲームにおける経路探索アルゴリズムの深い理解

ブログ    
ブログ    
ブログ    

推薦する

カメラ、レーダー、地図は不要、二足歩行ロボットは「自分の感覚」で歩く

二足歩行ロボットは高価で複雑、そして壊れやすい。バランスという観点で言えば、二足歩行は四足歩行よりは...

ネイチャー誌の表紙:量子コンピューターの実用化はまだ2年先

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

JVMの基本的なガベージコレクションアルゴリズムについて

この記事は JavaEye ブログからの引用であり、元のタイトルは「JVM チューニングの概要 (パ...

...

GANを別の視点から見る: 別の損失関数

ジェレミー・ハワード氏はかつて、Generative Adversarial Network (GA...

500億のパラメータ、103の言語をサポート: Googleが「グローバルテキスト翻訳」モデルを発表

並列データが不足しているため、小規模言語の翻訳は常に大きな問題となっていました。 Google の研...

これらは、データ構造とアルゴリズムにおける動的プログラミングのコツです。

[[442276]]動的計画法理論の基礎動的プログラミングとは何か動的プログラミング (英語: D...

...

エッジコンピューティングは産業界でどのような用途に使われていますか?

エッジ コンピューティングは、モバイル コンピューティングとモノのインターネット (IoT) テクノ...

Amap、ADAS警告ナビゲーション機能を発表:視覚AI技術を使用して車両と歩行者の衝突をインテリジェントに警告

11月18日、高徳地図の新バージョンは革新的なADAS警告ナビゲーション機能をリリースしました。視覚...

...

テクノロジーリーダーはAIGCの長所と短所をどう評価しているか

AIGC は、現代の偉大な技術的進歩の 1 つとして広く認められています。 OpenAI の Cha...

AIは追いつこうと努力しているが、5Gはカーブで追い越しつつある。トランプ氏が不安にならないわけがない。

[[263771]] 5Gの進歩に伴い、コスト面でも速度面でも、中国の5Gなしでは5Gを推進するの...

人々を幸せにしたり不安にさせたり:注目すべき11の人工知能アプリケーション

この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)か...

人工知能が VPS と共有ホスティング オプションの議論を再構築

人工知能は数え切れないほど多くの業界を前例のない形で変えています。ウェブホスティングは人工知能が関与...