【Python/Keras】ディープラーニング入門・使い方

この記事では、Pythonモジュール「Keras」で機械学習(ディープラーニング)を行う方法について入門者向けに使い方を解説します。

Kerasとは?概要と特徴

Kerasとは、ディープニューラルネットワークを簡単に扱えるPythonモジュールです。
機械学習モジュール「TensorFlow」「CNTK」「Theano」のニューラルネットワークの機能をより簡単に扱えるようにしたものがKerasです。
「TensorFlow」「CNTK」「Theano」のうちをどれを動かすかは選択できますが、選択するモジュールは別途インストールしておく必要があります。

主な特徴
1 ディープニューラルネットワーク(ディープラーニング)専用の機械学習モジュール
2 MITライセンスなので商用利用可能
3 情報が多く日本語ドキュメントも充実→公式日本語ドキュメント
4 バックエンドに機械学習モジュール「TensorFlow」「CNTK」「Theano」は動いており、どれを使うか選択可能
5 クロスプラットフォームで利用可能(iOS、Android、ブラウザ、Google Cloud、JVM、ラズベリーパイ、Pythonのウェブアプリなど
6 豊富な企業での採用実績(Netflix,Uber,Yelp,Instacart,Zocdoc,Squareなど)
7 複数GPUの並列処理が可能
8 開発サポートが充実(Googleを中心として、Microsoft、NVida、Amazonなどもサポート→詳細は公式ドキュメント「なぜKerasを使うか?」

Kerasの環境構築

「Python」および「Keras」の導入方法を以下に整理しました。
WinPythonを使うと、「Python環境」「Scikit-learn」を一括で導入できるのでオススメです。

Python + Scikit-learnの環境構築まとめ
①Python環境構築 Windows環境・・・Python環境を構築する方法
■Linux環境(Ubuntu, Rasbian)・・・標準搭載されてるので不要
②Keras環境構築 インストール方法(pip版)←WinPythonをお使いなら、この作業は不要
③動作テスト バージョン確認(動作テスト)手書き文字認識(mnist)
補足 【機械学習入門】アルゴリズム&プログラミングPython入門 サンプル集

Kerasの基礎

Kerasの基礎的な使い方について下記に整理しました。

種類 項目
ノーマル(NN) AND・OR演算XOR演算学習結果の保存・読み込みモデル構造の可視化
畳み込み(CNN) CIFAR-10のDLCIFAR-10で画像認識・分類CNNで画像分類VGG16で画像認識・分類Fine-tuning
参考文献
公式 Keras日本語公式ドキュメント
SNS QiitaTwitter
その他 旅行好きなソフトエンジニアの備忘録人工知能に関する断創録Github:aidiary
関連記事