教育

ディープラーニングを効率的にできるライブラリ「Keras」とは

ディープラーニングを効率的にできるライブラリ「Keras」とは

昨今、AI(人工知能)開発の重要技術としてディープラーニングが進化を続ける中、より効率的にディープラーニングを実行するためのライブラリも多く登場し、Webなどに公開されています。より簡単に、より便利にディープラーニングを実施することができるため、開発においてこのライブラリを使わない手はありません。

ディープラーニングの効率化を実現するライブラリは多数存在しますが、中でも「Keras」と呼ばれるライブラリが今、注目を集めています。「Keras」はオープンソースで、ディープラーニングに必要となる様々な機能を有すことから利用者も多く、今もなお活発に開発・進化が続いているライブラリです。

それでは「Keras」とはどういったものなのか、その概要だけでなく具体的なインストール方法や使い方、より高度に使いこなすためのコツなどについて詳しく見ていきましょう。

Kerasとは

Kerasとは

「Keras(ケラス)」はオープンソースのディープラーニング用ライブラリで、ディープラーニングに使用する「モデル」をより簡単に作成できるように設計されています。

オープンソースですのでどなたでも活用することができ、AI(人工知能)開発に役立てることができるのです。

元々、ディープラーニングにはTensorFlowやTheanoといった機械学習用ライブラリが存在していたのですが、Kerasは先駆者であるこれらのライブラリの上部で動作するよう作られています。
本来、ディープラーニングではベースとなる数学的理論をゼロから構築する必要があるのですが、Kerasを活用することでこの開発を省略でき、比較的短いソースコードで実装することが可能。

公式サイトのみならず、ブログでも最新情報やチュートリアルが公開されていたりと、活発な動きを見せているライブラリです。

開発においては「どんなことができるか」という要素と同様に「どれくらい容易に実現できるか」という部分も重要になってきます。より効率的にディープラーニングを行うことができるKerasは現在、大きな盛り上がりを見せているのです。

Kerasができること

Kerasができること

概要に続いて、具体的にKerasが実現できることを見ていきましょう。

Kerasは機械学習、ディープラーニングの分野で必要となる多くの機能を実装しています。
まず、既にある文章を学習させることで「文章の自動生成」をすることが可能です。たとえば、一つの小説を読み込ませた後に冒頭文を与えると、その後の文章を自動生成する・・といったことも。

この文章の学習については「GPU」が不可欠となりますので、GPU搭載のPC、もしくはAWSなどの仮想サーバが必要です。

また、AI(人工知能)の持つ能力として非常に有用な「画像認識」についても、Kerasを用いて学習することができます。画像認識にはCNN(畳み込みニューラルネットワーク)が使われますが、KerasもこのCNNを使っているのです。

AI(人工知能)として少しシンプルな形にはなりますが、特定の質問に回答を返す「bot」と呼ばれる自動発信システムも、Kerasを用いることで簡単に作成できます。botは既にWeb上やアプリなどでも活躍していますので、そういった開発の場面でもKerasは役立つでしょう。

Kerasをインストールする方法

Kerasをインストールする方法

より簡単に機械学習、ディープラーニングを実現できるKerasですが、オープンソースですのでどなたでも自由に活用することが可能です。その手順も非常に簡単で、基本的には必要なものを順次、開発用端末にインストールし、設定を行っていくだけ。

今回は、仮想環境である「Anaconda」を利用してKerasを使用する形を例としてご紹介します。

公式サイトより、環境にあったAnacondaをダウンロードする

Anaconda

ダウンロードしたAnacondaを手順に沿ってインストールする
 ↓
インストールされたAnaconda Promptを起動する(以降のインストール作業はここで行う)
 ↓
Python環境を準備する
conda create -n keras35 python=3.5 anaconda
 ↓
作成したKeras環境を有効にする
conda activate keras35
 ↓
TensorFlowをインストールする
pip install –ignore-installed –upgrade tensorflow
 ↓
