【保存版】JDLA G検定2020#3からみる学習ロードマップ【G検定対策】

## はじめに
先日実施されましたJDLA G検定2020#3に合格しました。
<b>“合格のためにやったこと”</b>を学習ロードマップとしてまとめます。

<b>2021#1以降に受験される方</b>の参考となりましたら幸いです。
（コツコツ学習できる方、一発合格されたい方におすすめ）

### 2020#3概要
・試験日時：2020年11月07日（土） 13:00~15:00
・試験問題数：191問
・合格発表日時：2020年11月19日（木） 13:00

>[【2020年 第3回 G検定結果】7,250名が受験し、累計合格者数は3万人を突破。](https://www.jdla.org/news/20201119001/)
・受験者数：7,250名
・合格者数：4,318名
・合格率：59.56％
<img src="https://www.jdla.org/wp-content/uploads/2020/11/G3-%E5%8F%97%E9%A8%93%E8%80%85%E7%B5%B1%E8%A8%88%E6%83%85%E5%A0%B1-768x583.png"width=70%>

## 目次
- [はじめに](#はじめに)
- [結論](#結論)
- [自己紹介](#自己紹介)
- [G検定の概要](#g検定の概要)
- [心構えの話](#心構えの話)
- [戦略の話](#戦略の話)
- [学習ロードマップ](#学習ロードマップ)
    - [～入門編～](#入門編)
    - [～基礎編～](#基礎編)
    - [不合格になるたった1つの理由](#不合格になるたった1つの理由)
    - [～実践編～](#実践編)
    - [AI白書は要か不要か](#ai白書は要か不要か)
    - [数学と統計学を学びたい方へ](#数学と統計学を学びたい方へ)
- [試験直前の確認事項](#試験直前の確認事項)
- [おわりに](#おわりに)
- [参考記事](#参考記事)

## 結論
<b>基礎知識を広く深く</b>身につけましょう。
<b><font color="red">ディープラーニング分野</font></b>の知識が一番必要です。

## 自己紹介
- 理系院卒（とはいっても情報系出身ではないよ）
- IT営業（そもそもエンジニアですらないよ）
- データサイエンス業界への転職を志望（G検定を学習の布石にしたよ）

強いて言えば数学の飲み込みが早いくらい。学習前のAI知識はほぼ0でした。
ちなみに、<b>学習期間は約1ヶ月</b>です。テスト後の所感は<b>“受かった”</b>と確信しました。

## G検定の概要
本題ではないのでリンクに譲ります。

- [JDLA公式サイト](https://www.jdla.org/)
- [資格試験について](https://www.jdla.org/certificate/)
- [G検定とは](https://www.jdla.org/certificate/general/)（申し込みはここから）

補足（2020/12/01時点）：
合格平均点、合格最低点は公開されていません。
また、過去問も公開されていません。

## 心構えの話
### じっくりと考えている暇なんてない

「G検定はググれるから余裕じゃんw」とよく耳にしますが、
その考え方では痛い目を見るかもしれません。
<b>120分で約200問を解かなければならない</b>からです。（1問あたり30~40秒ペース）

試験直後にtwiiterで、今回の感想を見ていると案の定、
「解き終わらなかった」「とりあえず埋めた」などの声が数多く挙がっていました。

[2020#2 WordCloudによる可視化](https://twitter.com/kanat_it/status/1279309601263939587)、[2020#3 難易度アンケート結果](https://twitter.com/0g1iPOHDHaYBY67/status/1324956377320599557)など

「試験は難しかった」という所感が数多くあるのならば、
合格のために何らかの<b>戦略</b>があったほうが得策です。
（合格率が60％とはいえ、お金と時間を費やして再受験するのはモチベーションが死にそう）

## 戦略の話
### 知識で解ける問題と、ググるとすぐ解ける問題をサクサク解く

2020#3を踏まえ、問題を解くキーワードを示します。

<b>1．知識で解ける問題（~55％）</b>

 - 概念（フレーム問題、シンボルグラウンディング問題）
 - 用語（イテレーション、エポック）
 - 各種アルゴリズムの特徴（ML、DL、RL、SGD）
 - 活性化関数の特徴（sigmoid、softmax、ReLU）
 - モデルの評価方法、CNNの計算など

<b>2．ググるとすぐ解ける問題（~30％）</b>

 - 1の細かいところ（各モデルの特徴や使われている技術）
 - 時事問題（ディープフェイク、Adversarial Attack、XAI）など

（時事問題は、年、国、政策、その他固有名詞から正誤を絞りやすいため2）

<b>3．ググってもすぐ解けない問題or正解を選びずらい問題 (~15％)</b>

 - 法律問題（個人情報保護法、不正競争防止法、航空法）など

（法律問題は、法律そのものを理解して、長文の選択肢を吟味する必要があるため3）
<br>

合否の分かれ目は、“2を1に変えられるような学習が出来たかどうか”
すなわち、<b>“細かい知識を出来る限りググらず、自力で解けるように学習したか”</b>です。

この<b>“細かい知識”は想像以上に広くて深い知識である</b>ことにを知らずに、
アバウトな対策をして、本番で面食らう人がかなり多いです。
（そもそも知識量が少ないと、ググった所で正解かどうか判別もつかない）

また、2020#2以降を受験された方からよく聞かれる
「法律問題が難しかった」という声にも、注意が必要です。
全体に対する出題割合が低いため、合否の本質ではないからです。
（ノー勉は危険だが、それでも学習の優先順位は低い）

## 学習ロードマップ
本題です。
参考書、問題集のレビューとその使い方をセットにして解説していきます。
<b>JLDA公式による推薦書籍、学習コンテンツ</b>をベースとしています。

[JDLA推薦図書](https://www.jdla.org/recommendedbook/)
[【#今こそ学ぼう】学習コンテンツ・イベントのご紹介【一部無料】](https://www.jdla.org/recommendedbook/study/)
（学習コンテンツは無料のもので十分）


A．入門コース　1→2→3→4→5→6
　・完全初学者向け
　・体系的に知識を積み上げたい方、時間を十分に割ける方におすすめ

B．標準コース　3→4→5→6
　・AIの基礎知識がある方向け
　　　
C．テクニカルコース　5→6
　・AIに精通している方向け

## ～入門編～

### 1．[人工知能は人間を超えるか ディープラーニングの先にあるもの](https://www.amazon.co.jp/dp/4040800206/)
<img src="https://www.jdla.org/wp-content/uploads/2020/01/JDLA_books_08.jpg"width=30%>
オススメ度：★★★★★
松尾先生（東大院教授、JDLA理事長）執筆の名著です。
AI研究の歴史をなぞりながら、機械学習やディープラーニングの全体像を掴めるため、
<b>最初の一冊</b>に最適です。
<br>
・使い方
読み物として1周すると良いでしょう。学習の敷居がグッと下がります。
（初めて目にする単語や概念にマークしておき、後から学びなおすと吉）
***

### 2．[深層学習教科書 ディープラーニング G検定(ジェネラリスト) 公式テキスト](https://www.amazon.co.jp/dp/4798157554/)
<img src="https://www.jdla.org/wp-content/uploads/2020/01/JDLA_books_01.jpg"width=30%>
オススメ度：★★★☆☆
JDLA監修書籍です。通称“白本”。2018年10月出版。
解説＋章末問題の構成。

1の内容順序に沿って解説をしているので、繋ぎが非常に良いです。
（1の教科書のようなイメージ）
図も多く、かなり読みやすいです。

一方で、内容は<b>入門レベル</b>。
また、実際の試験問題に対する<b>カバー範囲が大きくズレている</b>ため注意が必要です。
（改訂すべきでは？との声が多数上がるレベル）

<font color="red"></b><b>“公式テキストだから”</b></font>と本書のレベルを過信すると100％泣きを見ます。

AIの基礎知識が最低限あるならば、この本をスルーしてokです。
<br>
・使い方
さっと1周するのが良いでしょう。（<b>1周で良い</b>）
6章[DLの手法]、7章[DLの研究分野]は分かりやすいので、
DLの知識定着のために、繰り返し活用することをおすすめします。

## ～基礎編～

### 3．[エンジニアなら知っておきたいAIのキホン 機械学習・統計学・アルゴリズムをやさしく解説](https://www.amazon.co.jp/dp/4295005355/)
<img src="https://www.jdla.org/wp-content/uploads/2020/05/AI%E3%81%AE%E3%82%AD%E3%83%9B%E3%83%B3.png"width=30%>
オススメ度：★★★★★
合格者（CDLE）が選ぶ推薦書籍に選ばれています。2019年1月出版。
解説のみ。

<b>アルゴリズムの解説</b>が丁寧で分かり易いです。
入門書では内容が薄くなりがちな、<b>強化学習</b>についても上手くまとまっています。
（確率統計の基礎があると、より理解しやすい）

内容は<b>入門～基礎レベル</b>。
非エンジニアにも理解しやすいレベルですので、万人におすすめできる一冊です。
<br>

・使い方
まずは、じっくり読んで1周しましょう。
用語の解説書として、最後まで使えると思います。
***

### 4．[徹底攻略 ディープラーニングG検定 ジェネラリスト 問題集](https://www.amazon.co.jp/dp/4295005665/)
<img src="https://www.jdla.org/wp-content/uploads/2020/05/%E5%95%8F%E9%A1%8C%E9%9B%86%EF%BC%91.png"width=30%>
オススメ度：★★★★☆
メジャーな問題集です。通称“黒本”。2019年2月出版。
問題＋解説の構成。

実際の試験問題に即した形式です。

但し、内容は<b>入門～基礎レベル</b>。
初期のG検定に合わせたレベルになっています。
合格に必要な力（DL分野）は、本書だけでは身につきません。

問題慣れ＆記憶力チェックとして、取り組む価値はあるとは思います。
<br>
・使い方
【問題を解く → 問題の解説を読み込む】を繰り返して、1周しましょう。（<b>1周で良い</b>）
後日、解けなかった問題や誤答した問題を改めて解き、知識の定着を図りましょう。
***

### 5．[徹底攻略 ディープラーニングG検定 ジェネラリスト 問題集](https://www.amazon.co.jp/dp/429711609X/)
<img src="https://images-na.ssl-images-amazon.com/images/I/51v0ZzLr4WL._SX350_BO1,204,203,200_.jpg"width=30%>
オススメ度：★★★★★
最新の問題集です。通称“赤本”（かもしれない）。2020年9月出版。
問題＋解説の構成。

問題も解説もクオリティ高く、<b>おすすめできる一冊</b>です。
というのも、<b>DL分野の問題を重点的に学習できる</b>からです。
手薄になりがちな強化学習パートも合わせて対策できます。

内容は<b>基礎レベル</b>。
一周する頃には、合格のための土台が出来たと感じると思います。

結論、受験に向けて<font color="red"><b>受験日に近い最新の問題集を必ず一冊やる</b></font>ことをおすすめします。
最新の問題傾向を把握して、対策できるからです。
<br>
・使い方
4に加え、【関連知識も合わせて覚えておく】ことも出来ると良いでしょう。
本書は正解以外の選択肢についても丁寧に解説しています。
メインの問題集として、複数回やることをおすすめします。
<br>

・アドバイス
この辺りから、<b>自分専用のメモ（カンペ）</b>を作り始めても良いと思います。
ctrl+Fで欲しい情報を検索できるため、web検索も早く便利です。

私はgoogle docsでまとめていました。
（要所をメモすると吉、70枚はガチガチ過ぎたなと反省）
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/665419/1babad7c-0591-35ce-16bf-3c3ac4672188.png"width=100%>

## 不合格になるたった1つの理由
### 問題が想定とズレている

これだけです。
十分な学習時間が取れなかった場合や、情報収集を怠った場合に陥りがちです。
<b>「時間無いし、とりま公式テキスト（白本）やメジャーな問題集（黒本）はやった」</b>
は最新のG検定対策として不十分です。

戦略パートでも若干触れましたが、
<b>出題側が求める知識レベルと、受験側が必要十分だろうと思う知識レベルの差を埋めること</b>
が合否に直結します。

AI～機械学習～ディープラーニングと一通り学習して、
<b>「モデルの細かい所はキリが無さそうだから、ざっくりで良いかな」</b>とか
<b>「根拠は無いけれど、ディープラーニングについてはここまでで十分な気がする」</b>など
勝手な思い込みをされているならば、ぜひ考えを改めましょう。
<b>出題されるのは（出題者が求める知識レベルは）ディープラーニングの応用部分</b>です。

例えば、
“CNNは、特に画像認識で使われていて、畳み込み層とプーリング層を持つ”
といった<font color="red"><b>表面の知識では対策として甘い</b></font>です。
“ISLVRC2014で優勝したGoogLeNetは、InceptionモジュールとGAPが導入されている”
をベースとして、他のモデルとの違いや当時、どこが画期的だったのか、
そもそもInnceptionモジュールの特徴は何かなど、知っている必要があります。

上記のような知識レベルが、少なくとも
<b>画像（認識・検出・生成）分野、自然言語処理分野</b>で必要です。

広く深い知識を身につけるほど、問題を解くキーワードを知ることになります。
キーワードを多く知っていると、ググった時、情報を判別しやすくなるので、
どんどん<b>試験が楽</b>になっていきます。ぜひ学習を続けましょう。

## ～実践編～
### 6．オンライン模試
基礎が固まったと感じるならば、
本番を想定した模試がトレーニングには最適です。

### [DIVE INTO EXAM](https://exam.diveintocode.jp/exam)
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/665419/7d0fd90a-836a-9bf9-e704-bb3348d92f99.png"width=100%>
オススメ度：★★★★★
Rails技術者認定試験運営委員会とプログラミングスクールDIVE INTO CODE
が提供している模試です。
<b>無料</b>です。（※メールアドレスの登録が必要）

試験時間120分、問題数200問。実力試しとして最適です。
レベルは<b>本番相当</b>と感じました。必ず取り組みましょう。
<br>
・ポイント
<b>1．時間配分</b>
<b>試験問題はジャンルがごちゃ混ぜ</b>です。
「個人情報保護法について問われたと思ったら、次は活性化関数について問われた」
このような流れが約200問続きます。
AI、機械学習、ディープラーニング、時事問題、法律問題の順序で出題されることは
<b>100％</b>ありません。

時間を取られそうな時事問題、法律問題は必ず序盤にも出てきます。
<b>面食らってペースを乱され、時間が足らなかった</b>とならないよう注意してください。
（怠かったら適当にマークして、後から戻れば良いだけ）

（参考）
私は100分で全問解き終わり、残り20分で全問見直しまでできました。
結果は191/200。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/665419/c4609342-a59a-b8e6-71de-f9f06daec68e.png"width=100%>
<br>
<b>2．効率良くググる</b>
<b>ググるための前提知識</b>が如何に重要か、体感できたならokです。
また、問題を解きながら検索するのは大変なので、
<b>モニター</b>を用意することをおすすめします。効率が段違いです。
私はノートPCに問題を映して、モニター側で検索していました。
<br>

・アドバイス
模試によって、現段階の実力が分かったのではないでしょうか。
結果に一喜一憂するのではなく、
分からなかった問題、誤答した問題を正しく理解しましょう。
関連知識を詰めることも忘れずに。
また、理解の薄い分野を特定して、知識を深めましょう。
<br>

### [G検定2020 #3対応　模擬試験](https://note.com/ai0615/n/n8efe3116f46f)
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/665419/0f06e1a9-378b-d2c0-2c24-99c978b01aab.png"width=100%>
オススメ度：★★★★★
作者はG検定模試を作成した経験がある & 2020#2を実際に受験した
とのことだったので、使わせていただきました。
<b>無料</b>の記事です。

問題数173問で、レベルは<b>本番やや易～本番相当</b>と感じました。
こちらも取り組まれることをおすすめします。
<br>

### [Study-AI](http://study-ai.com/generalist/)
オススメ度：-
Study-AIが提供している模試です。
無料です。（※名前、生年月日、メールアドレスの登録が必要）

こちらは実際に触れていないので、紹介のみに留めます。
評判が今ひとつに感じられたので、本番直前に解くのは避けました。

知識の定着には有用だと思います。
<br>

ここまでこなせれば、<b>G検定対策として十分</b>です。
合格できる力が身についていると思いますので、自信を持ちましょう。

またwebには、<b>アルゴリズムや最新技術の理解に有用な良い記事</b>が数多くあります。
それらを有効活用しながら、引き続き、弱点克服や教養を高められると、
より合格は確実になるかと思います。

本記事最下部に、私がお世話になった[参考記事](#参考記事)のリンクを載せました。
ぜひチェックしてみてください。

## AI白書は要か不要か
### 受かるだけならオーバーワーク
[AI白書 2020](https://www.amazon.co.jp/dp/4049110342/)
<img src="https://www.jdla.org/wp-content/uploads/2020/03/JDLA_books_44.jpg"width=30%>
<b>「何故、G検定を受けるのか」</b>という話と関わります。
これからAI、データサイエンス業界に携わろうと考えていて、
G検定をその足掛かりにしているのなら、
AI周りの動向を教養として知っておくのは有意義ですから、
一教材として取り組むのはokです。

一方で、現状<b>「とりあえず合格するだけで良い」</b>というモチベーションならば、
私は不要だと考えます。<b>学習効率が良くない</b>からです。（体系的に学ぶ本ではない）
0からAIの勉強を始めたとしても、
上記に挙げた教材で時事問題、法律問題の触りは学べます。
後は+αとして、webから最新情報を拾うだけで、対策は十分です。

## 数学と統計学を学びたい方へ
2020#3ではCNNの計算1問のみでしたので、<b>特別な対策は不要</b>です。
（先に挙げた問題集の計算パートで十分です。）
付録として、いくつか教材を挙げておきます。

- 微積分
    - [数学ノート（統計学の時間｜統計WEB）](https://bellcurve.jp/statistics/course/#step3)
- 線形代数
    - [予備校のノリで学ぶ（ヨビノリ）線形代数学](https://yobinori.jp/video/linear-algebra.html)
- 確率統計
    - [統計学の時間｜統計WEB](https://bellcurve.jp/statistics/course/)
    - [予備校のノリで学ぶ（ヨビノリ）確率統計学](https://yobinori.jp/video/probability-statistics.html)

## 試験直前の確認事項

- PC電源、ネット回線の確保（試験時間内なら、再入場可能）
- モニターの準備
    - 自分専用のメモ（カンペ）を事前に用意しておきましょう
- お手洗い
- 軽食と飲み物

## おわりに
繰り返しになりますが、<b>G検定はディープラーニングについて問う試験</b>です。
学習には多くの事前知識（遡ると機械学習、AI、コンピュータサイエンス）が必要ですが、
<font color="red"><b>出題の中心は事前知識の部分ではない</b></font>です。ズレなく対策しましょう。

無事合格できたのであれば、<b>CDLE（Community of Deep Learning Evangelists、シードル）</b>
と呼ばれる合格者コミュニティ（Slack）に参加することができます。
<b>AI業界全体のトレンドや最新技術をキャッチアップする場、人脈形成の場</b>として、
大いに役立つでしょう。

## 参考記事
G検定に関するwebページを100以上見てきました。
学習するにあたり、<b>本当に参考になるものだけ</b>を絞って紹介します。

受験記

- [JDLA G検定2020#2の総括 （note）](https://note.com/seorie/n/n12b28b2fdb2e)


カンペやチートシート

- 該当なし
  - 雑で不正確なものも多く、自分で作った方が賢明

DLの基礎学習

- [畳み込みニューラルネットワークの最新研究動向 (〜2017) （qiita）](https://qiita.com/yu4u/items/7e93c454c9410c4b5427)
- [物体検出についての歴史まとめ(1) （qiita）](https://qiita.com/mshinoda88/items/9770ee671ea27f2c81a9)
- [ディープラーニングによる一般物体検出アルゴリズムまとめ （blog）](https://blog.negativemind.com/portfolio/deep-learning-generic-object-detection-algorithm/)