Más contenido relacionado
La actualidad más candente (20)
Similar a Kerasで深層学習を実践する (20)
Kerasで深層学習を実践する
- 2. 自己紹介
● 谷田和章 (たにだかずあき)
○ GitHub: slaypni
● ソフトウェアエンジニア (フリーランス&白ヤギコーポレーション )
○ 機械学習, 自然言語処理
○ Web, iOS, Android
● カメリオの機械学習アルゴリズムの開発
2
- 3. 深層学習のライブラリ (一部)
● 計算グラフを記述
○ Chainer
○ Tensorflow
○ Theano
● 深層学習の構成を記述
○ Caffe
■ 専用ファイルに構成を記述
○ Keras
■ Pythonで構成を記述
■ ThensorflowかTheanoをバックエンドで利用
これからKerasの使いかたを見ていきます 3
※分類は便宜的なものです
- 5. モデル定義
5
from keras.layers import Activation, Dense
from keras.models import Sequential
model = Sequential()
model.add(Dense(8, input_dim=4))
model.add(Activation('relu'))
model.add(Dense(3))
model.add(Activation('softmax'))
model.compile(
loss='categorical_crossentropy',
optimizer='adam',
metrics=['accuracy']
)
...
ReLU
softmax
input
output
Sequential: .add()で層を順に追加
層を設定
損失関数
最適化法
- 7. 推定
7
# ラベルを推定
y_pred = model.predict_classes(X_test)
# 各ラベルの確率
y_proba = model.predict_classes(X_test)
X_test: テストデータ
- 10. サンプル: Iris Dataset
20161027_keras/iris.ipynb
内容
● 実験の流れを確認 (データ準備 → モデル定義 → 学習 → 評価 )
● モデルその1: ロジスティック回帰
○ 一層だけのニューラルネットワーク
● モデルその2: 多層パーセプトロン
○ 復数層のニューラルネットワーク
● 使う層
○ Dense(): 全結合
○ Activation(): 活性化関数
○ BatchNormalization(): バッチ正規化 (学習しやすくする)
10
- 14. おまけ: Dockerで実行環境を作る
利点
● 簡単に実行環境が作れる
● プロジェクトごとに環境を分けられる
必要なもの
● GPUドライバがインストール済みのLinuxホスト
● nvidia-docker
○ GPUを触れるDockerコンテナを作れる
実行するには
● nvidia-docker run -it slaypni/keras-gpu bash 14