ギリギリの闘い：E資格合格までの道

# はじめに
E資格2023#2に合格しました!
自身の振り返りも兼ねて合格までの道のりを纏めます。
今後受験をされる方の参考となれば幸いです:bow:


# E資格合格までの道 概要

### E資格とは
![1FD440E5-1143-451F-A24E-DD96F5D95A71.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/207406/e5499ccf-a4e7-8256-1911-9efc32de4a2e.jpeg)

一般社団法人日本ディープラーニング協会（JDLA）が主催していて、AIのさまざまな手法や、手法に用いられるテクニックに関する理論と実装する知識を問う資格試験です。

https://www.jdla.org/certificate/engineer/


### E資格合格までにかかった時間
#### 合計3ヶ月(200~250時間)
* JDLA認定プログラム : **2ヶ月強(150h程度)**
* E資格試験に向けた自主学習 : **1ヶ月弱(80h程度)** 

### 受験に掛かった費用
#### 合計 **148,280**円
* JDLA認定プログラム：**99,000**円 (AVILEN E資格スピードコース)
* AVILEN E資格オンライン模試 ： **16,280**円
* E資格試験受験費用 : **33,000**円


# E資格受験前の私
###  職業
理系の修士卒で電機メーカーで自動運転の車両制御アプリの開発をしています。
ただ、AI活用の実務経験はありませんでした。

### 持っている資格
* G検定2023#1
* 統計検定2級

### 社外活動経験
* 経済産業省主催のマナビDXQuestに参加
* データ分析コンペに3回参加(テーブルデータ2回、画像データ1回)

### 既に学習済のコンテンツ
E資格の学習を始める前に、以下のコンテンツは既に学習済でした:books:

「**ゼロから作るシリーズ**」はE資格にも役立つ書籍だと思いました！
特にAVILENのコーディング演習で行き詰まった際にとても参考になりました:wink:


https://www.amazon.co.jp/%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E4%BD%9C%E3%82%8BDeep-Learning-%E2%80%95Python%E3%81%A7%E5%AD%A6%E3%81%B6%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E3%81%AE%E7%90%86%E8%AB%96%E3%81%A8%E5%AE%9F%E8%A3%85-%E6%96%8E%E8%97%A4-%E5%BA%B7%E6%AF%85/dp/4873117585/ref=sr_1_4?keywords=%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E4%BD%9C%E3%82%8B&qid=1695315874&sr=8-4


https://www.amazon.co.jp/%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E4%BD%9C%E3%82%8BDeep-Learning-%E2%80%95%E8%87%AA%E7%84%B6%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86%E7%B7%A8-%E6%96%8E%E8%97%A4-%E5%BA%B7%E6%AF%85/dp/4873118360/ref=sr_1_1?keywords=%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E4%BD%9C%E3%82%8B&qid=1695315874&sr=8-1


「**データ分析のための分析モデル入門**」、Aiciaさんの「**Deep Learningの世界**」を学習することにより、様々な深層学習のモデルを知る事ができました。事前にこれらの用語やモデルの概要を知っていたことで、スムーズにE資格講義の学習に入ることが出来たと感じています:nerd:

https://www.amazon.co.jp/%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E6%95%B0%E7%90%86%E3%83%A2%E3%83%87%E3%83%AB%E5%85%A5%E9%96%80-%E6%9C%AC%E8%B3%AA%E3%82%92%E3%81%A8%E3%82%89%E3%81%88%E3%81%9F%E5%88%86%E6%9E%90%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AB-%E6%B1%9F%E5%B4%8E%E8%B2%B4%E8%A3%95-ebook/dp/B0897SS2JP/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=BVZKHSYVIHMC&keywords=%E6%95%B0%E7%90%86%E3%83%A2%E3%83%87%E3%83%AB&qid=1695315926&sprefix=%E6%95%B0%E7%90%86%E3%83%A2%E3%83%87%E3%83%AB%2Caps%2C866&sr=8-1