Kerasをインストールする
pip install keras

上記の流れで、Keras環境のインストールが完了します。

全て、Anaconda Promptの上で特定のコマンドを打ち込むのみなので、導入も非常に簡単です。

AnacondaはKerasの利用だけでなく、PythonによるAI(人工知能)の開発環境として活用できますので、Keras導入前にこちらを触ってみておくのも良いかもしれません。

Kerasの実装方法〜初級編〜

Kerasの実装方法〜初級編〜

Kerasを導入したら後は実際に学習用のネットワークを生成していきます。今回は簡単ですが、学習用ネットワーク作成までの流れを見ていきましょう。

・必要なモジュールをインポートする(Sequential、mnist、Conv2D、Activation等々)
 ↓
・学習モデルに層を追加していく(学習データは、「枚数」「横幅」「立幅」といった構造を持つ)
 ↓
・オプティマイザーを定義し、compileする(学習モデルの感性)
 ↓
・作成したmodelを元に学習を行う
 ↓
・学習済モデルをファイルとして保存する

実現したい学習内容によって詳細な方法や記載は変わってきますが、基本的には上記の流れによって、Kerasを用いた機械学習、学習モデルの作成を行うことができます。

特にインポートするモジュールは、学習内容によって必要なものが変わってきますので、最終的にどのような学習を行いたいか、によって取得する物を調べておくと良いでしょう

Kerasをさらに使いこなすための方法

Kerasをさらに使いこなすための方法

Kerasを使うことによって、より容易に機械学習を行うことができますが、さらに高度に利用することもできます。

例えばVGGなどの学習済みモデルをロードし、少ないデータで学習を行う「転移学習」にも対応。学習済みモデルをインポートし、モデルとして読み込むだけで容易に実現可能です。
また、入力した画像に回転やシフトといった変化を加えることで、より汎用的な結果が得られる「データ拡張」にもKerasは対応しており、データ拡張用の関数が用意されているので、これを用いるだけでシンプルにより高性能な学習モデルを創り上げることもできます。
更に、学習させるだけでなくその学習結果がどのような評価に値するか、といったものを判定する「評価関数」もKerasで作成できます。「keras.backend」をインポートするだけですので、Kerasで作成した学習モデルを、Kerasで判定し評価を見る、といったこともシンプルに実現できます。

簡単に使うだけでなく、ディープラーニングの上級者向け機能も有しているのが、Kerasが多くの方に使われている特徴の一つ。ディープラーニングの導入だけでなく、実用的なレベルの開発まで幅広くカバーされたライブラリといえますよね。

 

パソコンのイメージ

TensorFlowやTheanoといった様々なディープラーニング用のライブラリが登場する中、Kerasはそれらをベースとして、より使いやすく、より開発がしやすくなる上位のライブラリとして登場しました。

文章の自動生成や画像認識といったKerasの持つ機能は、AI(人工知能)開発では非常に重要とされる能力であり、Kerasが注目を集めている理由となっています。また、導入のしやすさや環境の構築が容易、と言った点もこれからAI(人工知能)開発に取り組もうとする方々には嬉しい点ですよね。

導入することでAI(人工知能)開発を効率化してくれるKerasは、開発者の方々にとって非常に心強い味方になってくれます。是非、AI(人工知能)開発の現場に、役立ててみてください。

【お知らせ】

当メディア(AIZINE)を運営しているAI(人工知能)/DX(デジタルトランスフォーメーション)開発会社お多福ラボでは「福をふりまく」をミッションに、スピード、提案内容、価格、全てにおいて期待を上回り、徹底的な顧客志向で小規模から大規模ソリューションまで幅広く対応しています。

御社の悩みを強みに変える仕組みづくりのお手伝いを致しますので、ぜひご相談ください。

お多福ラボコーポレートサイトへのバナー

トップへ戻る
タイトルとURLをコピーしました