2019 年の JavaScript 向け機械学習ライブラリ トップ 6

2019 年の JavaScript 向け機械学習ライブラリ トップ 6

通常、機械学習 (ML) の方法とアルゴリズムは、Python または R の 2 つのプログラミング言語のいずれかを使用して適用されます。機械学習に関する書籍、コース、チュートリアルでも、通常、これらの言語の 1 つ (または両方) が使用されます。

[[270861]]

Python は、機械学習だけでなく、科学計算、バックエンド Web 開発、デスクトップ アプリケーションなどにも使用される汎用プログラミング言語です。R は主に統計学者によって使用されます。ただし、少なくとも 2 つの共通点があります。

  • プログラマー以外の人にも適しています
  • 包括的なMLライブラリがある

多くの場合、ML アルゴリズムは Fortran、C、C++、または Cython で実装され、Python または R から呼び出されます。

Java は機械学習にも使用されますが、通常はプロのプログラマーによって使用されます。

ここ数年で JavaScript の人気が高まり、ブラウザーや Node.js で ML メソッドを実装するための非常に興味深い機械学習ライブラリがいくつか登場しました。驚くべきことに、これらのライブラリの多くは、大量のコードを JavaScript で実装しています。

js の

ml.js は、ブラウザと Node.js 向けの包括的で汎用的な JavaScript ML ライブラリです。次のルーチンを提供します。

  • 配列、ハッシュ テーブル、ソート、乱数生成などのビット演算。
  • 線形代数、配列演算、最適化(レーベンバーグ・マルカート法)、統計
  • クロス検証
  • 教師あり学習
  • 教師なし学習

サポートされている教師あり学習方法は次のとおりです。

  • 線形回帰、多項式回帰、指数回帰、べき乗回帰
  • K近傍法
  • ナイーブベイズ
  • サポートベクターマシン
  • 決定木とランダムフォレスト
  • フィードフォワードニューラルネットワークなど

さらに、ml.js はいくつかの教師なし学習手法を提供します。

  • 主成分分析
  • クラスター分析(k平均法と階層的クラスタリング)
  • 自己組織化マップ(コホネンネットワーク)

テンソルフロー

TensorFlow は最も人気のある機械学習ライブラリの 1 つです。ディープ ネットワークを含む人工ニューラル ネットワークのさまざまなタイプと構造、およびネットワークのコンポーネントに焦点を当てています。

TensorFlow は Google Brain チームによって作成され、C++ と Python で書かれています。ただし、JavaScript をはじめとしたさまざまな言語で使用できます。

TensorFlow は非常に包括的なライブラリであり、モデルの構築とトレーニングが簡単になります。さまざまなネットワーク レイヤー、アクティベーション関数、オプティマイザー、その他のコンポーネントをサポートします。優れたパフォーマンスを備え、GPU サポートを提供します。

TensorFlow.js は、ブラウザまたは Node.js で使用するための JavaScript ML ライブラリです。 WebGLをサポートしています。

脳.js

brain.js は JavaScript で書かれたライブラリで、フィードフォワードおよびリカレント ニューラル ネットワークのトレーニングと適用に重点を置いています。また、ニューラル ネットワークに必要な数学ルーチンなどの他のユーティリティも提供します。

次のような高度なオプションが提供されます:

  • GPUを使用してネットワークをトレーニングする
  • 複数のネットワークを並行して収容できる非同期トレーニング
  • クロスバリデーションはより複雑な検証方法である

brain.js は、JSON ファイルにモデルを保存したり、JSON ファイルからモデルを読み込んだりします。

コンブネットJS

ConvNetJS は、ニューラル ネットワークとディープラーニング用の別のライブラリです。ブラウザ内でニューラルネットワークをトレーニングできます。分類と回帰の問題に加えて、まだ実験段階の強化学習モジュール(Q 学習を使用)も備えています。 ConvNetJS は、画像認識に優れた畳み込みニューラル ネットワークのサポートを提供します。

ConvNetJS では、ニューラル ネットワークはレイヤーのリストです。次のレイヤーを提供します。

  • 入力 (***) レイヤー
  • 完全に接続されたレイヤー
  • 畳み込み層
  • プーリング層
  • ローカルコントラスト正規化レイヤー
  • 分類器損失(出力)層: ソフトマックスとSVM
  • L2(出力)層を使用した回帰損失

