わくわく計算ライフ

ドムプラをキメつづけるブログになりつつある。

この上なく雑に始めるディープラーニング① - 導入編 -

近年ではそっち方面で無くても聞くことが増えたディープラーニング
これをこの上なく雑に始めようという解説をしてみます。

この上も無く雑に始められるようにするためになるべくシンプルに書きます。   故に後から見ると「それはないだろ」って項目も出てくると思うので、まぁ扱ってみて気に入ったらちゃんとした資料で勉強していただければと思います。

1. ディープラーニングって何ぞ?

最近AI, AIってニュースで聞くときはディープラーニングが使われていることが多いです。
比較的新しい世代の技術でいろんな意味で凄いのが特徴です。

  • 精度が凄い
  • 計算にかかる時間が凄い
  • ゆえに使うコンピューターも凄い
  • めちゃくちゃ多量のデータを突っ込まなきゃならんのが凄い

とかいろいろです。
おとぎ話的に言うと、コンピューターに問題と正解のセットを多量に投げつけて学習させることで、賢くし高い精度を出すことができる手法です。
コンピューターが勉強をすることで教えていない問題に対してもかなり高い精度で回答してくれるようになります(出来ないやつもあるけど)。

まぁ、エンジニアの皆さんは偉い人からこのおとぎ話を現実の世界に持ち込まれて苦労するんですけどね…。

2. なぜそんな凄いものを雑に紹介するのか

性能は凄いけど、多量の学習用データが必要だしうまく学習させるにもノウハウや数学力がいる技術ですが、なぜか今回は超雑に解説します。
なぜなら、超雑に扱っても解けてしまう問題も存在するからです。

自動車で例えると、別に普通に運転する分には教習所で習う程度のことが分かっていれば走れますし、エンジンとかパワーウィンドウとかが動いている仕組みや原理を知らなくて良いってのと話は同じです。
もちろん、F1のレースで勝つぞ!みたいな話になると、特殊なドライビングテクニックを習得しなければならないし、メンテナンスも日々の洗車やオイル交換程度の話ではダメで各パーツの特性や構造を深く理解している必要があります。

近所のスーパーに買い物に行くのに、F1カーを使わないように、ディープラーニングもある程度小規模で気軽な問題に対しては最低限の交通ルールみたいなものを守れば雑にあつかっても動くんです。
なんか頭のいい人たちが難しい話しているからって使わないのは、競輪を見て「うわぁ…自転車難しそう。ママチャリ買うのやめよ...。」みたいなことなんですよ。
というわけで、限りなくわからない状態でどこまで使えるかを試しに紹介したいというのが今回のモチベーションです。

3. 今回のターゲット読者

今回のターゲット読者としては以下を想定します。

  • OS: Windows
    MacLinuxの人は意識高いしほっといても何とかなるので対象外です。うん。
    お前のMacはスタバで開いて周りを威圧するためだけのツールじゃないだろ?
    あと、職場であんまり環境がきれいにそろっていないWindowsでAIをやれという無茶ぶりの悲しみを知っているからです。
  • プログラミング知識: ほとんどなくてOK
    最初の方はプログラミングしない予定なので殆どなくても読めるようにしておきます。
    何等かのプログラミング言語でfor文とかif文書いたことある~ぐらいで読めるように目指します。
    Python知っていればなお良しですが、知らなくても構いません。
  • 数学知識: 四則演算ができて、簡単な確率の計算ができるぐらい
    10回くじ引いて、3回あたるなら当たる確率は 3/10=30%! ぐらいの話しかしないです。
  • PC : 今回はそこそこ新しめなCPU。4コア8スレッドでメモリ8GBぐらいは積んでてほしい
    なるべく軽いサンプルを用意するつもりです。
    また、えらいひとに「会社でやってみせて」って言われた時のために今回はクラウド使いません!

4. 次回予告

次回!この上なく雑に始めるディープラーニング② - Neural Network Console 編-
ちょっとマシン負荷高いかもしれないけど、プログラム無しでぽちぽちブロック置いて使えるGUIツールだ!
しかもSony様だ日本企業だ。
有料プランもあるよ。 お楽しみに。