Kerasは、人工ニューラルネットワークのためのPythonインターフェースを提供するオープンソースソフトウェアライブラリである。TensorFlowライブラリのインターフェースとして機能する。Kerasは2015年に初めてリリースされ、ディープニューラルネットワークでの迅速な実験を可能にするよう設計されており、ユーザーフレンドリーで、モジュール式で、拡張可能であることに重点を置いている。名称「Keras」は、古代ギリシャ語のκέρας(keras)に由来し、「角」を意味する。
歴史
Kerasは、プロジェクトONEIROS(Open-ended Neuro-Electronic Intelligent Robot Operating System)の研究努力の一環として開発された。その主な著者かつメンテナーは、2024年までGoogleのエンジニアであったFrançois Cholletである。当初、Kerasは独立したソフトウェアであったが、後にTensorFlowライブラリに統合された。バージョン2.3までは、KerasはTensorFlow、Microsoft Cognitive Toolkit、Theano、PlaidMLを含む複数のバックエンドをサポートしていた。バージョン2.4からバージョン3.0までは、TensorFlowのみがサポートされていた。バージョン3.0(およびそのプレビュー版であるKeras Core)から、Kerasは再びマルチバックエンドとなり、TensorFlow、JAX、PyTorchをサポートしている。Keras 3はTensorFlow 2.16以降のデフォルトバージョンとなったが、Keras 2も引き続き使用できる。
特徴
Kerasには、レイヤー、目的関数、活性化関数、オプティマイザーなど、一般的に使用されるニューラルネットワークの構成要素の多数の実装と、画像およびテキストデータを扱うためのさまざまなツールが含まれている。これにより、ディープニューラルネットワークのプログラミングが簡素化される。標準的なニューラルネットワークに加えて、Kerasは畳み込みニューラルネットワークとリカレントニューラルネットワークをサポートしている。また、ドロップアウト、バッチ正規化、プーリングなどの他の一般的なユーティリティレイヤーもサポートしている。Kerasは、スマートフォン(iOSおよびAndroid)、ウェブ、またはJava仮想マシン上でディープモデルを生成することを可能にする。また、グラフィックス処理ユニット(GPU)およびテンソル処理ユニット(TPU)のクラスター上でのディープラーニングモデルの分散トレーニングの使用も可能にする。
採用と影響
Kerasは、特にMachine learningコミュニティにおいて、最も広く使用されている高水準ニューラルネットワークAPIの1つとなっている。TensorFlowとの統合により、多くのDeep learningアプリケーションの標準ツールとなった。このライブラリは使いやすさで知られており、初心者と研究者の両方の間での人気に貢献している。Kerasは、Generative AIやLarge language modelを含むさまざまなArtificial intelligenceプロジェクトでも使用されている。このライブラリの柔軟性と複数のバックエンドのサポートにより、ニューラルネットワークの開発と展開のための多用途な選択肢となっている。
関連項目
- ディープラーニングソフトウェアの比較
- ニューラルネットワーク
- TensorFlow
- PyTorch
- JAX
参考文献
- Kerasのドキュメントおよび公式ウェブサイト
- TensorFlowのリリースノート
- François Cholletの出版物および講演