見出し画像

E資格(2024#1) 合格体験記

こんにちは。現在金融業界で働いているともです。
2024#1のE資格に合格したので、合格までの道のりを振り返ろうと思います。この記事が誰かの役に立つと大変うれしいです。


〇自己紹介

現在、社会人5年目の29歳(院卒)です。金融業界で理系職についています。
下記にざっとバックグラウンドや属性をまとめておきます。
・都内国立大学院卒
・経済学専攻
・保有資格:数学検定1級&統計検定2級&Python 3 エンジニア認定基礎試験&Python 3 エンジニア認定データ分析試験&基本情報技術者
・Atcoder 水色 (上位15%相当)

数学は得意な方ですが、プログラミングを始めたのは社会人3年目のときです。当時周囲で競技プログラミングのAtCoderが流行っており、周囲の勧めもあって始めたのがきっかけです。機械学習については学習開始時点(2023年1月)でほぼ知識ゼロでした。

E資格受験のきっかけは、働いている会社でAI・機械学習等の先端技術への注目度が高まっていて、今後のために一度きちんと基礎から学んでおきたいと思ったからです。また、会社に資格の費用補助制度があることも追い風になりました。

〇JDLA認定プログラムについて

E資格を受験するには、その前段階としてJDLA (Japan Deep Learning Associationの略で、E資格を主催している協会のこと)が認定したe-learningを修了する必要があります。いくつか選択肢がありますが、私は本試験の合格率、費用、口コミ等を考慮してAvilenさんの「全人類がわかるE資格講座」に決めました。ちなみに受験資格とは関係のない「基礎講座」もセットで申し込みました。価格はセットで17万円ほどだったと思います。ちなみに勉強するフレームワークをPyTorchとTensorFlowから選べるのですが、私はPytorchにしました。なんとなく語感が好きだったからです笑

Avilenさんのe-learningの概要としては、
・サポート期間は6か月。延長する場合は追加料金が約7万円/半年かかる。
・サポート期間中は講師への質問可能(回数は無制限だったと思います)。希望すれば面談もできる。
・講義資料及びそれに沿った講義動画が与えられ、自分で勝手に進めていくスタイル。ただし、こちらは修了要件ではありません。つまり、見なくても修了できます。講義時間は全体で30時間程度だったと思います。基礎講座は忘れました。
・修了後のサポートもあり、想定問題みたいなのが公開されます。
・修了要件は、①基礎5科目の試験 ②コーディング演習課題 ③プロダクト演習課題 ④深層学習の修了試験 の全てをパスすることです。
修了要件については下記に詳細を記載します。

①基礎5科目の試験
線形代数/統計/情報理論/Python/機械学習 の5科目の小テストを受験します。それぞれ20問ほどの試験で受かるまで受けれるので難易度は低いです。

②コーディング演習課題
穴埋め式のノートブックがテーマ別で10個ほど与えられて、すべて正しく穴埋めした状態で提出できれば合格です。穴埋め箇所は、実装上のポイントになるような箇所ばかりで、よくできてるなーと感心しながら解いていました。詰まっても講師の方に質問できます。

③プロダクト演習課題
何か自由にテーマを決めてディープラーニングで成果物を作るという課題です。いくつか合格には条件があり、その条件を満たす成果物を制作する必要があります。この課題に取り組むこととE資格の試験に合格することの関連性は薄いですが、実際に手を動かしてディープラーニングを体感すると、機械学習モデル実装の楽しさと大変さを同時に味わうことにができ、価値のある課題だと思いました。

④深層学習の修了試験
ディープラーニングの試験ですが、①の小テストとはレベルが違い、90分(?)で100問ほどの問題を解きます。正答率70%で合格です。2回までは無料で受けられますが、3回目以降は追加料金がかかるので注意です。初めの1回で雰囲気を掴み、2回目で合格するというパターンが多いみたいです。

他社さんの講座のことはわかりませんが、全体的な修了難易度は非常に高いと思います。合格率の高さはこの修了難易度からきているんだなと身をもって体感しました。特に③プロダクト演習課題 はゼロからのコーディングが求められる分、ハードルは高く、途中で諦めてしまう人も一定数いると思います。ただ、その代わりに学びは多く、機械学習の基礎知識に加えて最低限のコーディングスキルも身に付きます。
若干、講義資料に誤植が多かったりと気になるところはありますが、質問や面談といったサポートも充実しているので、しっかり勉強したい方にはAvilenさんの講座はおすすめです。

〇勉強法

Avilenさんのe-learningに取り組む/参考書を読む の2軸で勉強を進めました。具体的な取り組みについては「受験までの準備状況」で触れるので、ここでは後者で使用した参考書だけ挙げておきます。表紙の画像は著作権とか気になるので、Amazonのリンクだけ張っておきます(基本リンクフリーなので)。

・ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

言わずと知れた名著ですね。第4シリーズまである1冊目です。非常にわかりやすく書かれていますが、初めて読んだときは誤差逆伝播あたりで詰まったので、4周しました。入門書としてかなり丁寧に書かれている(特に序盤)ので、初学者には大変おすすめです。自分は読むだけで終えてしまいましたが、時間のある方は本の中で登場するコードを写経するなどしてもよいかもです。

・ゼロから作るDeep Learning② ―自然言語処理編

ゼロつくシリーズの2冊目です。自然言語処理もE資格の範囲なのと、1冊目がわかりやすかったので、こっちも読むぞと息巻いてみたものの、結局1周もできませんでした。1冊目はディープラーニングの基礎的な話メインでしたが、こちらは自然言語処理にフォーカスをあてていることもあり、ある程度は深いところまで学ぶという趣旨を感じ、自分には若干難しく挫折しました。

・徹底攻略ディープラーニングE資格エンジニア問題集 第2版

かの有名な黒本です。E資格は対策参考書みたいなものがあまりない中での対策本ということで一応は買いましたが、こちらもやりきるには至りませんでした。このときは更新が第2版で止まっており、私が受けるE資格 2024#1の試験範囲を網羅していないという情報が流れてきたこともあり、あまり積極的にやろうという気分にもなりませんでした。
ちなみに黒本の最後に模試がついていますが、こちらはE資格の本試験よりは随分簡単なので、この模試の成績はあてにはすべきではないでしょう。

〇受験までの準備状況

勉強を開始したのが2023年1月で受験したのが2024年2月なので、だいたい14か月ですね。かなり長い方だと思います。ただ、途中さぼった期間とかもあるので、実質8か月ほどだったと思います。
期間を3つに分けて振り返ってみようと思います。

●勉強開始時期 (2023年1月~2023年6月)

Avilenさんの講座に申し込み、基礎講座の受講と並行して、ゼロつくシリーズ①②を読んでいました。また、勉強開始時点で、どんな問題を解けるようになればいいのか、最終的なゴールを認識しておきたかったので、黒本もパラパラめくっていました。

4月あたりからAvilenさんのE資格講座も始めました。オンライン講義は非常にわかりやすく、感動したことを覚えていますが、講義が進むにつれ難易度が上がっていき、何を言っているのかよくわからない状態になることも増えていきました。また、範囲が非常に広いので、途中で序盤の講義の内容を忘れていることに気づくなどして勉強の進め方に悩みました。最終的には何度も繰り返すしかないと気付き、本番までに動画講義は3周(1.5倍速)、講義資料は7周ほどしました。

6月に入り、修了のための課題に取り組むことにしました。①基礎5科目の試験はちゃちゃっと終わらし、②コーディング演習課題と③プロダクト演習課題に取り組み始めたのですが、ここで青ざめました。②コーディング演習課題はゼロつくシリーズを調べたり、わからないところは講師に聞くなどで対応できましたが、③プロダクト演習課題は何から始めればいいかわからず、サポート期日(6月末)までに終わらせることは無理だろうと判断し、8月の受験は諦めて、サポート期間を延長することにしました。

しかし、期限が6か月伸びたことに甘え、7月から11月まではほとんど何もしませんでした…

●勉強再開時期 (2023年12月~2024年1月)

2月の受験に間に合わすにはもう再開しないとまずいと思い始め、12月下旬あたりから再び勉強を始めました。しばらくは講座の修了を優先課題として取り組むことにしました。

初めに取り組んだのは③プロダクト演習課題です。最も難易度の高いものを早めに片付けて精神的な安心感を得たい意図がありました。
この課題は自分で自由にテーマを決めることもできましたが、難易度が高そうだったので、参考テーマとして提案されていた「低解像度画像 (cifar10)のアップサンプリング」を選びました。単純な3層のCNNで実装ができましたし、cifar10は画像の情報量が小さいので、データサイズを絞ればスペックがそれほど高くないPCでも実装できます。ただし、合格基準がわからなかったので、画像データかさましやハイパーパラメーターチューニングなど、思いつく限りの工夫を凝らしました。合格を頂いたときはかなりホッとしたことを覚えています。

また、意外と苦労したのが、④深層学習の修了試験 です。こちらはオンライン受験なので、試験中に調べたりも一応はできますが、その時間はありません。実際、初回は60点台で落ちてしまいました(70点で合格)。そのため1週間ほど時間をとり、講義資料や講義動画の復習を念入りに行いました。注意すべき点なのは1回目の試験と2回目の試験とで、問題はかなり変わることです。結果合格することができましたが、このときの1週間の猛勉強が本試験突破の勝因の一つです。
ちなみにAvilenさんの修了試験の方が、実際の本試験より難しいと感じました。

①基礎5科目の試験 ②コーディング演習課題 も無難に終え、1月末に何とか講座を修了することができました。

●直前期 (2024年2月~本番)

2月に入り、いよいよ本番まであと2週間というところ。直前期にやったことは、➊Avilenさんの修了者限定コースの問題を解きまくる➋Avilenさんの講義資料を読み返す➌JDLAが公開している公式例題を何度も解く(Avilenさんのe-learningで2年分の例題(2021年/2022年)が公開されていました)。の3つです。
特に重要だと思うのは➌です。反射で答えがわかるぐらいまで理解しきることが大切です。
直前2週間の勉強時間は計20時間ほど。Avilenさんのe-learningを修了した段階で、ある程度は自信がついており、直前期に特別な追い込みをかけなくても大丈夫だろうなという精神状態でした。

トータルで勉強時間は250時間ぐらいかなと思います。

〇試験について

●試験申し込み (2024年1月下旬)

e-learningを終えるとAvilenさんから試験申し込みに必要なパスコードのようなものが発行され、それをもとにピアソンVUEのサイトから申し込みができるようになります。
E資格は年2回開催で8月と2月に行われているようです。金・土・日の3日間で開催されており、オンラインで受験会場・受験日・受験時間の申し込みをします。試験日前日ぐらいまでは申し込みができるようですが、申し込みが遅くなればなるほど会場は埋まっていきます。
少しでも直前まで追い込みたいと思い、日曜を希望しましたが、受験日2週間前の時点で近くのテストセンターは満席でした。結局、2月17日(土)に受験することになりました。

●試験当日 (2024年2月中旬)

当日会場に行き、顔写真撮影などの手続きが始まりました。ここらへんの手続きはかなり厳しく、ポケットの中に何も入ってないかなどをスタッフの方に入念に確認されました。

問題の内容自体はルールにより書くことはできません。試験時間は2時間でしたが、自分は終了5分前に全問題解き切るぐらいであまり余裕はありませんでした。問題にはフラグを立てる機能がついているので、これを利用すれば効率よく見直しができるかなと思います(時間が余った場合の話ですが…)。

合否のボーダーについては未公表ですが、SNSから得た情報では得点率6割程度でも合格している人を観測していたので、私見では6割弱が目安かなと思います。自分の場合、全体の75%ぐらいの問題は確信をもって選べたので、「まあ大丈夫かな」という手ごたえでした。

●合格発表 (2024年3月中旬)

試験3週間後 (厳密には2024年3月8日(金))にJDLAから合否についてのメールがきました。結果、合格でした。

分野別の出題頻度の内訳は下記のようです。
応用数学:10%
機械学習:35%
深層学習:50%
開発環境:5%
これをもとに全体の正答率を算出すると76.7%となりました。開発環境の正答率が低いですが、まあまあ余裕をもって合格できたかなと思います。

結論としては、Avilenさんのe-learningをしっかりやればあまり他のものに手を出さなくても合格圏内には十分いけるかなという所感です。勉強しててわからない箇所が生じても、講師の方に質問するなり、ネットで調べるなりできますしね。

〇感想

E資格の勉強を1年ほど続けて合格した経験から感想を書いてみます。
まず、E資格は機械学習、とりわけ深層学習分野についての広く浅くの資格だと思います。しかし、深層学習は浅いところでも理論的に難しいところが多く、理解するのに苦戦することもしばしばありました。しかし、本試験自体は結局は知識を問う試験という感じで、例えば大学受験の数学や物理のような高度な思考力や発想力が必要というわけではないかなー、と。つまり時間をかけて勉強すれば誰でも通る類の試験だと思います。
それよりも問題となるのは本試験の前段階にあるe-learningです。どの会社のものを選ぶかにも依りますが、こちらは他IT資格とは異なり、コーディングスキルも求められるので、そういった意味では通常の資格とは一線を画すような側面もあり、トータルで見ると大変な資格だと思いました。

〇反省

自分の場合はだらだら勉強してしまい、途中勉強していない時間もありましたが、集中して取り組めば半年ほどでいけたかなと思います。黒本とかかなり中途半端にやってしまいましたし…
あと、繰り返しますがJDLAが公開している公式例題は絶対にやっておいた方がよいと思います。

〇おまけ

●E資格は役に立つか?

自分は前述の通り、勉強開始前は機械学習の知識がほとんどなかったこともあり、大変勉強になりました。また、他のIT資格とは大きく異なる点として、実装がある程度できるようにならないと合格まで辿り着けません。そのような観点からも自分には有意義な資格だったかなと思います。
仕事では現時点では大きく変わったことはありません。しかし、「機械学習を活用すると何ができるか?」という知識がついたことで、今後何か課題に出くわしたときの解決へのアプローチの一つに、「機械学習の活用」という新しい観点が加わったことには意味があるかなと思っています。
あとはそれなりに大変な資格ではあるので、状況によってはある程度(?)は評価されることもあるようです。
トータルで見ると自分は挑戦してよかったなと思ってます。

●今後取り組んでいきたいこと

せっかく機械学習、特に深層学習について実装までじっくり学んだので、会社でそれら技術を活用した生産的な仕事がしたいです。何か案件落ちてないかな。割と金融業界と機械学習は相性が良いらしく、時系列解析とかそこらへんの分野は先行研究が多くあるみたいです。
あとKaggleやりたいです。年2回ぐらいでコンペに参加してみようかなと思っています。とりあえずはTitanicからですね。


この記事が気に入ったらサポートをしてみませんか?