https://www.amazon.co.jp/%E6%9C%AC%E8%B3%AA%E3%82%92%E6%8D%89%E3%81%88%E3%81%9F%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E5%88%86%E6%9E%90%E3%83%A2%E3%83%87%E3%83%AB%E5%85%A5%E9%96%80-%E7%B5%B1%E8%A8%88%E3%83%A2%E3%83%87%E3%83%AB%E3%80%81%E6%B7%B1%E5%B1%A4%E5%AD%A6%E7%BF%92%E3%80%81%E5%BC%B7%E5%8C%96%E5%AD%A6%E7%BF%92%E7%AD%89-%E7%94%A8%E9%80%94%E3%83%BB%E7%89%B9%E5%BE%B4%E3%81%8B%E3%82%89%E5%8E%9F%E7%90%86%E3%81%BE%E3%81%A7%E4%B8%80%E6%B0%97%E9%80%9A%E8%B2%AB%EF%BC%81-%E6%9D%89%E5%B1%B1%E8%81%A1-ebook/dp/B0B7NBX66Z/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=24CG366EHFNDJ&keywords=%E5%88%86%E6%9E%90%E3%83%A2%E3%83%87%E3%83%AB&qid=1695315953&sprefix=%E5%88%86%E6%9E%90%E3%83%A2%E3%83%87%E3%83%AB%2Caps%2C723&sr=8-1


https://youtube.com/playlist?list=PLhDAH9aTfnxKXf__soUoAEOrbLAOnVHCP&si=Q8AAEzsqEEGRSZtL


# E資格受験を決めた理由
AIには元々興味があり、書籍を使って学習をしていくにつれて、次第に身につけたAIの知識を業務で活かしたいと思うようになりました。
しかし実務経験が無く、書籍学習のみでは実践力を身に付けることが出来ないため、このような専門性の強い分野へ職を広げるのは中々厳しい思いました。
そこで、実践力の向上と、AIを活用する仕事を得るための周囲へのアピールも兼ねてE資格にチャレンジすることを決めました:fire:

# 選択事項
E資格受験にはいくつか選択しなければならないものがあります。
これらは多くの方が悩まれるポイントだと思います。
実際私も非常に悩みましたので、選択したものと選択理由について紹介します。

## JDLA認定プログラムの選択
E資格を受験するためには、JDLAの認定プログラムを受講し、修了する必要があります。複数ある認定プログラムの中から、どれを選択するかが非常に重要です。

