AI & プログラミング初心者がJDLA G検定、E資格を取るまで


こんにちは、chokoryuです。
SoftBank AI部 Advent Calendar 2019の22日目の記事として、僕がJDLA G検定及びE資格を取得するまでどんな準備をしたか書かせて頂きます。
(初投稿です。お手柔らかにお願いしますm(_ _)m)

SoftBank AI部については、Advent Calendar2日目の@kmotohasさんの記事をご参照下さい。

当初のchokoryuスペック

・電気電子工学科の学部卒。理数系。
・数学はわりかし好きな方
・プログラミングスキル:初心者
 - C(大学の授業でやっただけ。もはやほぼ覚えていない)
 - MATLAB(大学で少し使っただけ。もはやほぼ覚えていない)
 - GoogleAppsScript(一時期仕事で使っただけ)
・その他PCスキル:
コマンドライン系及びGit等の開発関連全然わからず。Ubuntuは「なんかかっこいいから」という理由でノートPCに入れて使っていたレベル。

受験に至る経緯

最初プログラミングの勉強をするつもりでPythonを始めたんですが、一緒に勉強していた同期と「Pythonと言えばAIでしょ」的な感じで途中でAIに舵を切ったことがきっかけです。孫正義会長があれだけ入れ込んでいる分野だし間違いはないだろう、と。
そこでまずは体系的な知識を身につけるべくJDLA G検定を取得、続けてE資格も取ったという流れです。

G検定の勉強

まずは基本と体系的な知識を身につける為にG検定取得を目指しました。
基本的にはSchooの「Pythonで学ぶ機械学習/ディープラーニング実践」というコースとJDLAの公式テキストで勉強しました。

まずはこちらで数学的にディープラーニングについて学びました。
勾配降下法や最小二乗法等の基本に始まり、TensorflowでのMLP(マルチレイヤーパセプトロン)やCNN(畳み込みニューラルネットワーク)を用いた手書き数字認識の実装を学べます。
(有料コンテンツですが、受講当時は1ヶ月間の無料期間があったようななかったような…記憶が曖昧ですみません)
公式テキストということで、2周くらい読みました。第4章あたりから結構専門的な内容が入ってきて、今まで聞いたことがないような単語ばかり出てきて人によっては拒否反応出るかもしれません。一旦「無理っ!!」となった人は、G検定推薦図書である松尾豊先生著の下記書籍を読んでみると良いかもしれません。ハードルが高そうなタイトルですが、AI初心者でもわかりやすい例が多用されていて、内容は意外とわかりやすいです。
僕は公式テキストを読む前に上記Schooのコースを受講していたからか、結構スッと頭に入ってきました。まずは論理的に内容を理解したい方は同じやり方が良いかもしれません。

注意が必要なのは、公式テキストですが試験の出題範囲はこのテキストの内容に限らないということです。公式テキストの内容プラスAIの時事ネタ等の情報収集もしておいた方が良さそうです。
また、僕が受験した時はまだなかったのですが以下問題集も出ており、いい練習になると思います。

E資格の勉強

G検定を取得してからE資格を受験するまで結構時間があった(G検定が2018年11月、E資格が2019年8月)ので、勉強途中だったPythonをちゃんと勉強し直そうと思い、以下書籍を一通りナメました。

Pythonの基本はもちろんGitやBash等、開発に最低限必要な知識も身につけることができ、個人的には非常に為になりました。

次にE資格の受験資格を得る為のJDLA認定プログラムですが、zero to oneを選びました。理由としては、時間が決まっている対面式よりも自分の都合で受講できるオンラインが良かったからと、費用が比較的安かったからです。

基本的には動画で講義を受け、Jupyter Notebookベースの演習問題を解いていくというスタイルです。他のプログラムがどうかはわからないのですが、特に問題も無く受講することができました。わからないところがあれば、サポートも頂けたので良かったです。

他ですが、書籍「ゼロから作るDeep Learning」シリーズを一通りナメる、キカガクさん主催のもくもく会に参加、固有値分解/特異値分解の解説YouTube動画を見る、等もしました。

1冊目はCNN、2冊目はRNN/LSTMをそれぞれディープラーニングのフレームワークを使わずに実装するという内容となっています。
numpyのみを使って実装していくので、それぞれのネットワークの仕組みを理解する必要があり、個人的には非常にわかりやすかったです。
JDLA認定プログラムを提供しているキカガクさん主催ということもあり、スタッフさんが試験範囲についての質問に答えてくれたり、会場には様々なAI系の書籍が置いてあり、勉強するには非常に良い環境だと思います。
また、他の参加者の皆さんもE資格を目指している方々だったので、情報共有ができたりと結構有意義でした。
E資格向けにこの動画を作られたのかはわかりませんが、短い動画で非常にわかりやすく固有値分解、特異値分解について解説されています。

細かいですが、通勤中等に主要な画像認識、物体検出モデルの違いや概要について以下のようなまとめられている記事を読んで知識を蓄えたりもしていました。

所感とこれからやりたいこと

当初はAI、特にE資格なんてガッツリ現場でゴリゴリ手を動かしてコーディングしているようなエンジニアじゃないと理解できないんだろうな、という印象を持っていましたが、少しずつ丁寧に学んで行けばそうでもないんだと(生意気にも)思いました。
これからG検定、もしくはE資格を受けられる方の参考になれば幸いです。

ただ、これからもまだまだ勉強することは山ほどあるし、この分野自体がどんどん進化していくと思うので、これからも地道に努力していきたいな〜と思っています。
その過程で、SB社内、ゆくゆくは社外にもAIの素晴らしさを伝えていけるように頑張りたいと、今回この記事を書いて(今更)感じました!
せっかくSBなので次はモバイル系、スマホとかIoT系 × AIの何かに挑戦してみます!

この記事が気に入ったらサポートをしてみませんか?