Webブラウザで動くDeepLearningを探していて、でもTensorFlow.jsめんどくさいって人が簡単にブラウザでDeepLearningを使った機能を使用したい場合は、ml5.jsが手軽そう.
ml5.js
https://ml5js.org/
ml5.jsのサンプル
https://ml5js.org/docs/getting-started
ml5.jsのサンプルコードがあるGithub
https://github.com/ml5js/ml5-examples/tree/release/javascript
TensorFlow.jsに依存しているぐらいで他に依存はなし.
すでに学習されているモデルを簡単に呼び出して使うことができます.
用意されているものは、有名どころ.
- ImageClassification : 画像のクラス分類
- VideoClassification : 動画のクラス分類(Webカメラを使った例などを紹介)
- KNN :画像のクラス分類
- テキスト生成 : 入力されたテキストを元にその続きを推測
- pitchdetection : 音声ファイルのピッチを推定
- SketchRNN : 人間が入力した線からこのあと描かれる絵全体を推測
- StyleTransfer : ある画像に他の画像の画風を当てる
- word2vec : 単語から特徴量ベクトルを生成
- YOLO : 画像からリアルタイムな物体検出を行う
上記のページのサンプルをローカルで試せばすぐに画像認識できていることが確認できます.
転移学習をしたい場合などは、幾らかのサンプルで対応していますが、そうでないものもあります. 簡単な画像識別のImageClassifierは対応しているみたいです.
FeatureExtractorを使って、addImageで自分のカスタムな学習器を作ることができます.そのチュートリアルもちゃんと用意されています.
やはりブラウザで学習するのは難しいので、LSTMやStyle Transfer(画風変換)の転移学習はPC上であらかじめ学習しておく必要があり、その場でユーザが学習できません.
転移学習は以下参照
https://ml5js.org/docs/training-introduction