Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
Keras/TesorFlowによる
ディープラーニング事始め
...
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
Kerasとは
• 高水準のニューラルネットワークライブラリ
–...
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
今回やったこと
Keras により手書き文字データセット MIN...
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
MNISTとは
28x28ピクセル、グレースケールの手書き数字の...
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
訓練データの分割
今回、学習済みモデルでの予測をするため、学習に...
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
環境&インストール
 環境
OS : Ubuntu 16.04...
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
モデル
7
 モデル
ディープラーニングでは、ニューラルネット...
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
学習と予測
8
 学習
訓練データと教師データのペアを入力とし...
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
エポックとバッチサイズ
 エポック
全訓練データを1回学習に用...
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
AND回路, OR回路
10
𝑥1 𝑥2 𝑦
0 0 0
1 0...
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
AND回路、OR回路のモデル
AND回路、OR回路は1層のモデル...
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
ExOR回路
ExOR回路はAND回路とOR回路で実現できる。
...
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
ExOR回路のモデル
ExOR回路は2層のモデルで学習できる。
...
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
MNISTサンプルプログラムのモデル
KerasのMNISTサン...
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
ドロップアウト
ドロップアウトは、学習の際、一定割合で使用しない...
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
活性化関数
ノードの入力の総和を変換する関数。
• 非線形関数で...
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
損失関数
モデルの出力と教師データ(正解データ)との差を計算する...
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
最適化アルゴリズム
ミニバッチ学習の際、最適なパラメータを計算す...
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
分類(多値変数)のお約束
分類(多値変数)の予測モデルを構築する...
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
TensorBoardログ出力
コールバックにより、Tensor...
Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
TensorBoardログ出力
学習完了後、 tensorboa...
Upcoming SlideShare
Loading in …5
×

of

2018年01月27日 Keras/TesorFlowによるディープラーニング事始め Slide 1 2018年01月27日 Keras/TesorFlowによるディープラーニング事始め Slide 2 2018年01月27日 Keras/TesorFlowによるディープラーニング事始め Slide 3 2018年01月27日 Keras/TesorFlowによるディープラーニング事始め Slide 4 2018年01月27日 Keras/TesorFlowによるディープラーニング事始め Slide 5 2018年01月27日 Keras/TesorFlowによるディープラーニング事始め Slide 6 2018年01月27日 Keras/TesorFlowによるディープラーニング事始め Slide 7 2018年01月27日 Keras/TesorFlowによるディープラーニング事始め Slide 8 2018年01月27日 Keras/TesorFlowによるディープラーニング事始め Slide 9 2018年01月27日 Keras/TesorFlowによるディープラーニング事始め Slide 10 2018年01月27日 Keras/TesorFlowによるディープラーニング事始め Slide 11 2018年01月27日 Keras/TesorFlowによるディープラーニング事始め Slide 12 2018年01月27日 Keras/TesorFlowによるディープラーニング事始め Slide 13 2018年01月27日 Keras/TesorFlowによるディープラーニング事始め Slide 14 2018年01月27日 Keras/TesorFlowによるディープラーニング事始め Slide 15 2018年01月27日 Keras/TesorFlowによるディープラーニング事始め Slide 16 2018年01月27日 Keras/TesorFlowによるディープラーニング事始め Slide 17 2018年01月27日 Keras/TesorFlowによるディープラーニング事始め Slide 18 2018年01月27日 Keras/TesorFlowによるディープラーニング事始め Slide 19 2018年01月27日 Keras/TesorFlowによるディープラーニング事始め Slide 20 2018年01月27日 Keras/TesorFlowによるディープラーニング事始め Slide 21
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

1 Like

Share

Download to read offline

2018年01月27日 Keras/TesorFlowによるディープラーニング事始め

Download to read offline

