byClassmethod検索AWSAlexaモバイルビッグデータサーバーレスTableauAlteryxイベントKerasではじめるDeepLearning機械学習データ分析2017年05月19日じょんすみす(130)224224件のシェア(すこし話題の記事)この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。こんにちは、小澤です。今回はKerasというDeepLearningのライブラリについて書かせていただきます。Kerasとは公式のドキュメントによると以下のようになっています。DocumentationよりKerasを利用するとDeepLearningの背後にある数学的な部分をスクラッチで実装しなくても、各層で利用するアルゴリズムとパラメータを指定するのみなど、比較的短いコードで目的のネットワークを表現することができます。そのため、研究領域において非常に流れが早く企業などでも素早く最新の実装が取り入れらているという現状にあるDeepLearningの最新手法を素早く試すことが可能になります。Kerasの特徴としてドキュメントが日本語化されていることもあげられ、日本人にとってはその点もありがたいのではないでしょうか。そのため、今回は公式ドキュメントを読みながら様々なネットワークを実装できるようになるための基本的な部分を紹介していきたいと思います。実際に触ってみるでは、実際にやってみましょう。インストールまずは、インストールを行います。keras自体のインストールはpipで行えます。実行環境はTesorFlowかTheanoか選択可能ですが、TensorFlowは依存ライブラリに含まれていないようなのでそちらも合わせてインストールしておきます。kerasnumpyなど、その他の依存ライブラリは合わせてインストールされます。以下のようにimportできてればOKです。Perceptron)でMNISTを試してみましょう。score[1])非常に簡単に実装できるのがわかるかと思います。最後のprintの結果は以下のようになっています。0.8905また、実際に上記のコードを試して頂い方はお気づきかと思いますが、Kerasでは実行中の進捗状況を以下のように随時表示してくれます。この進捗は、学習時の引数verboseを0にすることで表示させないことも可能です。0.8843......学習状況の可視化fit関数の戻り値にはこの進捗で表示されている値を保持しているため、matplotlibなどを利用することで可視化することも可能です。fontsize=10)plt.grid()plt.xlabel('epoch')plt.ylabel('acc')plt.show()ネットワークの可視化Kerasは作成したネットワークを可視化する機能も有しています。こちらはGraphvizを利用しているので、インストールが必要になります。GraphvizのインストールはMacであればhomebrewを利用するのが楽です。pydot以下のスクリプトでネットワークを可視化した画像が出力されます。notebookを利用していてインラインで表示させたい場合は以下のようにします。format='svg'))画像は以下のようになります。コールバック関数Kerasには学習時に利用できるコールバック関数というものがあります。コールバック関数を利用すると学習時にエポックごとなど適宜その関数が呼ばれることになるため、学習状況の監視やチェックポイントの作成などに役立ちます。早期終了を行うためのコールバック関数の設定は以下のようになります。callbacks=[early_stopping])exampleを見てみるKerasのGithubにはexampleが含まれています。MLP以外のネットワークを作れるようになるために、いくつか見てみましょう。mnist_cnn.py最初にmnist_cnn.pyを見てみましょう。CNNで利用するためにデータのreshapeを行いますが、こちらはMLPの時と異なっています。1)学習部分は以下のようになっています。レイヤの指定時に全結合(Dense)ではなくConvolutionを指定している。activation='softmax'))LSTM別な例として、LSTMも見ていこうかと思ったのですが、こちらもembeddingやLSTMのレイヤが出てくる以外は同じとなります。手前味噌ながら、だいたいこんなやり方で可能という例を私が以前行ったものを紹介してLSTMの話は終わりにしたいと思います。rin_chan.ipynbたいしたことはしていないので、ここまでの内容を踏まえるとLSTMの使い方もご理解頂けるかと思います。LearningのライブラリであるKerasの基本的な部分の解説とexampleなどを通して実際のネットワークをくむ方法を解説しました。機能紹介として網羅性があるわけでばありませんが、Kerasは非常に容易に扱えるようになっているため、ポイントさえ押さえておけばあとはドキュメントを見ながら使いこなせるかと思います。Learningの理解を深めていきたいという人にも便利なライブラリかと思います。ACEの人やってます。機械学習をしたりHadoopをいじったりしてるエンジニア。〜ITエンジニアのお仕事とホンネ〜2月19日に新卒向けの会社説明会〜ITエンジニアのお仕事とホンネ〜を開催します。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。カフェ店長のオカノです。使いたいときの注意点を書きました。EC2)環境において、不要な踏み台サーバをなくすことができる便利なアップデートです。環境をDockerで構築してみました。臼田佳祐295ワークフロー自動化OSSのn8nをAWS環境で建てて検証してみました。非常に期待できるサービスです。Fargateの勉強をしています。使ってみたい方は参考にしてください。洋介252SnowflakeがAWSの東京リージョン上で稼働するようになりました。データを日本に置けます。芳賀健231こんにちは!猫様の忠実なるしもべ、芳賀健です。Tokyoで開催されました。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。