soda入社2年目の國田です!
つい先日、JDLA E資格を受けてきたので、その所感をお伝えできればと思います。
JDLA E資格 とは
"JDLA Deep Learning for ENGINEER"
日本ディープラーニング協会(JDLA)が主催する、日本で唯一のAIに関する資格試験で、2018年に始まったばかりの非常に新しい資格になります。
「ディープラーニングの理論を理解し、適切な手法を選択して実装する能力を持つ人材」の認定資格とされており、2021年2月現在、世界を見渡しても同様の資格は存在しません。
また、E資格を受験するためにはJDLAの指定する講座から1つを受講し、受講証を獲得せねばならず、その受講証を手に入れるためにも、深層学習、機械学習、数学の知識テストに合格、自身でフルスクラッチで深層学習のモデルを作成し、ある課題に対する基準精度を満たすことなど、かなり難易度は高いです。
受けるとどうなるの?合格したら何が変わるの?
これはあくまでも個人的な所感ではありますが、受ける受けないでは見えてくる世界が全く違います!
E資格を今現在持っていないエンジニアの方でも、keras等を使ってそれなりにディープラーニングを使えるとは思いますが、「どういうアルゴリズムで動いているのか」「その実装が正しいのか」「設定するハイパーパラメータはどれが良いのか」など、明確には説明できないことが多いと思います。E資格を受けるための勉強をすることで、それが正しく理解できるようになり、最新の技術や知識にも付いていけるように変わります。
私はJDLAのG検定(JDLA Deep Learning for Generalist )を持っていたのですが、そこで得た知識とE資格の勉強で得られた知識とでは、小学生と大学院生くらい違うと思っていますし、実際にE資格の勉強を進める過程で最先端の英語論文を読み込む力も身に付きました。
E資格とは、「ディープラーニングの発展についていける学習能力を持っていることの証」とも言えるでしょう!
出題範囲
応用数学(線形代数・確率統計・情報理論)、機械学習、深層学習から出題されます。
とくに深層学習に関しては、とにかく幅広い範囲が出題範囲に含まれます。
- 線形代数
- 確率統計
- 情報理論
- 機械学習の基礎
- 機械学習の実践的な方法論
- 順伝播型ネットワーク
- 深層モデルのための正規化
- 深層モデルのための最適化
- CNN
- RNN
- メモリネットワーク(アテンション)
- 生成モデル(VAE/GAN)
- 強化学習
- 深層学習への適用方法()
- ミドルウェア(深層学習ライブラリ)
- 軽量化/高速化技術
私のスペック
E資格の勉強を始める前の私のスペックを軽くまとめておきます。
- G検定持ってる
- 理系出身(理学修士卒)で、大学2年程度の線形代数に関する知識はある。確率統計は大学受験レベル、情報理論は素人。
- 機械学習や深層学習はpythonのライブラリ使ってなんとなく書ける。
- 但し、細かい理論となると詳しく説明できない。(「最適化手法はなぜAdamがよく使われるのか?」とか「クロスエントロピー誤差の定義式にどんな意味があるのか?」とかあまり理解できてない)
勉強方法
基本的には、JDLAの認定講座を通しての勉強になります。私はスキルアップAIさんの『現場で使えるディープラーニング基礎講座』を受講しました。ただ、それだけでは講座の内容に付いていくのも厳しいので、自力で講座に追いつくための追加のお勉強が必要でした。
私がやったことは下記になります。
書籍『ゼロから作るディープラーニング』(齋藤、オライリー)、『ゼロから作るディープラーニング②』(齋藤、オライリー)を読み込み、ソースから理解する
こちらについては、かなりお世話になりました。講座の内容も上記書籍に沿っていたため、講座でわからないことがあると、書籍に戻り、対応する部分の完全理解に努めました。
問題集『徹底攻略ディープラーニングE資格エンジニア問題集』(スキルアップAI、インプレス社)を解く!
講座は隔週で行われていましたが、講義の翌日には、この問題集で該当箇所を解いて復習していました。この問題集は、ちょうど私が講座を受け始める時に発売されたものでしたので、これが無かったらどう勉強して良いかも途方に暮れていたかも知れません。
上記でどうしてもわからなかった部分は『深層学習』(Ian Goodfellow、KADOKAWA)を読みました。この本は、一応E資格の参考書としてJDLAからも推薦されているのですが、とにかく内容が重厚かつ難しく、全てを通しで読むのは厳しいと判断したため、分からない部分だけを参照しにいくという、辞書的な使い方をしました。
論文の読み込み
過去の出題傾向を調べていると、論文からの問題が割と多くあるとのことでしたので、上に挙げた出題範囲内の項目に関する論文(例えば、アテンションであれば、"Attention is all you need" (Vaswani et al, 2017)とか)を読み、提案されている深層学習モデルの概略や図表の意味を理解することに努めました。
その他
機械学習分野については、『機械学習』の本を読みました。また、数学の線形代数・確率統計に関しては、私は上に挙げた問題集のみです。情報理論については、受けた講座で解説動画を配信してくれていましたので、それを使って勉強しました。
どれくらいの時間勉強したの?
講座の予習・復習及び課題が毎回出ておりましたので、1日平均3-4時間程度です。E資格の勉強そのものは10月中ごろから開始し、2月半ばに受験しましたので、約5か月間の勉強ということになります。トータルで500時間くらいですかね‥そう考えると相当な時間割いてます笑
試験はどうだった?
問題の内容については言えないのですが、先に挙げた問題集を完璧に仕上げておけば、まぁ大丈夫というレベル。ただ、それなりに応用問題も出て、やはり論文からの出題が多かった印象です。
また、実際の試験の受け方ですが、会場に通されてA4サイズの紙とペンが渡され、PC画面で問題を解くという形でした。PC上の電卓の使用は可能ですが、使う必要のあるような計算問題は1-2問程度ですので、あまり気にすることはないと思います。
結果は?
無事、合格しました!!!
得点率は、下記の通り
■分野別の得点率
・応用数学:92 %
・機械学習:83 %
・深層学習:82 %
・開発環境:92 %
合格基準は公表されておりませんが、60-70%でも合格されている方がおりましたので、ややオーバーキル気味かも知れません笑