#### 選択した講座
**AVILEN(E資格突破スピードコース)**
[全人類がわかるE資格講座](https://avilen.co.jp/course/e-certificate/)

G検定や前述のコンテンツである程度機械学習を学んでいる、統計検定2級で統計をある程度は学んでおり、価格を抑えたいという理由から**今回は「機械学習講座」は含めていません。**(後述しますが、後に自力で復習することになります。)


他の講座では機械学習や統計学の講義が含まれているものもあり、**深層学習の講義のみ受講したい場合はAVILENのE資格講座は非常に安い選択肢の1つ**になると思います。

#### 選択の理由
1.**実力が身につきそう**
* 知人や口コミから「AVILENは教材や修了条件の難易度が少し高めで、実力は身につきやすい」、「基礎からしっかり講座をしてくれて尚且つ分かりやすい」という意見が多かったためです。

2.**値段が安い**
* 値段は15万円弱である期間になると1万円ほど更に割引がされます。
* E資格スピードコースという**10万弱で通常のコースと同じ内容で受けられる**コースあります。（ただし、サポートと修了期限が2ヶ月という期限付きになっています）

3.**模試が受けられる**
* 別途有料になりますがAVILENが作るE資格模試を受けられるので、自分の現状レベルを知れるというメリットがあります。特にE資格は試験対策の問題集が少ないので、練習できる問題を増やせるのは貴重だと思いました。




#### その他の候補
1. **AI研究所 E資格対策ディープラーニング短期集中講座** 
4/30までに申し込めば78,000円で受けられましたが、当時は統計検定2級の勉強中であったので断念しました。

2. **AIJobColleのe資格対応パッケージプラン**
専門実践教育訓練給付制度を適用すれば7万弱で受けられそうでした。
給付制度の申請に1ヶ月かかり、8月のE資格受験までに間に合わないと判断し断念しました。


## 深層学習ライブラリの選択

E資格本試験でのコーディング問題で用いるライブラリはTensorFlowとPyTorchどちらで解くかを選択できます。コーディング問題はJDLA認定プログラムでも選択するライブラリに特化した試験対策が進んでいくので、JDLA認定プログラム受講の段階で決めておく必要があります。

私は今後どちらが長く使えるかという観点を重視して選択しました。

![52E2A5F5-E80A-44D0-A78D-8EBA5E067848.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/207406/071f9d40-87b3-9321-06d1-acc34236e396.jpeg)


Google(TensorFlow)は深層学習の実装でよく使われるテクニックのBatch NormalizationやDropoutの特許を出願しています。TensorFlowには特許ライセンスが付与されているので、それらのテクニックの商用利用が可能ですが、PyTorchによるBatch NormalizationやDropoutは商用利用不可となっています。

https://www.slideshare.net/YosukeShinya/ss-125937523


一方で、PyTorchは人工知能の研究開発でよく用いられており、論文に載っているPyTorchで開発されたモデルがGitHubで公開されています。よって**PyTorchを習得していればSOTAモデルを動かしてみるといった事が可能**になります。

また、近年PyTorchのシェアもどんどん伸びてきていることから、私はPyTorchを選択しました。

![C8FDBC2F-AA66-43F6-9305-9FCB5F4C8770.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/207406/86720054-5157-c5f7-aa91-8f668a785420.jpeg)



# 合格までのスケジュール

E資格本試験までのザックリとしたスケジュールです。
全スケジュールの2/3はJDLA認定プログラムに費やしています。
模試に向けた自主学習が1ヶ月で済んだのもJDLA認定プログラムで実力が身についたお陰かもしれません。

![9F6C9186-0D8C-4B86-992A-1800EA6D9648.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/207406/827760f4-89e4-5367-8e7f-20b3602dceba.jpeg)

以下、上記スケジュールの時系列順にそれぞれの学習の概要や所感を記載していきます。





# AVILENのE資格講座

#### 本講座の修了条件
* 情報理論、統計学、機械学習といった基礎科目の修了試験に全て合格する。
* コーディング演習があり、全て正解したものを提出する。
* 修了試験といいうPCで受けられるテストに合格する。
* プロダクト開発演習課題を提出する。


### AVILEN講義を始める前にやったこと

修了条件の1つに基礎科目の修了試験で合格する必要があります。

G検定と統計検定2級取得済みで、機械学習講座無しでイケるだろうと油断していましたが、基礎科目修了試験を受けてみると以下の通り撃沈しました:joy:

![806DB2DB-E76E-4D81-BB4D-B82F829447A4.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/207406/36d6918b-4709-7b34-67b2-38e9d81fc27a.jpeg)

知識不足を感じたので、急ぎ情報理論や機械学習、Python基礎等を1週間使って復習することで、何とか合格する事が出来ました。
![BF056339-15D5-4930-B510-F81DFB0973AF_4_5005_c.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/207406/7181c813-14b7-6c33-87f2-f30fed16403c.jpeg)


**情報理論や機械学習の基礎などは後の深層学習の単元でも頻出**なので、ここで抑えておいた方が良いと思いました。


#### 機械学習の復習で使用したコンテンツ
https://www.codexa.net/what-is-ensemble-learning/

#### 情報理論の学習で使用したコンテンツ

https://logics-of-blue.com/information-theory-basic/

https://qiita.com/kenta1984/items/59a9ef1788e6934fd962

https://qiita.com/e_do_kiriko/items/6eb02a55ba418d1df1b7



### AVILEN講義

全14単元のe-learningを進めていく流れになります。
単元毎に講義とコーディング演習をセットで進めていくやり方が良いと思いました。

講義は基礎からしっかり講義をしてくれて分かりやすかったです。
特に強化学習分野は書籍を読んでも基礎から理解する事ができなかったのですが、本講座を通じて強化学習の基礎と様々な手法の特徴や関係性などを理解する事ができました。

### コーディング演習
コーディング演習は計11単元分あり、配られる穴埋め問題形式のコードについて穴を埋めていくようにコーディングをしていく流れになります。

各コーディング演習は全ての穴埋め問題に正解したものを提出するとクリアになります。

前半は基本アルゴリズム(活性化関数、Attention機構など)に関して、numpy等を用いたスクラッチ実装の問題が多かったです。

numpy関数の引数の指定など細かいところまで問われる問題が出るため、行列のサイズエラーなどに苦しみました。

後半の題材はより発展的な深層学習モデルに関するものになっていきますが、主にPyTorchを用いた実装方法などの問題が多くなりました。

こちらは該当する深層学習アーキテクチャについて、PyTorchの公式ドキュメントや、類似実装例を調べながら取り組んでいました。


### 修了試験
シラバスに対応した範囲の**深層学習分野のみ**の内容で、難易度はE資格本番と同じか、やや難しい程度のように感じました。

本試験は2回までなら無料でリベンジ出来ますが3回目からは有料となります。

修了期限まで2週間を切ったところでプロダクト開発演習も控えているし、そろそろマズいと思ったので1回目のチャレンジをしましたが、華麗に散りました:innocent:
![D0AD95F1-FD9A-4BD9-B9CF-72D562035FD4_4_5005_c.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/207406/1c9e7a8d-1278-fac1-0d49-aae6371720bd.jpeg)

不合格の後、１週間の猛勉強の末に合格する事ができました!

![33E1841A-FD81-4001-971C-480A4E145E5E_4_5005_c.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/207406/27679a96-2d5b-8fe1-764c-5fbe286aabbe.jpeg)

思わず吠えてしまいました。
修了期限も点数もギリギリだったので、修了試験にはかなり追い詰められました:sob:
![IMG_8428.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/207406/13102ecc-fe29-f2b3-7532-dfd8301dec5c.jpeg)


気をつけばければならないのは、**1回目の試験と2回目の試験は違う問題が出題される**という事です。
1回目の試験で出題された問題のみを復習して2回目の試験に臨むと面食らうと思います。(しかも、個人的には2回目試験の方が難しく感じました)

### プロダクト開発演習
設定した問題を解くAIモデルをゼロから開発する課題です。
お題は自由で、作ったモデルの性能評価や考察を行い、モデル開発コードと考察（コメント文など）を提出する流れになっています。
私は画像のアップサンプリングという演習にチャレンジし、4日間費やしました。

なんとか修了期限の2日前に提出でき、演習課題が修了に値するものなのかどうかの評価結果をドキドキしながら待ちつつ、修了期限の1日後に、演習課題の完了が認められ、何とか修了する事ができました。

これでようやくE資格受験のスタート地点に立てました...

#### AVILENの講座を受けてみた感想
AVILENは講座の質が高かったのは勿論ですが、プロダクト開発演習や修了試験いずれも良い意味で厳しく、学びになることが多いと感じました:relieved:

修了生向けには何度も受けられる修了試験や公式問題集など（模試を申し込んだ方には模試も）を提供してくれたりなど、修了からE資格本試験までの練習問題コンテンツが非常に充実しています。
修了後も「ここまでやってくれるのか」と思えるくらい素晴らしい講座でした!



# AVILENの模試

E資格本番の1ヶ月前に、本模試に挑戦しました。
本模試は得点率約70%が本番試験合格の目安言われて居ますが、受けてみたら62%の正解率でした...


![B2A33D8D-1CF9-43D6-8A42-B463A0994109.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/207406/80039dc4-1a8d-8039-3082-3ea397885d84.jpeg)

E資格模試はしっかりした内容で、E資格本番で出題される問題とレベル感が近いと感じました。




# E資格試験までの学習
* 以下の黒本と呼ばれている問題集を2周
* AVILENのE資格模試、修了試験、公式例題をもう1周ずつ

https://www.amazon.co.jp/%E5%BE%B9%E5%BA%95%E6%94%BB%E7%95%A5%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0E%E8%B3%87%E6%A0%BC%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E5%95%8F%E9%A1%8C%E9%9B%86-%E7%AC%AC2%E7%89%88-%E5%BE%B9%E5%BA%95%E6%94%BB%E7%95%A5%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E3%82%B9%E3%82%AD%E3%83%AB%E3%82%A2%E3%83%83%E3%83%97AI%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE-%E5%B0%8F%E7%B8%A3-ebook/dp/B096YB4WLQ/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2P5BAMK17YEGZ&keywords=%E9%BB%92%E6%9C%AC%E8%B3%87%E6%A0%BC&qid=1695319562&sprefix=%E9%BB%92%E6%9C%AC%E8%B3%87%E6%A0%BC%2Caps%2C1767&sr=8-1

黒本は今回のシラバスには対応しておらず、今回のシラバスの内容は学習できないのですが、AVILENの模試や公式例題とは違う問題の出され方がされたりしました。
これにより自分が解けない問題の把握に繋がったり、新旧シラバスどちらでも出る知識の定着に役立ちました:smiley:

AVILENのE資格模試、修了試験はE資格本番のレベル感に近く、特に「**公式例題**」は本番のE資格と似たような問題が出題されたりして、良い試験対策になると感じました。

# E資格本試験
正解率6〜7割程度かなといった感触でした。

苦手分野は警戒して重点的に対策してきましたが、大丈夫だと思っていた分野で分からない問題が続々と出題されました …

今まで解いた練習問題で出て来ない(あるいは解けたことがある)から覚えなくても良いと油断していた、と言うこともありますが浅い理解で満足してたなと痛感です。

一方で苦手分野を集中対策したおかげで分かった問題も多かったです!

# 結果
資格試験から3週間後のお昼に【受験結果】と言うメールが届きました。

**合格の目安は正答率6割**と言われています。

試験の出来は正解率6〜7割程度かなといった感触があったとは言え、勘違いしている可能性もあるのでこの頃には当時の自分を信じられなくなっていました。。。

心臓をバクバクさせながらメールを開いてみると、合格の記載がありました:white_flower:

何とか合格をもぎ取ることが出来ました!!

![956F33E4-B909-4B01-948B-5EC174BC8DFA.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/207406/49833e88-eacc-d60c-b232-0caa0dc0fd41.jpeg)


# 今回のE資格受験の感想
### スケジュールについて
最初このスケジュールは、結構無理があるなと不安に感じていましたが何とかやり遂げる事ができました。

AVILENのE資格講座の期限の2週間前に1回目の修了試験に落ちてしまい、死ぬ物狂いで復習して期限1週間前になんとか修了試験を合格できました。

E資格までの勉強も毎日眠気を我慢して取り組むなど、かなり追い込んだので今回のE資格合格は本当に紙一重の連続でした:sweat_smile:


### E資格受験を通じて学んだ事
E資格の対策をしてきた事で、G検定の時よりも深いレベルでより多くのAI手法の知識を身に付ける事ができました。

コーディング実装課題や問題を解くことにより、今までブラックボックスのように感じていた頻出のAIのネットワークや必要なテクニック等は、仕組みや実現方法を理解出来るようになったと感じています。

また、今回はPyTorchを選択したこともあり、PyTorchの勉強をすることも出来ました。
Tensorflowと違ってオブジェクト指向で書いていくんだなぁと言う発見や、オブジェクト指向の書き方の理解が深まりました:muscle: