FRONT-END.AI Blog

FRONT-END.AIやAI/機械学習に関する最新情報を発信しています

Webブラウザで機械学習を実行できるエンジンまとめ

AIや機械学習を学ぶ際にはPythonやサーバサイドのプログラミング言語を習得するのが一般的です。しかし、最近ではエッジやオフラインでも実行できるAI、機械学習環境に注目が集まっています。そうすることでクラウドにデータを上げず、プライバシーに配慮したAI利用が可能になります。

今回はそんなWebブラウザで実行できる機械学習エンジンを紹介します。

TensorFlow

f:id:moongift:20210618190049j:plain

TensorFlow.jsはGoogleが主導して開発している機械学習エンジンになります。ベースとなっているのはTensorFlowで、TensorFlow.jsはそのWeb版です。同じモデルが利用できます。

TensorFlow

ONNX.js - Run ONNX models in the browser

f:id:moongift:20210618190101j:plain

ONNX.jsは機械学習モデルの共通フォーマットであるONNXを実行するライブラリです。Microsoftが主導して開発を行っています。

ONNX.js - Run ONNX models in the browser

Synaptic - The javascript neural network library

f:id:moongift:20210618190123j:plain

Synapticはアルゼンチンのブエノスアイレスで始まったオープンソースプロジェクトです。多層パーセプトロン、LSTM、液体状態機械およびホップフィールドネットワークなどに対応しています。

Synaptic - The javascript neural network library

Brain.js: GPU accelerated Neural Networks in JavaScript

f:id:moongift:20210618190133j:plain

GPUを活用したニューラルネットワークエンジンで、WebブラウザとNode.js両方で動作します。Webブラウザの場合はWebGLを利用します。

Brain.js: GPU accelerated Neural Networks in JavaScript

Mind - Flexible neural network library

f:id:moongift:20210618190142j:plain

レコメンドがデモとして上がっているニューラルネットワークライブラリです。学習データのダウンロード、およびアップロードが可能です。

Mind - Flexible neural network library

ConvNetJS: Deep Learning in your browser

f:id:moongift:20210618190152j:plain

連結層、非線形、分類(SVM/Softmax)、回帰、畳み込みネットワークといった一般的なニューラルネットワークモジュールを提供します。実験的ではありますがDeep Q Learningを用いた強化学習モジュールもあります。

ConvNetJS: Deep Learning in your browser

ml5js·Friendly Machine Learning For The Web

f:id:moongift:20210618190207j:plain

ml5jsはTensorflow.jsをより使いやすくラッピングしたライブラリになります。PoseNet、オブジェクト認識、Pix2Pix、カテゴライズなどが簡単なメソッドで使えるようになります。

ml5js·Friendly Machine Learning For The Web

neuro.js

f:id:moongift:20210618190217j:plain

AIアシスタントやチャットボットを作るのに特化したニューラルネットワークライブラリです。

neuro.js

Keras.js - Run Keras models in the browser

f:id:moongift:20210618190228j:plain

KerasモデルをWebブラウザ上で扱えるようにするのがKeras.jsです。AC-GAN、ImageNet、LSTMなど様々なアーキテクチャが用意されています。

Keras.js - Run Keras models in the browser

MIL WebDNN

f:id:moongift:20210618190241j:plain

Web上でDNN(ディープニューラルネットワーク)を行うのに合わせて最適化されたモデルを作成、実行します。既存ライブラリと比べて200倍近く高速化されるようです。

MIL WebDNN

まとめ

Webブラウザで学習させることもできますが、多くの場合はあらかじめモデルを作成しておき、それを読み込んで実行するでしょう。そうすることで、Webカメラの映像から情報を読み取ったり、キーボード入力を解析したりできます。Webブラウザであれば、開発やテストがより簡単になりそうです。ぜひお試しください。

FRONT-END.AIはデザインを理解するAIとして、画像をアップロードするとHTML/CSSコードを生成するサービスを提供しています。この画像解析部分において、AIが用いられています。画像解析に興味があるAI、機械学習エンジニアの方は、ぜひ私たちの求人情報をご覧ください。