オープンソースのプロジェクト
オープンソースのプロジェクトでは、
- ライブラリやフレームワーク
- アプリケーションソフトウェア
- OS
などの開発に参加することや、ソースコードや資料を使って学ぶことが可能です。
- UbuntuやCentOSなどのLinuxのOS
- MariaDBやPostgreSQLなどのデータベース管理システム
- Ruby on RailsやVue.jsなどのフレームワーク
はオープンソースとして広く知られています。
ディープラーニング関連技術のオープンソースも多数あります。
ここでは、そのいくつかを
- 基本ライブラリ / フレームワーク
- 応用分野別のプロジェクト
という観点から紹介します。
多様化しているディープラーニング技術のオープンソースプロジェクト
基本ライブラリ / フレームワーク
TensorFlow
TensorFlowは、Googleが公開しているオープンソースのライブラリです。
機械学習やディープラーニングのライブラリとして、広く使用されています。
TensorFlow上で動作するKerasというフレームワークも広く知られています。
TensorFlowは、C++やPythonを用いて開発が進められており、2021年2月時点で約2,900人の開発者(contributors)がいます。
PyTorch
PyTorchは、 Facebookの人工知能研究グループ(FAIR)が公開したオープンソースのライブラリです。
TensorFlowと並び、機械学習やディープラーニングのライブラリとして知られています。
C / C++やPythonを用いて開発が進められているPyTorch開発には2021年2月時点で約1,700人が参加しています。
Apache MXNet
Apache MXNetは、オープンソースのディープラーニング用フレームワークです。
Apache MXNetを使用することで、ディープラーニングモデルの訓練、デプロイに、
- C++
- Python
- Java
- Scala
- Julia
- Go
- R
などの様々なプログラミング言語で取り組むことができます。
C++やPythonを用いてApache MXNetの開発が進められており、2021年2月時点で約900人の開発者(contributors)がいます。
分野別のプロジェクト
画像処理や画像の生成など
torchvision
torchvisionは、PyTorchライブラリの画像処理向けパッケージです。
torchvisionでは、ディープラーニングの画像処理に使用することが多い、
- データセット
- モデル
- 画像変換処理
などを取り扱うことができます。
CycleGAN and pix2pix in PyTorch
CycleGAN and pix2pix in PyTorchは、ディープラーニングを用いた画像変換技術を、PyTorchライブラリに組み込むプロジェクトです。
この技術を活用することで、
- 馬 → シマウマ
- 風景写真の夏 → 冬
というような高度な画像変換を実現できます。
OpenCV
OpenCVは、Intelが公開したコンピュータビジョン用ライブラリです。
ディープラーニングでの画像関連処理の場合は、PyTorchをはじめとするディープラーニングライブラリと組み合わせて使用することが多いです。
ほかにも
このほかにも、
- 物体検出と画像セグメンテーションのためのMask R-CNNモデルの実装(KerasとTensorFlow)
- 顔認識のFace Recognition(Dlib)
- 姿勢推定システムのOpenPose
など興味深いプロジェクトが多数あります。
自然言語処理
Transformers
Transformersは、PyTorchやTensorFlow用の自然言語処理のディープラーニングライブラリです。
近年、注目されている
などのディープラーニングの自然言語処理のモデルが実装されており、2021年2月時点で既に約750人の開発者(contributors)がいます。
Camphr
Camphrは、PKSHA Technology社が公開している自然言語処理のライブラリです。
PythonのライブラリspaCyのプラグインとして使用できます。
Camphrを使用することで、ディープラーニング×自然言語処理に取り組むことができます。
ドキュメントが用意されています。
そのほか
画像処理や自然言語処理以外にもディープラーニングのオープンソースプロジェクトはあります。
fastai
fastaiは、ディープラーニングのライブラリです。
ディープラーニングの普及を目指すfast.aiという非営利団体により公開されたライブラリです。
fastaiを使用することで比較的容易にディープラーニングを試すことができます。
fast.aiは、fastaiライブラリ開発をけん引している他に、
などを公開しています。
fastaiのプロジェクトには、2021年2月時点で約600人の開発者(contributors)がいます。
OpenAI Gym
OpenAI Gymは、世界的なAI研究開発組織であるOpenAIが公開しているオープンソースのツールキットです。
OpenAI Gymには、ディープラーニングを含む強化学習の研究、開発に活用できるツールがあります。
始め方の資料が充実しています。
活用できるオープンソースのプロジェクト
最初から開発に参加するのはハードルが高いという場合にも、
- ドキュメントの確認
- サンプルコードを試してみる
- チュートリアルの確認
などを通して、オープンソースプロジェクトで学習していくことは可能です。
ディープラーニングや機械学習に興味が出た、という人は
プログラミング学習×オープンソースのプロジェクトの組み合わせ、を活用してみてはいかがでしょうか。
ここで紹介したプロジェクトの他にもGitHubでは多くのオープンソースプロジェクトを見つけることができます。
例えば自然言語処理が気になる人は、「natural language processing github」といったようなキーワードで検索して、オープンソースプロジェクトを見てみるのも良いかもしれません。
コメント