発表日:2018年01月27日
イベント名: AITCオープンラボ TensorFlow勉強会シリーズ2 成果報告会
イベントURL:http://aitc.jp/events/20180127-OpenLab/info.html
タイトル:Keras/TesorFlowによるディープラーニング事始め
発表者:野田 洋之氏

Kerasは高水準のニューラルネットワークライブラリであり、バックエンドと
してTensorFlowを使用でき、より迅速に、シンプルに、ニューラルネット
ワークを実装できます。
本発表では、ディープラーニング初心者に向け、手書き文字セットMINSTを学
習・予測するKerasのコードを、実演を交えて解説します。

サンプルコード:ipynb
AND http://www.aitc.jp/4b21e766/download.rbx?fileId=37f7e8383ef516fb&dirId=3
EXOR http://www.aitc.jp/4b21e766/download.rbx?fileId=70aef6fee200bde1&dirId=5
MNIST http://www.aitc.jp/4b21e766/download.rbx?fileId=e3632976bfa36a4a&dirId=3

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

2018年01月27日 Keras/TesorFlowによるディープラーニング事始め

  1. 1. Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. Keras/TesorFlowによる ディープラーニング事始め 2018年1月27日 TensorFlow勉強会シリーズ2 成果報告会 野田 洋之 (個人会員)
  2. 2. Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. Kerasとは • 高水準のニューラルネットワークライブラリ – 迅速に、シンプルに、ニューラルネットが実装できる • バックエンドとして TensorFlow をサポート • 日本語のドキュメントが整備されている 2 Keras Documentation (https://keras.io/ja/)
  3. 3. Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 今回やったこと Keras により手書き文字データセット MINIST の学習、および 予測を実行。モデルはシンプルな全結合3層のネットワーク。 • ベースは Keras examples directory のサンプル mnist_mlp.py • ベースに対し次の点を変更 ➢訓練データとテスト用データの構成を変更 ➢TensorBoard用のコールバックを追加 ➢学習済みモデルにより予測をするコードを追加 3
  4. 4. Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. MNISTとは 28x28ピクセル、グレースケールの手書き数字のデータセット。 訓練データ6万枚、テストデータ1万枚。 機械学習の実験用データとして使われることが多い。 個々のデータは入力データ(画像データ)と教師データ (正解データ)のペアで与えられている。 4 入力データ (画像データ) 教師データ 正解データ 6 2 4 3 4 1 0 6
  5. 5. Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 訓練データの分割 今回、学習済みモデルでの予測をするため、学習には MNISTの訓練データを8:2に分割して使用。 5 訓練データ (60,000枚) テストデータ (10,000枚) テストデータ (test data) (10,000枚) 訓練データ (training data) (48,000枚) 検証データ (validation data) (12,000枚) 学習に使用 学習済みモデルによる 予測に使用
  6. 6. Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 環境&インストール  環境 OS : Ubuntu 16.04 LTS (X64) Python : 3.5.4 (pyenv-virtualenv) TensorFlow : 1.4.1 Keras : 2.1.3  インストール pyenv-virtualenv 環境から pip でインストール。 • Keras/TensorFlow 関連のパッケージ 6 > pip install keras tensorflow jupyter • その他のパッケージ。 > pip install jupyter pandas matplotlib sklearn pydot
  7. 7. Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. モデル 7  モデル ディープラーニングでは、ニューラルネットワークのこと。 ➢ ハイパーパラメータ 学習で決定できないパラメータ。 • モデルの層の数、活性化関数などモデルの構造に関わる パラメータ • ドロップアウトの割合、学習率など、学習の際のパラメータ ➢ パラメータ 学習で決定するパラメータ。バイアス、重みなど。
  8. 8. Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 学習と予測 8  学習 訓練データと教師データのペアを入力として、最適化アルゴ リズムにより、損失が最小となるモデルのパラメータを決定 する。損失は、訓練データをモデルに入力し得られた出力と 教師データとの差で、損失関数で計算する。  予測 回帰や分類において、学習済みモデルにデータを入力し、 予測値を得ること。
  9. 9. Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. エポックとバッチサイズ  エポック 全訓練データを1回学習に用いると1エポック。 学習のエポック数が6の場合、全訓練データを用いた学習を 6回繰り返す。  バッチサイズ 学習の際、訓練データからバッチサイズ数のデータを無作為 に抜き出し、最適化アルゴリズムによりパラメータを更新する (ミニバッチ学習)。訓練データが48,000個、バッチサイズが 100の場合、1エポックで480回ミニバッチ学習を実行する。 9
  10. 10. Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. AND回路, OR回路 10 𝑥1 𝑥2 𝑦 0 0 0 1 0 0 0 1 0 1 1 1 𝑥1 𝑥2 𝑦 𝑥1 𝑥2 𝑦 𝑥1 𝑥2 𝑦 0 0 0 1 0 0 0 1 0 1 1 1
  11. 11. Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. AND回路、OR回路のモデル AND回路、OR回路は1層のモデルで学習できる。 11 model = Sequential() model.add(Dense(units=1, activation='sigmoid', input_shape=(2,))) 𝑦 = ℎ 𝑏 + 𝑤1 𝑥1 + 𝑤2 𝑥2 𝑤 : 重み 𝑏 : バイアス ℎ() : 活性化関数 𝑥1 1 𝑥2 𝑦1 𝑤1 𝑤2 𝑏 入力の形状 出力の形状 活性化関数 通常の全結合ニューラル ネットワークレイヤー 入力層 出力層 ○ はノード,ニューロン
  12. 12. Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. ExOR回路 ExOR回路はAND回路とOR回路で実現できる。 12 𝑥1 𝑥2 𝑦 𝑥1 𝑥2 𝑦 0 0 0 1 0 1 0 1 1 1 1 0
  13. 13. Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. ExOR回路のモデル ExOR回路は2層のモデルで学習できる。 13 model = Sequential() model.add(Dense(units=2, activation='relu’, input_shape=(2,))) model.add(Dense(units=1, activation='sigmoid’)) 𝑥21 1 𝑥22 𝑦1 𝑤12 (1) 𝑥11 1 𝑥12 𝑤11 (1) 𝑤22 (1) 𝑤21 (1) 𝑏1 (1) 𝑏2 (1) 𝑏1 (2) 𝑤11 (2) 𝑤12 (2) 入力層 出力層中間層 (隠れ層)
  14. 14. Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. MNISTサンプルプログラムのモデル KerasのMNISTサンプルプログラム (mnist_mlp.py) のモデル。 シンプルな全結合3層のネットワーク。 14 model = Sequential() model.add(Dense(512, activation='relu', input_shape=(28*28,))) model.add(Dropout(0.2)) model.add(Dense(512, activation='relu')) model.add(Dropout(0.2)) model.add(Dense(num_classes, activation='softmax'))
  15. 15. Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. ドロップアウト ドロップアウトは、学習の際、一定割合で使用しないノードを 設定することで、予測に寄与しないノードが発生するのを 抑止する。ミニバッチごとに設定される。 15
  16. 16. Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 活性化関数 ノードの入力の総和を変換する関数。 • 非線形関数であること • 微分可能であること 16 適用 種類 関数名 説明 中間層 ReLU関数 relu ℎ(𝑥) = max 0, 𝑥 = ቊ 0 (𝑥 < 0) 𝑥 (𝑥 ≥ 0) 出力層 回帰 恒等関数 linear ℎ(𝑥) = 𝑥 線形分類器。 分類 (2値変数) シグモイド 関数 sigmoid 出力は0から1.0の間の実数。 確率変数の出力に利用。 分類 (多値変数) ソフトマックス 関数 softmax 出力は0から1.0の間の実数。 出力の総和は1。 ソフトマックス関数の出力は確率と解 釈できる。 上記以外にも様々な活性化関数が用意されている。 活性化関数 - Keras Documentation
  17. 17. Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 損失関数 モデルの出力と教師データ(正解データ)との差を計算する 関数。モデルをコンパイルする際に指定する。 17 適用 種類 関数名 説明 回帰 2乗和誤差 mean_squared_error 分類 (2値変数) 交差エントロピー 誤差 binary_crossentropy 分類 (多値変数) 交差エントロピー 誤差 categorical_crossentropy 上記以外にも様々な損失関数が用意されている。 損失関数 - Keras Documentation
  18. 18. Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 最適化アルゴリズム ミニバッチ学習の際、最適なパラメータを計算するための アルゴリズム。モデルをコンパイルする際に指定する。 Keras で利用可能な最適化アルゴリズムは 最適化 - Keras Documentation を参照。 学習率など、いくつかのハイパーパラメータは、最適化アルゴリズムから 設定できる。  学習率 学習の際、どれくらいパラメータを更新するか、調整するハイパー パラメータ。大きすぎると発散し、小さすぎると学習が進まない。 18
  19. 19. Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 分類(多値変数)のお約束 分類(多値変数)の予測モデルを構築する際(損失関数として categorical_crossentropy を使用する際)、お約束がある。  モデルの出力 モデルの出力は教師データのカテゴリ数とする。 MNISTの場合、0~9の10カテゴリなので、10次元とする。  教師データ 教師データを、次元がカテゴリ数のone-hot表現に変換する。one-hot表現 は、カテゴリに対応する次元が1、それ以外が0のベクトル。Kerasでは keras.utils.to_categorical 関数で、カテゴリカル変数をone-hot表現に変換で きる。 19 損失関数 - Keras Documentation より抜粋
  20. 20. Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. TensorBoardログ出力 コールバックにより、TensorBoardのログの出力ができる。 コールバックに登録した関数は学習の際に実行される。 20 tb_cb = keras.callbacks.TensorBoard(log_dir=tb_log_dir, histogram_freq=1) cbks = [tb_cb] keras.callbacks.TensorBoard メソッドのインスタンスを取得。 log_dir : ログの出力先 histogram_freq : モデルの層の活性化ヒストグラムを計算する(エポック中の)頻度 history = model.fit(x_train, y_train, batch_size=batch_size, epochs=epochs, callbacks=cbks, verbose=1, validation_data=(x_target, y_target)) 学習を実行する際、オプションにコールバックのインスタンスを指定。
  21. 21. Copyright © 2018 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. TensorBoardログ出力 学習完了後、 tensorboard コマンドを実行。ブラウザで TensorBoard サーバー(デフォルトはポート6006)にアクセス。 21 > tensorboard --logdir [tensorboard_log_dir]
  • yusukehonda77

    Jan. 29, 2019

発表日:2018年01月27日 イベント名: AITCオープンラボ TensorFlow勉強会シリーズ2 成果報告会 イベントURL:http://aitc.jp/events/20180127-OpenLab/info.html タイトル:Keras/TesorFlowによるディープラーニング事始め 発表者:野田 洋之氏 Kerasは高水準のニューラルネットワークライブラリであり、バックエンドと してTensorFlowを使用でき、より迅速に、シンプルに、ニューラルネット ワークを実装できます。 本発表では、ディープラーニング初心者に向け、手書き文字セットMINSTを学 習・予測するKerasのコードを、実演を交えて解説します。 サンプルコード:ipynb AND http://www.aitc.jp/4b21e766/download.rbx?fileId=37f7e8383ef516fb&dirId=3 EXOR http://www.aitc.jp/4b21e766/download.rbx?fileId=70aef6fee200bde1&dirId=5 MNIST http://www.aitc.jp/4b21e766/download.rbx?fileId=e3632976bfa36a4a&dirId=3

Views

Total views

809

On Slideshare

0

From embeds

0

Number of embeds

1

Actions

Downloads

6

Shares

0

Comments

0

Likes

1

×