株式会社 zero to one インターン生として勤務しております中嶋です。2023年8月25日に実施された JDLA 主催 Deep Learning for Engineer 2023#2(以後 E資格)を受験し、合格しましたので、勉強方法などについて紹介させていただきます!
機械学習や人工知能の知識が全くなく、プログラミングもほとんど未経験の状態から、約2週間というとても短い勉強時間で合格までこぎつけた実体験をもとに書いていますので、
・効率よくE資格に合格したい方
・E資格に申し込んだものの、勉強時間が取れずに直前まで来てしまった方
・E資格の受験について知りたい方
はぜひ参考にしてください!
Contents
1. E資格について
(1) E資格とは
E資格とは、日本ディープラーニング協会(JDLA)が実施している、ディープラーニングの知識、実装能力を認定している試験です。詳しくは、JDLAの公式ホームページをご覧ください。出題範囲や具体的な受験方法についても詳しく書かれています。ちなみにJDLAの理事長はAIや機械学習などの様々な分野で顕著なご活躍をされている松尾豊教授(東京大学大学院工学系研究科)です。
E資格を取得するには、まずJDLAが認定しているプログラムの中から一つ選択して修了し、さらにテストセンターで120分,100題程度のテストを受ける必要があります。知識や理論だけでなく、機械学習フレームワーク(TensorflowかPyTorchから選択)を用いて実装のコードを穴埋めするような問題も15~20問程度出題されることも特徴の一つです。テストはすべてコンピュータ上で行われるため、慣れていない方は注意が必要です。
(2) E資格を取るメリット
現在ChatGPTをはじめとして、ディープラーニングやAIの技術は日常生活のいたるところに浸透しており、今後ますます私たちの生活と密接にかかわってくるでしょう。そのため、これからの社会を生きていくうえでそれらに無知で生きていくことはできません。このような技術の基礎を理解し、実際にそれを実装するすべを学ぶ入り口としてE資格はとてもいいきっかけになると思います。
また、AI市場は日に日に成長しており、将来的に人材が不足することが考えられます。そのためディープラーニングの技術を証明するE資格を持っていることで、就職の際に有利になるなどのメリットも考えられます。
そのような考えから、E資格の受験を決断しました。
2. E資格受験までの勉強
この章では、私がE資格受験までに行った勉強を実際の試験と絡めながらお伝えします。
(1) 学習開始前のバックグラウンド
E資格の出題範囲は、応用数学、機械学習、深層学習、開発環境の4分野に分かれています。
私は受験時に理系の大学3年生で、応用数学分野の出題範囲である微分積分学、確率統計学、線形代数学の基本事項は理解していましたが、ほかの3分野に知識は皆無の状態から勉強を始めました。応用数学分野については、基本的な計算ができれば問題ないので(理系の方は特に)ほかの3分野の勉強に時間を割くことをおすすめします。
(2) 認定プログラム修了まで
E資格を受験するには、JDLAに認定されたプログラムの中から一つ選んで期限以内に修了する必要があります。期限が、受験日の1か月ほど前に設定されていることが多いので気づいたら過ぎていたということがないように注意してください。(年に2回しか試験がないので、期限を過ぎてしまうと半年後の受験になっています。)
認定プログラム一覧はこちら
私は、zero to oneによる認定プログラム(詳細はこちら)を修了しました。
①機械学習コース
②ディープラーニングコース
③E資格対策パッケージ(E資格対策の問題演習コース)
の3部構成となっていました。
特徴は、PyTorch/TensorFlowを用いた演習問題がついていて実際に手を動かしながら学べること、E資格模擬試験や各章の演習問題が充実しておりE資格合格に直結する勉強ができることです。また、すべてオンラインで完結するため、移動時間などの隙間の時間を有効活用して勉強にとりくむことができました。これからE資格を受験される方には非常におすすめのコースです!
私は、受験まで時間があまりなかったのでとにかく早く修了させることを目標に受講していました。細かい知識や計算は後回しにして、機械学習やディープラーニングの根本の理論や大筋を理解することに注力しました。zero to oneの講座は基礎的な概念から丁寧に解説があるので、頭に入りやすい作りになっていました。あとになって振り返ってみれば、この時に大まかな流れを理解していたことが問題演習を効率的に行う上でとても重要だったように思います。
ディープラーニングコースには、PyTorchやTensorflowといったフレームワークを選択して実際にプログラミングを行う演習問題がついています。私はTensorFlowを選択して演習をしていましたが、世間で広く使われているのはPyTorchなのでこちらを選択するのがおすすめです。この演習問題が私のようなプログラミング初学者にとっては非常に難しかったのですが、コードの空欄を埋めていく形式で、ヒント機能も充実していたためストレスなく取り組むことができました。
(3) 認定プログラム修了~本番まで
認定プログラムを修了した後は、とにかくたくさん問題演習を行いました。
私が主に取り組んだのは、
①zero to one E資格パッケージ
②『徹底攻略ディープラーニングE資格エンジニア問題集』(通称:黒本)
の2つです。zero to oneのE資格パッケージには、各分野ごとの演習問題だけでなく、演習問題が各分野からランダムで出題される機能があり、何度も繰り返すことで問題を覚えてしまうというようなこともなく幅広く勉強をすることができました。黒本の方は、最後の確認用に一週しました。
演習時は、ただ解いて終わらせるのではなく、間違えた問題については雑でもいいので自分の言葉で図や式を使ってまとめるという学習方法をとりました。後で見返すこともできますし、何より自分の手でまとめることでより効率的に知識が身に付きやすくなると思います。下に、私が問題演習を行っていたときのノートをいくつか載せておきます。(悪筆はご容赦ください。。) 1枚目が最適化の方法についての問題演習を行ったときのもので、2枚目が各種の正規化についての問題を解いたときのものです。
3. 試験当日・結果
(1) 試験まで
E資格は、試験時間120分で100問程度の問題を解かなくてはいけないため、体力的にもハードな試験となっています。そのため、前日の夜は夜更かしなどはせずによく休養をとり、フレッシュな頭で試験会場に向かってください。
試験直前は、とにかく自分が問題を解いててよく間違える知識の確認を行っていました。その結果、本番で拾えた問題が2,3問あったので最後まであきらめずに粘ってみてください!
また、試験会場には軽食(チョコレートなど)を持っていくといいと思います。長丁場の試験にもかかわらず荷物の持ち込みは禁止なので、試験前に食べ過ぎに注意して糖分を補給しておきましょう!
(2) 試験の感想
前の章でも書いたように、試験は知識を問う問題が思っていたより多いなという印象でした。深層学習や機械学習の原理だけでなく、実際の世界での応用例を知っておくことは必須です。心配していたフレームワークによる実装の問題もJDLAのホームページで掲載されている例題とほぼ同じような問題が出題されており最低限の得点はできたように思います。zero to oneのE資格パッケージで解いた問題と同じか似たような問題が多かったのである程度の手ごたえをもって受験を終えることができました。
分野は、深層学習、機械学習の部分が多めに出題されており、対策をするときは特にこれらの分野に力を入れると良いと思います。応用数学に関しては理系の学生であればそこまで対策しなくても9割程度はとれるような難易度になっていると思います。開発環境に関しては対策を後回しにしていたのもあってあまり自信がない状態で臨んだのですが、試験の冒頭で多めに出題されてしまいすこし慌てました。この分野はほとんど知識が問われるだけなので、直前にでもしっかりと詰め込んで受験すればよかったと思いました。
ただ、やはり120分で100問を解くとなると1つの問題に少しつまるだけでかなり時間が厳しくなっていきます。そのため、思い出せないなという問題や自信がないなという問題にあたっても、“あとで見直す”という機能を使って印をつけておくことでいつでもその問題に戻れるので積極的に使うことをお勧めします。
(3) 結果
なんとか間に合わせた形にはなりましたが、E資格に合格することができました!得点率は、
応用数学:100 %
機械学習:78 %
深層学習:72 %
開発環境:78 %
でした。
時間がない中での受験の場合は、対策は深層学習や機械学習の分野に重きをおいて、対策に時間のかからない開発環境や数学の部分で確実に、効率よく点数を稼ぐことをおすすめします。
具体的な合格ラインは公表されていませんが、全体でおよそ6割~7割で合格できるのではないかといわれています。結構ぎりぎりですね(汗) いろいろと書いてきましたがやはり余裕をもって勉強時間を確保するのが一番だなと痛感しました。
4. 最後に
最後まで読んでいただきありがとうございます!この合格体験記がE資格の受験を迷っている人、E資格の勉強で困っている方の助けになれば幸いです。
今回の合格者の方が学習したE資格認定プログラム:zero to one『JDLA「E資格」向け認定プログラム』