さて、昨日から始まりました
『四日坊主でディープラーニング体験』という期待を背負ったプログラム!
(正式名称は以下です。。笑)
【4日で体験!】 TensorFlow, Keras, Python 3 で学ぶディープラーニング体験講座
TensorFlow 2 対応! 4日間でディープラーニングを体験してみよう!Windows, MacでOK!
昨日は、Anaconda様を手持ちのPCに召喚し、環境構築なるものを行い、
Jupyter Notebookなるものを立ち上げるところまで行きました。
今日はいよいよ、Tensorflowの初心者向けのintroductionに乗っているコードを
自分のPCで動かしてみるという段階です!
0〜9までの手書き数字60000枚で学習させる "MNIST"でレクチャーを聞いて、
靴やTシャツなどの種類を学習させる"FASHION MNIST"を使って自分でもやってみました。
ニューラルネットワークは、人間の脳の構造を模倣していて、
ニューロン(パーセプトロンと呼ばれる)を単層ではなく複数の層にして
ネットワークを構成したものを、ニューラルネットワーク、
その中でも4層以上重ねたものを、ディープニューラルネットワークと呼んでいます。
まずは3層のニューラルネットワークを実装して、理解を深めよう!
というのが今日、第二日目/四日坊主の目的でした。
ついついコードを動かすことに必死になりすぎて、
木を見て森を見ず的な状況になりがちなので、
ニューラルネットワークによる学習フローの復習で締めたいと思います。
まずは、データ集め。
→今回はkerasのdatasetの中に入っていたのでコマンドで指定すれば完了。
次に、データの正規化。
→Inputとして使うデータの数値が0〜1の間になるように調整。
→今回はPixelの値が0~255段階だったので、255で割った。
次に、モデルの定義。
→ 今回は三層のニューラルネットワークを使うため、keras.models.Sequentialで定義。
次に、最適化手法や損失関数の指定。
→ model.compileの関数の中で、optimizerやloss関数を指定していく。
→ optimizerはAdam, RMSprop、SGDなどの種類があって、良い結果になるものを選ぶ
次に、トレーニングを実行。
→ トレーニングデータを入れて、model.fit関数で。
→ epochsの数は、最初は5回くらいで計算早く、良さそうなら増やしてく。
最後に、精度評価。
→ model.evaluate関数で。
以前少しかじったときは、本当にちんぷんかんぷん!で雰囲気しかわかりませんでした。
が、Rを使う機会が多くあったおかげで、
プログラミングの基礎の感覚が少しずつ掴めてきた感覚があります
いよいよ、明日は、四日坊主中、三日目!・・・鬼門。
三日坊主では終わりたくない!