日別アーカイブ: 2019年9月16日

「福岡 DLLAB Academy: 3時間で入門ディープラーニング」参加のその後。

先日2019年9月14日(土)に参加したセミナで学んだことを、復習した・少し理解が進んだ、というお話。以下が前回の投稿。

https://hiro-lab.net/2019/09/14/%e3%80%8c%e7%a6%8f%e5%b2%a1-dllab-academy-3%e6%99%82%e9%96%93%e3%81%a7%e5%85%a5%e9%96%80%e3%83%87%e3%82%a3%e3%83%bc%e3%83%97%e3%83%a9%e3%83%bc%e3%83%8b%e3%83%b3%e3%82%b0%e3%80%8d%e5%8f%82%e5%8a%a0/
「福岡 DLLAB Academy: 3時間で入門ディープラーニング」参加レポート。ディープラーニングは難しくない?

Google Colabでスクリプトを全部手打ちしてみる

今の時代ではもはや原始的な方法かも…と思いつつ、セミナ中に配布されたコードを自分のGoogle Colabのページにスクラッチ。実際に手を動かしたほうが理解が進む。

とはいえ、とんがった部分もあるので100%は理解してないものの、「あ、この部分はセミナで講師が言ってたこの部分か」、「この部分はこう指定するのか」と復習しながらコーディングできたので楽しかった。

精度の向上にトライ。結果、91%までUP。

演算は「アヤメの品種を分類する」というもので、自分たちでハイパーパラメータをいじって、より精度の高いディープラーニングを行う、というもの。結果、91%ぐらいまで高めることができた。

いじったパラメータは、以下のとおり。

  • 中間層のノードを100
  • epochを30
  • iterationを5

epochを増やせばそれだけ訓練データで学習するという理解なので、精度が高まるかと思いきや、多くしても精度が下がってしまったのが意外だった。

中間層ノードを増やしたことが一番効いているのかも?(試したのは、10→5→15→100)だが、内部でどういう計算をされているのかは理解できておらず…。この部分はぜひ理解して、仮説を立てられるようになる。

ちなみに、ネットワークは4入力>100ノード>3出力という、超シンプルな構成。訓練データ数が少ないので、何となく、ネットワークもシンプルな方が良いのかも、と思ってシンプルにしてみた。

ちなみに中間層を増やしてみたりしたが、精度が高まる場合もあれば、下がる場合もあって、「多けりゃいい」というものでもないということが分かった。ん〜、おもしろい。

座学の丁寧さがありがたい、と再認識。ハードルが下がることは学習の助けになる。

セミナに参加したのと参加してないのでは、学習スピードが異なったと思う。それは、座学を丁寧に進めてくれたおかげだと痛感。

上記のとおり、まだまだ理解できていない部分もあるが、理解スピードはきっと速いし、何が分かって何が分かってないかをはっきりできているだけでも、かなり嬉しい。

定期的に実施されているようなので、興味のある人は、ぜひ。