機械学習フレームワーク横断、chainer, keras

Post on 12-Jan-2017

1.012 Views

Category:

Engineering

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Chainer, Keras

【基礎編】

目次

• 問題設定

• chainer導入と実装

• keras導入と実装

• chainer keras比較

• 感想

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

分類問題の流れ

対象物

特徴量

分類器

A

C

B

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

今回扱うデータ

対象物

特徴量

分類器

A

C

B

アヤメ

setosa

virginica

versicolor

特徴量の内容

対象物

特徴量

分類器

A

C

B

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

扱う分類器

対象物

特徴量

分類器

A

C

B

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

今回の構成

花びらの長さ

花びらの幅

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

がく片の幅

がく片の長さ

b(バイアス)

入力層

中間層

出力層

W1

W2

W1

W2

教師信号の内要

[1, 0, 0]

[0, 1, 0]

[0, 0, 1]

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

Chainer 導入

Chainer実装

Chainer実装

モデルの記述

Chainer実装モデルの記述

Chainer実装

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

Chainer実装

学習

参考図書

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

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

Keras導入

Keras実装

モデルの記述

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

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

Chainer Keras比較

実行結果 Chainer

実行結果 Keras

実行結果比較

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

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

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

感想

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

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

top related