Keras
概要

深層学習(ディープラーニング)を行うモデルの実装には数学的な知識と複雑なコードが必要になることが多く、研究者や開発者にとって参入障壁が高い分野であった。Kerasは複雑なニューラルネットワークの構築を少ないコード量でシンプルに記述できる環境を提供し、モデル構築についての学習や試行錯誤を効率的に進めることができる。
Kerasでは、ニューラルネットワークの層(レイヤー)や、最適化アルゴリズム、損失関数、活性化関数などモデルを構築するための構成要素がそれぞれ独立したモジュールとして提供されており、これらを積み木のように組み合わせることで様々な設計のニューラルネットワークを迅速に構築できる。
画像認識に用いる畳み込みニューラルネットワーク(CNN)、時系列データや自然言語処理に用いるリカレントニューラルネットワーク(RNN)、大規模言語モデル(LLM)の基礎となるTransformerベースのモデルなども、対応する層を組み合わせることで実装可能である。
モデルの構築方法としては直感的に層を積み重ねる「Sequentialモデル」と、より複雑なアーキテクチャを柔軟に記述できる「Functional API」の2種類が主に使われる。学習の実行はcompile()とfit()という2つのメソッドを呼び出すだけで基本的な処理が完結する設計となっており、コードの簡潔さが多くの利用者に評価されている。
2015年に米グーグル社(Google)社のエンジニア、フランソワ・ショレ(François Chollet)氏によって開発され、オープンソースとして公開された。もともと独立した深層学習ライブラリとしてTheano、TensorFlow、CNTKなど複数のバックエンドに対応していたが、2019年にTensorFlowと統合され、そのフロントエンドAPIとして開発が続いている。