先日、E資格 2021#1 に合格したので、勉強方法や試験の内容をまとめておこうと思います。E資格取得を検討されている方や、ディープラーニングに関する資格を探している方に役立てていただければ幸いです。
目次
E資格 とは?
E資格とは、一般社団法人日本ディープラーニング協会(略称:JDLA)が実施している資格試験です。公式サイトでは、
ディープラーニングの理論を理解し、適切な手法を選択して実装する能力や知識を有しているかを認定する。
と説明されています。
試験内容は以下の通りです。
受験資格 | JDLA認定プログラムを試験日の過去2年以内に修了していること |
実施概要 | 試験時間:120分 |
知識問題(多肢選択式・100問程度) | |
各地の指定試験会場にて受験 | |
試験会場 | 申し込み時に、希望会場を選択 |
出題範囲 | シラバスより、JDLA認定プログラム修了レベルの出題 |
受験費用 | 一般:33,000円(税込) |
学生:22,000円(税込) | |
会員:27,500円(税込) |
具体的な出題内容は後述しますが、ディープラーニングや機械学習のアルゴリズムやPythonを使った実装、応用数学、開発環境に関する知識問題など、幅広く出題されます。
JDLAが実施する資格試験にはもう1つ、G検定(ジェネラリスト検定)というものがあります。こちらは、以前の記事でも紹介しましたが、ディープラーニングに関する知識を有し、事業活用する人材(ジェネラリスト)の育成を目的とし、ディープラーニングの基礎知識やビジネス・法務知識を当内容になっています。
E資格試験の実施頻度は、例年1年に2回のペースで、2021年の第2回目は2021年8月27日(金)・28日(土)に行われます(どちらかの日程を選択して受験します)。
試験の内容(シラバスより)
試験範囲をシラバスから一部抜粋します。詳細は、公式サイトのシラバスを確認してください。
応用数学
-
- 線形代数(固有値分解、特異値分解 など)
- 確率・統計(ベイズ定理 など)
- 情報理論
機械学習
-
- k-分割交差検証法
- 主成分分析
- ハイパーパラメータチューニング
深層学習
-
- 順伝播
- 最適化手法(RMSProp、Adamなど)
- CNN・RNNのアルゴリズム
- 生成モデル(VAE、GAN)
- 強化学習
開発環境
-
- ライブラリ
- 軽量化技術
E資格は受験資格(認定プログラム修了)が必要
E資格を受験するには、JDLAが認定するプログラムを修了している必要があります。JDLA認定プログラムはいくつかあり、値段や受講方法もさまざまです。2020年以降は、オンライン講座がかなり増えてきて、低価格化してきている印象です(主観)。
わたしは、スキルアップAIさんの『現場で使えるディープラーニング基礎講座』をライブ配信で受講しました。(受講方法には対面(現地)、対面(ライブ配信)、オンラインの3種類があります。)
本当は対面で受講したかったのですが、新型コロナウイルス感染症の影響でライブ配信での受講となってしまいました。ライブ配信の場合、対面で受講している他の受講生もいるので、会場の雰囲気が掴めず質問しにくい、マイクが講師用のみなので会場の受講生の声が聞き取れず、誰がどんなことを話しているのかわかりにくいなど、デメリットが目立ちました。わたしには、オンラインでの受講のほうがあっていたかもしれません。講座を検討する際は、受講方法も十分に検討するよう気をつけたほうが吉です。
また、認定を受けるには、動画講義を含む、約30時間の講義の受講以外に、以下の修了条件を満たす必要があります。
-
- 通し課題において基準精度を達成し、そのソースコード一式を提出
- DL、ML、数学の知識テストに合格
講座を受けながらだと、これらの課題に取り組む時間が意外ととれないので、提示される目安の締め切りよりも前倒しを意識しておいたほうがいいと思います。
合格までの勉強法
ここからは、試験合格までに私が行った勉強方法をご紹介します。
試験勉強開始前の知識・経験
- G検定2018#1
- 理工学研究科卒(数学・統計の知識はほんのり)
- 仕事では機械学習との関わりはほとんどなし
- 画像認識や生成モデルは、Tensorflowなどを使用して実装できるレベル
- ゼロから作るディープラーニング①は写経済み
勉強期間
2020年6月〜2020年8月、2020年12月〜2021年2月の約4ヶ月
(8月の2020#2のテストが中止になった為、2021年2月の#1試験に向けて調整しました。)
勉強方法
- 講義を受けて知識をインプット
- ゼロから作るディープラーニング①、②
- 黒本でひたすら練習問題を解く
1. 講義を受けて知識をインプット
講義は、あらかじめ動画で予習を行い、対面講義でその内容を復習していくという構成でした。動画は1本20〜60分程度で、ダウンロードやオフライン再生はできないので、私は主に自宅で学習を進めました。対面講義では動画の中で説明しきれなかった部分の補足や、実装の解説、受講者からの質問にほとんどの時間が割かれるため、きちんと予習していないとついていけず、十分な学習効果が得られない為、要注意です!
教材には、ディープラーニングについての知識に関するもの以外に、Notebook形式の実装教材があります。CNNやRNNの実装経験がある人や、仕事で機械学習に関わっている人でも、TensorFlowやPytorch、scikit-learnなどのライブラリを使わずに「ゼロから」実装するシーンは少ないと思います。E資格では、ライブラリを使わない実装が問われる為、実装教材をしっかり勉強することが重要です。
2. ゼロから作るDeep Learning①、②
1.でも紹介しましたが、E資格ではライブラリを用いず、深層学習を実装することが求められます。しかも、実装に関する問題の割合がかなり高いので、しっかりと対策する必要があります。そこで、私が用いたのはO’Reilly(オライリー)の『ゼロから作るDeep Learning』、通称『ゼロつく』です。
このゼロつくは深層学習のアルゴリズムとコーディングを非常にわかりやすく・丁寧に解説されており、文字通り、ディープラーニングの初学者でもしっかりと理論と実装力を身についけることができる良著です。現在、①〜③まで発刊されていて、①はMNISTを題材にディープラーニングの基礎やCNNの実装を、②は自然言語処理を題材にRNNの実装をメインで扱っています。③はフレームワーク編ですので、今回は使っていません。
ゼロつくで取り扱っているコードは、GitHubに公開されているので、それを自分の環境にダウンロードして動かすこともでき、効率よく学習が進められるので、本当におすすめです。
3. 黒本でひたすら練習問題を解く
試験2ヶ月前くらいからは、ひたすら練習問題を解いて理解の浅いポイントを復習する、というのを繰り返していました。わたしは、今回認定講座を受講したスキルアップAIさんから出ている、『徹底攻略ディープラーニングE資格エンジニア問題集 徹底攻略シリーズ』を使用しました。今のところ、E資格向けの書籍はこの1冊だけのようです。
認定講座やゼロつくでは、ディープラーニングの実装は詳しく解説されていますが、k-means法やPCAなど機械学習の実装は解説されません。これらの対策は、別途教材を探すか、機械学習ライブラリであるscikit-learnのコードを読んで学習するしかありませんが、わたしはそこまで勉強時間が取れなかったので、本書の実装問題のみで対策しました。完璧とは言えませんが、いくつか実装例が取り上げられていたので、本番もなんとかなりました(^^;)
その他、学習したこと
ここまで紹介した以外に、受験までの間に行ったことを並べておきます。
- 『人工知能プログラミングのための数学がわかる本』、『AIエンジニアのための統計学入門』などを使って応用数学対策
- 出題範囲は広くないので、得点効率もよく、しっかり対策しておくに越したことはない部分です
- CDLE関西のコミュニティで、同じく2021#1受験予定の人たちと情報交換
- G検定に合格した際に合格者コミュニティであるCDLEに参加しており、メンバーと頻繁に勉強会や情報交換をしています。
難しい部分の対策方法を相談したり、かなり心の支えになりました(感謝)
- G検定に合格した際に合格者コミュニティであるCDLEに参加しており、メンバーと頻繁に勉強会や情報交換をしています。
- 「スキルアップAIキャンプ(無料)」に参加
- 有料で開催されている講座への導入的な内容ですが、E資格直前対策などがあり、参加してよかったです。
2021#1の試験内容
ここからは2021年1回目の試験内容が具体的にどんなものだったか報告します。
試験形態(毎年同じ)
- 約100問で試験時間が120分
(G検定と比較すると時間に余裕がある) - 試験センターにて専用のパソコンで受験
(インターネットの使用はできません) - 試験会場には何も持ち込めない
(ティッシュすらもNG。花粉症や風邪の人にとっては地獄の2時間かも?)
E資格出題概要
出題形式は以下のような感じでした。
- 全て選択式(正・誤文を1つ選択する)
- コーディング選択(6割くらいこれだった気がします)
詳しい出題内容はお話しできませんが、参考までに覚えている範囲でトピックを羅列しておきます。
応用数学
-
- 特異値分解
- 情報量(自己情報量)
- KL・JSダイバージェンス
機械学習
-
- ロジスティック回帰
- バッチ正規化(オッズ)
- 主成分分析
- オートエンコーダ(次元削減)
- K近傍法 [実装]
- 検証方法
- ホールドアウト
- k分割交差検証
深層学習
-
- 順伝播計算の実装
- ノルムの実装
- Resnet
- Densenet
- U-net
- IoUの計算
- 物体検出(RCNN、YoLo)
- Mobilenetの計算量
- GRUの実装
- Q学習、DQN
- Conditional GAN
- WaveNet
- Tranceformer
- Attentionの実装
開発環境
-
- 分散学習
- GPGPU
- ライブラリ
感想と受験してよかったこと
試験の感想を一言でまとめると、「難しくはなかった」という感じでしょうか。個人的には、問題文がニュアンス的にわかりにくく感じ、終了直後は「できなかったわけじゃないけど、できたとも言えない…」という微妙な感触でした。そんな状態だったので、結果が出るまでの3週間はかなり悶々と過ごし、精神衛生上よろしくなかったです。
結果的には、全分野で8割以上得点できていたので、一応の学習成果は出せたかと思いますが、実装問題の対策をもっとしっかりやっておけば自信を持って結果を待てた気がします。その点は反省点ですね。
これまでも、業務の中で研究課題としてディープラーニングを扱うことはありましたが、なんとなくわかっているつもりになっている部分も多かったので、受験をきっかけに、改めて機械学習やディープラーニングについて体系的に学び直すことができた点は、とてもよかったと思います。
最後に、今回合格したE資格は、冒頭でも紹介したとおり「ディープラーニングの理論を理解し、適切な手法を選択して実装する能力や知識を有しているかを認定する」ものです。合格したことで、ディープラーニングに関する一通りの知識と実装能力があることを証明できたことになりますので、今後は、この能力を活用していく力を身につけていきたいと思います。