16章TensorFlow.jsによるコンピュータビジョンのためのコーディング技法

「2章 コンピュータビジョン入門」「3章 基礎からの発展: 画像の特徴量検出」では、TensorFlowを使ったコンピュータビジョン用のモデルを学習し、画像に含まれる物体の認識を行いました。この章では、JavaScriptで同じことを行います。MNISTデータセットを学習した手書き文字認識器をブラウザ上に構築します。図16-1が、その実行例です。

ブラウザ上の手書き文字認識器

図16-1 ブラウザ上の手書き文字認識器

TensorFlow.jsを使用する場合、特にブラウザでアプリケーションを構築する場合には、注意すべき重要な実装の詳細がいくつかあります。この中で、おそらく影響が最も大きく最も重要なのは、学習データの扱い方です。ブラウザは、URLのリソースを開くたびにHTTP接続を確立します。この接続を使用してサーバにコマンドを渡し、サーバは結果を返します。機械学習は大量の学習データを扱うことを思い出してください。例えば、MNISTやFashion MNISTは小さな学習データセットですが、それでも約70,000枚の画像を持ちます。これはすなわち、約70,000回のHTTP接続が行われることを意味します。この章の後半では、こうした問題に対処する方法を説明します。

加えて、前章で見たように、Y=2X-1の学習といった非常に単純なシナリオであっても、デバッグコンソールを開いてエポックごとの損失を見なければ、学習サイクル中の変化は目に見えません。もし、より高度で実行時間のかかる学習を行った場合、学習中に何が起きているのかを理解するのは困難です。幸い、 ...

Get 動かして学ぶAI・機械学習の基礎 ―TensorFlowによるコンピュータビジョン、自然言語処理、時系列データの予測とデプロイ now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.