次のようないくつかの重要なアクティベーション関数をサポートしています。

  • レル
  • S状結腸
  • 双曲正接
  • マックスアウト

次のようなオプティマイザーもあります:

  • 確率的勾配降下法
  • アダデルタ
  • アダグラッドS
  • ConvNetJS は、モデルを JSON ファイルに保存および読み込むための便利な方法も提供します。

ライセンス: MIT。

ウェブDNN

WebDNN は、LSTM アーキテクチャを備えたリカレント ニューラル ネットワークを含むディープ ニューラル ネットワークに重点を置いたライブラリです。 TypeScript と Python で記述されており、JavaScript および Python API を提供します。

また、ブラウザ内での GPU 実行の可能性も提供します。

WebDNN の非常に便利な機能は、PyTorch、TensorFlow、Keras、Caffemodel、または Chainer によって事前トレーニングされたモデルを変換して使用できることです。

自然

natural は、Node.js 用の自然言語処理用の JavaScript ライブラリです。

サポート対象:

  • トークン化(テキストを文字列の配列に分割)
  • 弦距離の計算
  • 類似文字列のマッチング
  • 分類(ナイーブベイズ、ロジスティック回帰、*** エントロピー)
  • 感情分析(現在 8 つの言語に対応)
  • 音声マッチング、屈折語、n-gram など。

結論は

JavaScript と機械学習はどちらも、ここ数年で大きな注目と人気を集めています。 JavaScript はもともと Web ページの動的な動作を実装するために作成されましたが、特にブラウザーやサーバー (Node.js) 上で機械学習手法を実装および適用するための最も人気のある言語の 1 つになりました。

この記事では、JavaScript 機械学習ライブラリの可用性に関する初期情報を提供します。

<<:  ガートナー: 高等教育における人工知能

>>:  韓国のUNISTが協力し、今後5~15分間の交通状況を予測するAIシステムを開発

ブログ    
ブログ    

推薦する

PyTorch チームが「すべてを分割」モデルを書き直し、元の実装より 8 倍高速化

今年初めから現在に至るまで、生成AIは急速に発展してきました。しかし、多くの場合、特に PyTorc...

PyTorch と TensorFlow のベンチマーク: どちらのプラットフォームが NLP モデル推論をより速く実行しますか?

PyTorch と TensorFlow のどちらが優れているかという議論は、決して終わることはあ...

これらのブラウザのAI拡張機能は素晴らしい

ご存知のとおり、拡張機能を追加することによってのみ、ブラウザは最大限の可能性を発揮し、効率を 2 倍...

...

...

...

機械学習情報工場になるためには、企業はリーン製造からこれらの6つの基本を学ぶ必要がある

【51CTO.com クイック翻訳】調査機関Forrester Researchが最近発表した調査レ...

...

すごい...正義のために親族を殺す? Google AI、米国の月面着陸写真は偽物だと判定

1969年、アポロ11号が月面着陸に成功し、アームストロング船長は、今日でも数え切れないほどの人々が...

オックスフォード大学の最新調査:AIはベンチマーク危機に直面し、NLPは推論テストの「取り組み」に注力

人工知能 (AI) ベンチマークは、モデルを測定および比較するための方法を提供します。ベンチマークを...

日常アルゴリズムのパスの合計について話す

[[426794]]この記事はWeChatの公開アカウント「3分でフロントエンドを学ぶ」から転載した...

将来の不動産価格決定はAIが最終決定する

一部の企業にとって、新型コロナウイルス感染症のパンデミックは壊滅的な打撃となっている。しかし、他の企...

...

JavaScript による機械学習の例 10 選

機械学習ライブラリは時間の経過とともに高速化と使いやすさが向上しており、開発のペースが鈍化する兆候は...

壁を登る毛虫のように、上海交通大学の新しいソフトロボットは水平にも垂直にも動くことができる

今日のロボットは、次のようなさまざまな形やサイズのものがあります。こんなのもあります:一見奇妙に見え...