こんにちは。sinyです。
2018年11月に実施されたJDLAが運営しているAIの資格であるG検定に一発合格しました。
合格するまでの経緯を簡単にまとめましたので、これから受験される方の参考になれば幸いです。
※試験の概要については以下の公式サイトを参照ください。
受験前のスペック
G検定の勉強を始める前は以下のような状態でした。
- AIについては全く知らない。(パーセプトロンって何?という感じ)
- 大学は理系(高校数学までは超得意だったが大学で離脱)
- PythonとDjangoを少々触り始めたばかりのプログラミング初心者
- 2018年になってG検定の存在を初めて知った。
試験対策内容
もともとG検定の存在を2018年前半に知ったのですが、G検定自体まだ始まって2年目という試験で、過去問なし、公式テキスト、過去問なし(ググっても全然でてこない)という状態でしたので、G検定を受けるにしても「きっついなー」という状態でした。
前回の試験実施時期から逆算して、おそらく次回は2018年11月頃の試験になるだろうと踏んでいたのですが、いきなりG検定対策といってもAIに関する素養がまったくない状態だったので、いきなり試験対策ではなく、「まずは興味を持っていたDeapLearningの基礎を実際に学んでみよう。」という視点で、DeapLearningの入門書に手を出しました。
G検定を受けるまでに手を出した技術書は以下のような感じです。
【1冊目】
何となく時系列に関係した部分を勉強してみたかったので購入してみたのですが、数式のオンパレードで、途中まではついていけたのですが挫折しました・・・
当時はよくわからなかったのですが、tensorflowとkerasの2つのパターンでコードが書いてあったのですが、kerasの存在をしらずtensorflowしか知らないからKerasなってなに?状態で、tensorflowのコード部分しか見てませんでした(kerasのほうが超絶楽なのに・・)
これは無理だわ~ということで、別の書籍に手を出したのがこちら。
これも途中まで頑張って読み進めたのですが、結局途中で挫折してしまいました。
挫折した原因は、数式がだんだん難しくなったり、tensorflowが1つ1つコードを定義していく必要があり少しずつ難しくなっていくと途中からわけわからなくなるような感じで結局挫折してしまった感があります。
そのあと、何冊か関連書籍を読んでみました。
これは、tensorflowとかじゃなくて、Python使って実際にディープラーニングの基礎であるニューラルネットの基本から実装してみましょう!という感じの本で、DeapLearningの基礎をマスターするために必要な数学や、パーセプトロン、多層ニューラルネットワーク等の考え方を基本から学び、Pythonを使って実際に実装していくというスタイルでして、DeapLearningの超基礎的な要素を理解するという意味ではよかったです。
その次に手を出したのは以下の書籍。
これまでtensorflowしか触ってこなかったのですが、ここで初めてscikit-learnを触ることになりました。内容はアヤメの分類とかMNISTとか、自然言語とかいろいろ基礎的なものですが、今までtensorflowしか触ってこなかったので「scikit-learn超楽じゃん、今までtensorflowでいちいちロジックを定義してたのなんだったんだよ」という感じで、AIライブラリの便利さに感動しました。
AIライブラリーを使って簡単に分類機を作れるので、何かを作って動かすことがすぐできるので、勉強のモチベーションとしては維持しやすい書籍だったです。
その次に目を付けたのが、tensorflowのラッパーであるkerasです。
kerasを使うと簡単に学習モデルを定義できるらしい・・ということで以下の書籍を購入しました。
実際読み進めてみると、「kerasチョー便利~」という感じで、毎度おなじみMNISTとか、CIFAR10とか実装してみて「簡単にできるじゃ~ん!」という感じでしたが、GANあたりに来るとちょっとずつ難しくなってきて、自然言語あたりに来るとさらに難しくなってきて、「今何やってんだっけ・・」という感じに・・・
個人的な感想では、直感DeapLearningは結構pythonの細かいソースコードの説明がはしょられてるので、python力がないと、1つ1つソースコードの意味を調べながら進める必要があるので、読み進めるのに時間がかかるんじゃないかな~という印象を持ちました。ある程度Python力がある人にはお勧めだと思います。
で、現在読んでいるのがこの書籍です。
これもKerasに関する専門書ですが、結構丁寧に説明されていて、直感DeapLearningよりは全然いいじゃんという感想です。
今だからわかりますが、上記書籍はG検定の範囲と被る部分が結構ありました。
ニューラルネットの基礎説明から始まり、機械学習全般の説明(回帰、分類、評価方法、正則化、過学習への対処方法)とかもあり、実際にKerasを使って実装していけるので今のところはベスト本です。
今思うと、実際にコードを書いてDeaplearningに関する手法を試すことによって知識が定着化されていくという部分があるので、まずは入門書を手に取って実際実装してみるというのが、効果的な勉強方法なんじゃないかなと思いっています。
G検定の対策はそのあとからでもいいと思う。
で、念のためG検定の推薦図書となっている以下の3冊も購入しました。
また、10末に発売された以下の公式テキストも購入しました。
結論から言うと、青本は買わなくてもよい。
AI白書も必須ではないが、ここからの出題もそれなりにあるので時間がある人は見たほうがいいです。
※ちなみにAI白書は12月にAI白書2019なるものが新しく出るっぽいのでこれからG検定受ける人は新しいほうを買ったほうがいいですね。
「人工知能は人間を超えるか?」はとりあえず入門書として読むべきです。
→ここから出題される問題も結構ある。
公式テキストも購入したほうがいいです。
→今まで勉強してきて手当できていなかった情報がまとめられていたりするので個人的には購入してよかったと思う(ただし、この本だけでは試験対策にはならないです!)
あとは、2018年11月になってからG検定の模擬試験なるものが無料公開されていることに本試験3日前に気づき、模擬テストを受け、わからない部分がないように対策を取りました。
最後に、これはかなり効果的ではありますが一般に公開されてはいないので普通の人は難しいと思いますが、過去に実施されたG検定の過去問のいくつかの情報を個人的な努力により入手しました。(ただ回答情報はどこにもないので自分で回答を探らないとだめですが)
試験直前は、模擬試験などは3,4回繰り返し、公式テキストも4,5週読み込んでわからない部分だけをまとめたポイント集をExcelにまとめて頭に入っていない部分だけを繰り返し勉強しました。
③受験してみての感想
試験後のTwitterをみていると、「難しかった~」という人も結構いたようです。
個人的には、今まで勉強してきたことが7,8割出たので「そんなに難しくなかったな」というのが感想です。
感覚では90%は正解している感じなので、まず合格しているとは思いますが、11/30に結果がでるようなので、結果がでましたら追記したいと思います。
(万が一落ちてても原因分析を踏まえて公表したいと思います)
いろんな書籍を読んで自分なりに実装して肌でDeapLearningを感じながら、G検定の対策勉強を進めてきたので、DeapLearningだけではなく、周辺知識をつけながらここまで来たのがよかったと実感しています。
私のおすすめとしては、これからG検定を目指すという方はいきなり試験対策をするのではなく、まずDeapLearningの入門書を手に取って、MNISTあたりから実際に実装をしてみて肌でDeapLearningを感じながら勉強するのがいいんじゃないかな~と思います
。
他にもG検定を受けて早速記事にされている方々がいるのでまとめておきますので参考にされるとよいと思います。
④受験結果
2018/11/30受験結果がメールで通知されてきましたが、無事合格できました。
ちなみに今回で第3回目の試験ですが、これまでの合格率をまとめておきます。
- 2017年12月16日合格率:56.8%
- 2018年6月16日 合格率:57.1%
- 2018年11月24日 合格率:64.9%
※事前に無料公開された模擬試験の影響が多少なりともでた感じですかね。
これからG検定を目指す方の参考になれば幸いです。