なぜKerasを使うか?

今日,数え切れない数の深層学習フレームワークが存在します.なぜ他のライブラリではなくて,Kerasを使うのでしょうか?ここでは,Kerasが既存の選択肢に引けを取らない理由のいくつかを紹介します.


Kerasはシンプルかつ柔軟に使用できます

  • Kerasは,機械ではなく,人間のために設計されたAPIです.Kerasは認知的負荷を軽減するためのベストプラクティスに従っています: 一貫性のあるシンプルなAPIを提供し,一般的なユースケースで必要なユーザーの操作を最小限に抑え,エラー時には明確で実用的なフィードバックを提供します.
  • これにより,Kerasは簡単に学ぶことが出来て,簡単に使う事が出来ます.Kerasユーザーは,生産性が高く,競争相手よりも,より多くのアイデアを試す事が出来ます. -- これにより,機械学習のコンテストで勝つのに役立ちます.
  • 手軽さがあっても,柔軟性がなければいけません: Kerasは低レベルな深層学習言語(特にTensorFlow)と統合しているので,基本の深層学習言語で構築されたものを実装する事が出来ます.特に,tf.kerasとして,Keras APIはTensorFlowワークフローとシームレスに統合されています.

Kerasは事業と研究コミュニティの両方で幅広く使用されています

2017年11月現在,Kerasは20万以上の個人ユーザーがおり,TensorFlow自体を除いて,他の深層学習フレームワークよりも事業と研究コミュニティの両方で多く採用されています(KerasはTensorFlowとの組み合わせでよく使用されます).

あなたはすでにKerasで構築された機能を日常で使用しています -- Netflix,Uber,Yelp,Instacart,Zocdoc,Squareなど多くの企業がKerasを使用しています.特に,自社製品の核となる部分で深層学習を用いているようなスタートアップ企業で人気があります. また,Kerasは,深層学習研究者の間でも人気があり,プレプリント・サーバarXiv.orgにアップロードされた,科学技術論文で言及されているフレームワークの中で二番目に使用されています。

また,Kerasは,大規模な科学機関,例えば,CERNやNASAの研究者によって採用されています.


Kerasは簡単にモデルを製品化できます

Kerasのモデルは,他の深層学習フレームワークよりも多くのプラットフォームで,簡単にデプロイできます.


Kerasは複数のバックエンドをサポートし,一つのエコシステムに縛られません

Kerasは複数のバックエンドエンジンをサポートしています.重要な事に,組み込みレイヤーのみで構成されるKerasモデルは,全てのバックエンド間で移植可能です.: 一つのバックエンドを使用して学習したモデルを用いて,別のバックエンドを使用してモデルをロードする事が出来ます.(例えば,デプロイなどで用いる事が出来ます) 使用可能なバックエンドは以下のとおりです.

  • TensorFlow バックエンド (from Google)
  • CNTK バックエンド (from Microsoft)
  • Theano バックエンド

Amazonも現在,KerasのMXNetバックエンドの開発にも取り組んでいます.

また,KerasモデルはCPU以外の様々なハードウェアプラットフォームで学習する事が出来ます.


Kerasは複数のGPU,分散学習のサポートが強力です


Kerasの開発は深層学習の主要企業によってサポートされています

Kerasの開発は主にGoogleによってサポートされ,Keras APIはTensorFlowに tf.kerasとしてパッケージ化されています. 加えて,MicrosoftはCNTK Kerasバックエンドを管理しています. Amazon AWSはMXNetサポートを開発中です. その他,NVIDIA,Uber,Apple(CoreML)によって,サポートされています.