初の独学書「PythonとKerasによるDeepLaening」を読みかかり、同時にGithubのサンプルを漁る。
https://github.com/fchollet/deep-learning-with-python-notebooks
↓ディープラーニングの解説で幾度と無く登場する、MNISTのデータセット。
http://yann.lecun.com/exdb/mnist/
・training set
・test set この二系統を準備するのがお決まりのパターン。本では、訓練セット、検証セット。
訓練セットから、最初は分類アルゴリズムのモデルを生成し損失関数(※1)を最小化するべく、学習(訓練)(※2)で少しずつデータを調整する。
※1 損失関数←30年前は、評価関数や目的関数とか言ってた。
※2 学習(訓練)←昔はパラメータ同定化とか言った。
そういえば、昔々自分が20代のエンジニア始まりの頃、フィードバック制御というモデルで出力結果を返して、
モデルを修正するという制御系仕事にどっぷり浸かった。この時の「モデル式修正」が、今で言うAIの「学習」相当なのだ。
「PythonとKerasによるDeepLaening」でも
訓練セット、検証セットそれぞれ決まって、
ラベル
イメージ の対で出てくる。
ラベルなら、こんなデータとの事。
offset | type | value | description |
---|---|---|---|
0000 | 32 bit integer | 0x00000801(2049) | 識別子(定数) |
0004 | 32 bit integer | 60000 or 10000 | ラベルデータの数 |
0008 | unsigned byte | 0 ~ 9 | 1つ目のデータのラベル |
0009 | unsigned byte | 0 ~ 9 | 2つ目のデータのラベル |
.... | .... | .... | .... |
xxxx | unsigned byte | 0 ~ 9 | 最後のデータのラベル |
ついつい中身を確認したくなるので、バイナリーエディタ(Stirling)で覗いてみた。↓
Tensorflow から MNISTを操作するなら ↓
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/tutorials/mnist
「PythonとKerasによるDeepLaening」なら↓
https://nbviewer.jupyter.org/github/fchollet/deep-learning-with-python-notebooks/blob/master/2.1-a-first-look-at-a-neural-network.ipynb
-------------------------------------------------------------------------------------------------------------------------------
from keras.datasets import mnist
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
-------------------------------------------------------------------------------------------------------------------------------
で先ずは、これらデータの取り込みが事の始まり。
コメントする