D.機械学習Framework

フレームワーク・ライブラリとは

世の中にはAIを開発するために便利なツールがOSS(オープンソースソフトウェア)として提供されています。その中でもフレームワークとライブラリがどのようなものか理解しておきましょう。

ライブラリとは、ある機能を提供するコードの集まりのことで、機械学習やディープラーニングの開発において、Pythonのコードを簡易的に記述するために使用されます。その様々な機能のライブラリを複数集めたまとまりをフレームワークと呼びます。ライブラリとフレームワークはほぼ同義で使われることがあります。

ここでは機械学習やディープラーニングの開発で使いやすいフレームワークを3つ挙げてみます。

・ TensorFlow

Googleが開発している機械学習、ディープラーニングのフレームワークでTensor(多次元配列)の操作に特化しており、「脳を模した機械学習モデル」と呼ばれるニューラルネットを効率的に実装できます。

・ PyTorch

Facebookが開発を主導し、その書きやすさと使いやすさから人気があり、非常に柔軟なニューラルネットワークの記述ができ、今主流であるディープラーニングフレームワークの中でもかなりの人気を誇ります。

・ scikit-learn

Pythonの代表的な機械学習のフレームワークで様々な機械学習のアルゴリズムがクラスとして用意されていて、簡単に機械学習を試すことができます。

ここまでの説明にでてきた、GPU+OS(Linux)+フレームワーク(ライブラリ)があれば、まずはAI開発を始めることが可能です。試しに動作させてみたいという方はここまでの情報参考にしてみてください。

ただし、フレームワーク・ライブラリとその上で開発するアプリケーションは非常に依存関係が強いという特徴があり、開発中に あるライブラリを最新のものに更新すると、そのライブラリが含まれるフレームワーク全体が動かない、過去に開発したものが使えないという事態が発生します。

その問題を予め回避する方法として、AI開発環境の仮想技術を活用することをおすすめします。ただの仮想技術というのではなくAI開発環境の構築を飛躍的に簡単にすることもできるので、なおさら知っておいてほしい技術です。