機械学習で使われるライブラリは多数あります。
その中でも、TensorFlow、PyTorch、scikit-learnの三つが特に有名です。
それぞれ特徴があり、用途に応じて使い分けられています。
本記事では、検索トレンドからこの三つのライブラリの人気の動きを分析します。
まずは、次の画像をご覧ください。
各グラフは、以下を表しています。
Google Trendsを見ると、PyTorchの検索ボリュームが他の二つを大きく上回っています。
PyTorchは2016年に登場した比較的新しいライブラリです。
Meta(Facebook)が開発に関わり、動的計算グラフによる柔軟性が高いことから、急激に注目されるようになりました。
現在は自然言語処理やコンピュータビジョンの分野で広く採用され、人気の高さが検索トレンドに表れています。
一方、TensorFlowは2017年頃まで機械学習ライブラリの代表格でした。
しかし、PyTorchの台頭で相対的に検索ボリュームが下がっています。
とはいえ、Googleがバックについている TensorFlowは、今も大規模なコミュニティを持ち、豊富なリソースとサポートが魅力です。産業界を中心に、実際のプロダクトでの利用事例も多く、根強い人気があります。
scikit-learnは機械学習ライブラリの中では老舗です。
検索ボリュームの絶対数はPyTorchやTensorFlowには及びませんが、安定した人気を保っています。
scikit-learnは機械学習アルゴリズムのライブラリというよりは、データの前処理や機械学習ワークフローの効率的な構築のためのツール群と言えます。
豊富なAPIを持ち、PyTorchやTensorFlowとの併用も多いです。
また、scikit-learnは分かりやすいAPIとドキュメントが特長で、機械学習初学者の学習用途でもよく使われています。
まとめると、2021年以降はPyTorchが独走状態ですが、
TensorFlowとscikit-learnもそれぞれの強みを生かして使われています。
PyTorchは研究者のアイデアの素早い実装と試行錯誤に適しています。
TensorFlowは大規模ニューラルネットワークの学習と本番環境への適用に長けています。
scikit-learnは探索的データ解析や前処理に有用です。
実は、2021年1月末時点でも同じような分析を行っています。
そのときは、PytorchがTensorFlowに追い付いてきたぐらいでした。
それが、今ではもうダブルスコア以上ですね。