nbsp;
目次
1.KERASとは?
2.KERASの歴史は?
3.KERASの強み
1.KERASとは?
KERAS (ケラス)とは、オープンソフトウェアライブラリの一つで、TensorFlowまたはCNTK,Theano上で実行できる高水準のニューラルネットワークライブラリです。
主に深層学習(ディープラーニング)分野で活用されています。KERASはPythonでニューラルネットワークが記述できる、非常に高機能なライブラリです。ニューラルネットワークライブラリであるMXNet、Deeplearning4j、TensorFlow、CNTK、Theanoなどの上部で動作することができます。深層学習(ディープラーニング)を迅速に実験できるように設計されおり、最小限でモジュール式、さらに拡張性があることに重点を置いて開発されました。
KERASはプロジェクトONEIROS (Open-ended Neuro-Electronic Intelligent Robot Operating System) の研究の一環として開発されました。
2.KERASの歴史は?
KERASは当初プロジェクトONEIROS (Open-ended Neuro-Electronic Intelligent Robot Operating System) の研究の一環として開発されました.
2015年3月頃に初版をリリースしています。
KERASの開発は主にGoogleによってサポートされています。KERAS APIはTensorFlowにtf.KERASとしてパッケージ化されました。
MicrosoftはCNTK KERASバックエンドを管理しています。
Amazon AWSはMXNetサポートを現在開発中です。
他にも NVIDIA、Uber、Apple(CoreML)によってサポートされています。
3.KERASの強み
KERASの主な強みは
1.ユーザーフレンドリー
2.モジュール性
3.拡張性
4.Pythonで実装
が挙げられます。詳しくは下記でご紹介します。
1.ユーザーフレンドリー
KERASは機械向けでなく、人間向けにも設計されたライブラリであり、ユーザーエクスペリエンスを前面と中心におり、認知負荷を軽減するためのベストプラクティスに従っています。
シンプルなAPIを提供し、一般的な事例で要求されるユーザーアクションを最小限に抑え、ユーザーエラー時も明確で実用的なフィードバックを提供しています。
2.モジュール性
モデルはできるだけ制約の少ない接続が可能です。独立した設定可能なモジュールのシーケンスまたはグラフとして理解しやすいです。特に、ニューラルネットワークの層や損失関数、最適化、初期化、活性化関数、正規化は、すべて新しいモデルを作成するための組み合わせ可能な独立したモジュールになっています。
3.拡張性
新しいモジュールが(新しいクラスや関数として)簡単に追加することができます。既存のモジュールには多くの実装例があるため、新しいモジュールを容易に作成できる表現力があります。
4.拡張性
KERASは宣言形式の設定ファイルを持ったモデルはありません。モデルはPythonコードで記述されており、このPythonコードはコンパクトでかつ、デバッグが容易であり簡単に拡張することができます。
そんなKERASは以下のような用途での利用が可能です。
●画像認識
●文章の自動生成
●自然言語処理
引き続き、KERASの環境構築方法、チュートリアルなどKERASの実践的な内容をご紹介する予定です。