18章JavaScriptでの転移学習

「17章 Pythonモデルの再利用とJavaScriptへの変換」では、JavaScriptにモデルを取り込む方法を2つ紹介しました。独自のPythonモデルを変換する方法と、TensorFlowチームが提供する事前変換済みのモデルを使用する方法です。ゼロから学習する以外に、転送学習という方法もあります。転移学習とは、あるシナリオのために事前に学習を行ったモデル層の一部を、別のシナリオのために再利用することです。例えば、コンピュータビジョン用の畳み込みニューラルネットワークは、何層ものフィルタを学習しています。多くのクラスを認識するために大規模なデータセットで学習した場合、おそらく他のシナリオにも使用できる非常に一般的なフィルタができているはずです。

TensorFlow.jsで転移学習を行うには、モデルの配布方法により、いくつかの選択肢があります。大きく分けると、次の3種類です。

  • TensorFlow.jsコンバータで層ベースのモデルに変換して作成したmodel.jsonファイルがある場合、その中の層から1つを選び、それを新しいモデルの入力として学習を行う。
  • TensorFlow Hubでよく見られるグラフベースのモデルに変換されている場合、そのモデルから特徴ベクトルを別のモデルに供給し、学習した特徴を利用する。
  • モデルが簡単に配布できるようにJavaScriptファイルでラップされている場合、埋め込みや特徴ベクトルへのアクセスを手段が提供されているため、予測または転移学習のための便利なショートカットとして利用する。

この章では、これら3種類をすべて説明します。まず、「17章 Pythonモデルの再利用とJavaScriptへの変換」 ...

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.