AI(人工知能)に関する記事を読んでいて、「ライブラリ」という言葉を見かけることがありますよね。しかし、プログラミングに接点が無い人が聞けば、「?」が出てくる意味のわからない言葉です。
実際、僕自身初めて「ライブラリ」という言葉を聞いて、図書館をイメージしてしまって理解できず「?」が出てきました。
現在では、様々な人々が気軽にAI(人工知能)を利用、実装できる世の中になっているわけですが、こうした世の中の実現に「ライブラリ」が大きく貢献しています。それほどライブラリは私たちに大きな恩恵をもたらしました。そこで今回は「ライブラリ」についてお伝えします!!
一言で言うと「ライブラリ」とは・・・
欲しい機能を簡単に利用できるお役立ちツールがライブラリ
AI(人工知能)に関する記事を読んでいてよく目にするのは、「機械学習ライブラリ」という言葉でしょう。「機械学習ライブラリ」とは、機械学習の実装や、機械学習を実際に行うために必要となる色んな処理がまとめられたものです。
機械学習とは、AI(人工知能)の中心となっている技術の一つで、データからパターンや傾向を見つけ、そのパターンや傾向を用いて新たなデータに対しても予測や判別を行う技術のことです。
機械学習については以下のページで詳しく解説しています。
まだ理解しづらい表現になっているので、例を挙げます。
例えば、自分の書いたメインのプログラムで、Aという機能を実行したい場合があるとしましょう。メインのプログラムからAという機能を持つライブラリを呼び出すことで、機能Aを実行することができます。
もしライブラリが無いとなると、Aという機能を自分でプログラムしなければなりません。この状況を料理で例えて言うなら、
この例からわかるように、ライブラリは自分でプログラムする手間を省ける非常に便利なものです。ただ、こうした便利なライブラリは、使いたい機能を持つものが提供されているとも限りませんし、何でも実現できるという訳でもありません。また、ライブラリはプログラミング言語ごとに提供されているため、自分が使用しているプログラミング言語が、使いたいライブラリに機能しておらず使えない、ということもあります。
現在オープンソースとして無償提供されている主な機械学習ライブラリ
現在オープンソースとして無償で提供されている主な機械学習ライブラリとして、以下のようなものがあります
オープンソースとは、公に無料提供されているプログラムのソースコードで、誰でも自由に好きに使って良いという考えに基づいてコンピュータプログラムを開発する手法のことを言います
- scikit-learn
2007年にスタートしたもので、操作言語はPython(パイソン)です。
Pythonについては以下のページで詳しく解説しています。
- TensorFlow
2016年11月にGoogleから公開された機械学習ソフトウェアライブラリ。Google社内で実際にAI(人工知能)の研究に携わっていたメンバーによって開発され、Google社内で使用されていたものがオープンソース化された。
- Chainer
ニューラルネットワークをベースとしたディープラーニング(深層学習)のモデル構築をサポートするフレームワーク。国内企業のPreferred Networks(プリファードネットワークス)から提供されている。
「ニューラルネットワーク」、「ディープラーニング」をもっと詳しく知りたい方は、以下のページをご参考ください。
- Caffe
Googleに在籍するエンジニアがカリフォルニア大学バークレー校の博士過程在籍時に開発を開始して、現在提供されているディープラーニング(深層学習)のフレームワーク。
- CNTK
Microsoftから提供されているディープラーニング(深層学習)のためのツールキット。
- R言語
統計解析のためのプログラミング言語として開発された。機械学習の実装によく使われるPythonと同様に、機械学習向けに用意されたパッケージ化された拡張機能がたくさんある。
まとめ
つまり、「ライブラリ」とは、
コメントをどうぞ