機械学習フレームワーク横断、Chainer, Keras

25
機械学習 フレームワーク横断 Chainer, Keras 【基礎編】

Transcript of 機械学習フレームワーク横断、Chainer, Keras

Page 1: 機械学習フレームワーク横断、Chainer, Keras

機械学習フレームワーク横断

Chainer, Keras

【基礎編】

Page 2: 機械学習フレームワーク横断、Chainer, Keras

目次

• 問題設定

• chainer導入と実装

• keras導入と実装

• chainer keras比較

• 感想

Page 3: 機械学習フレームワーク横断、Chainer, Keras

問題設定(分類問題について)

Page 4: 機械学習フレームワーク横断、Chainer, Keras

分類問題の流れ

対象物

特徴量

分類器

A

C

B

• 対象物から問題に適した特徴量を抽出• 特徴量を分類器に入力• 対象物がどのクラスに属しているか判定

Page 5: 機械学習フレームワーク横断、Chainer, Keras

今回扱うデータ

対象物

特徴量

分類器

A

C

B

アヤメ

setosa

virginica

versicolor

Page 6: 機械学習フレームワーク横断、Chainer, Keras

特徴量の内容

対象物

特徴量

分類器

A

C

B

花びらの長さと幅がく片の長さと幅の4次元ベクトル

Page 7: 機械学習フレームワーク横断、Chainer, Keras

扱う分類器

対象物

特徴量

分類器

A

C

B

NN(ニューラルネットワーク)

Page 8: 機械学習フレームワーク横断、Chainer, Keras

今回の構成

花びらの長さ

花びらの幅

(中間層の1つ目のノードの入出力のみに着目)

がく片の幅

がく片の長さ

b(バイアス)

入力層

中間層

出力層

W1

W2

Page 9: 機械学習フレームワーク横断、Chainer, Keras

W1

W2

教師信号の内要

[1, 0, 0]

[0, 1, 0]

[0, 0, 1]

Page 10: 機械学習フレームワーク横断、Chainer, Keras

Chainerの導入と実装http://chainer.org/

Page 11: 機械学習フレームワーク横断、Chainer, Keras

Chainer 導入

Page 12: 機械学習フレームワーク横断、Chainer, Keras

Chainer実装

Page 13: 機械学習フレームワーク横断、Chainer, Keras

Chainer実装

モデルの記述

Page 14: 機械学習フレームワーク横断、Chainer, Keras

Chainer実装モデルの記述

Page 15: 機械学習フレームワーク横断、Chainer, Keras

Chainer実装

モデル、最適化手法の設定

Page 16: 機械学習フレームワーク横断、Chainer, Keras

Chainer実装

学習

Page 17: 機械学習フレームワーク横断、Chainer, Keras

参考図書

『Chainerによる実践深層学習』新納浩幸http://shop.ohmsha.co.jp/shopdetail/000000004728/

Page 18: 機械学習フレームワーク横断、Chainer, Keras

Kerasの導入と実装https://keras.io/ja/

Page 19: 機械学習フレームワーク横断、Chainer, Keras

Keras導入

Page 20: 機械学習フレームワーク横断、Chainer, Keras

Keras実装

モデルの記述

損失関数、最適化手法を設定してコンパイル

バッチ数、繰り返し回数を設定して学習

Page 21: 機械学習フレームワーク横断、Chainer, Keras

Chainer Keras比較

Page 22: 機械学習フレームワーク横断、Chainer, Keras

実行結果 Chainer

Page 23: 機械学習フレームワーク横断、Chainer, Keras

実行結果 Keras

Page 24: 機械学習フレームワーク横断、Chainer, Keras

実行結果比較

• 識別制度がChainer:66.67% Keras:69.33%と似たような結果に

• 出力結果を見比べてみると、正解クラスが1のところを0と識別ミスしている => まだまだチューニングが必要そう

今回はたまたま同じような結果になったが、ランダムに決まる更新アルゴリズムの初期値によってはパラメタータの値が変わってくるので必ずしも一致するとは限らない。

Page 25: 機械学習フレームワーク横断、Chainer, Keras

感想

• Chainer:変数の中身を見ながら実装する中で、細かい理論の理解もしながら進められた。(参考文献が良かった)

• Keras:NNの実装イメージがついている前提で触ると、とてもシンプルでチューニングしやすかった