JDLAのG検定に合格できたのでまとめてみる

こんにちはエンジニアの平野です。
発表から日があいてしまいましたが、JDLA DeepLearning for GENERAL 2017(G検定)に合格致しましたので、報告としてブログにまとめさせていただこうと思います。

G検定って何?

日本ディープラーニング協会(JDLA)の公式ページによれば、「ディープラーニングの基礎知識を有し、適切な活用方針を決定して事業応用する能力を持つ人材」 であることが示される検定のようです。

ディープラーニングの基礎知識と言われてピンとこない方も多いと思います。受けた後で言わせていただければ、ディープラーニングの基礎知識というよりは、AIとそれを扱うための基礎知識全般 といった感じでした。AI技術とそれを取り巻く環境について非常に広い知識を求められます。その分、一つ一つの問題はやさしい印象でした。

この資格をとるために必要な知識

公式ページの出題範囲から、この資格を取得するのに勉強する知識をずらっと並べてみます。

出題範囲(公式ページより)

  • 人工知能(AI)とは(人工知能の定義)
  • 人工知能をめぐる動向例題
  • 探索・推論、知識表現、機械学習、深層学習
  • 人工知能分野の問題例題
  • トイプロブレム、フレーム問題、弱いAI、強いAI、身体性、シンボルグラウンディング問題、特徴量設計、チューリングテスト、シンギュラリティ
  • 機械学習の具体的手法例題
  • 代表的な手法、データの扱い、応用
  • ディープラーニングの概要例題
  • ニューラルネットワークとディープラーニング、既存のニューラルネットワークにおける問題、ディープラーニングのアプローチ、CPU と GPU
  • ディープラーニングにおけるデータ量
  • ディープラーニングの手法例題
  • 活性化関数、学習率の最適化、更なるテクニック、CNN、RNN
  • 深層強化学習、深層生成モデル
  • ディープラーニングの研究分野例題
  • 画像認識、自然言語処理、音声処理、ロボティクス (強化学習)、マルチモーダル
  • ディープラーニングの応用に向けて
  • 産業への応用、法律、倫理、現行の議論

上記の全てが問題として出ました。
試験形式はオンラインなので、ググったり参考書片手に受験することができます。 できるのですが、試験時間2時間、必要回答数233(問題数は100問)と一答当たり30秒ちょっとしか時間がないです。ある程度の基礎知識がないと、絶対に回答が間に合わない問題数になっております。私としては、出題された問題のレベル感と時間が非常に良い塩梅になっていると感じました。

そういうわけで、資格勉強をするとAIについて非常に広い範囲についてそれなりの知識が身に付きます。ただ、問題の形式上、数式やソースコードを理解する必要はないです。その辺りは今後E検定のほうで試されるのかなぁと思っております。

少々話がそれますが、公式の参考書を3冊読んだだけでは出題されるすべての範囲をカバーできません。特に「機械学習の具体的手法例題」や「代表的な手法」については参考書ではちらっと触れるか触れないかといった感じのものがあります。この辺は大学で学んだ知識に助けられました。

業務にどんな感じで活かせるの?

受験しようか迷っている方はこういったことが気になるのではないでしょうか。JDLAが掲げるところの「適切な活用方針を決定して事業応用する能力」とは何でしょうか。完全に私見ではありますが、資格を取得するレベルまで勉強することで、実現できそうなことをまとめてみました。これについてはあくまで私見ですので、その点ご容赦ください。

事業で何にお金がかかるか分かる

この資格をお持ちの方はAIを事業に活かす上で重要なことを理解されていると思います。事業を進める上でデータを集める・加工する・そして検証することに非常に労力がかかることを知っています。それを行う上で適切な設備・人材は何か知っています。進めようとしている業務についての知識があれば、詳細まで詰められずとも、全体の費用感を想像することができます。

G検定の問題としては、「AIを使う上で大事なことは?」だったり、「GPUが活用されているが具体的に何がある?」といった問題で知識を問われたと思います。ちょっとうろ覚えですが。

(自分の場合見積もるのに結構時間がかかります……)

技術者や研究者と専門用語を用いてコミュニケーションが取れる

この資格をお持ちの方はAIについての広い基礎知識をある程度身に着けています。技術者や研究者と専門用語を用いて、AIを事業に活用する上での課題について専門的な話をすることが可能です。

G検定の問題ではアルゴリズムを理解していないと回答できない問題が多数出ます。勉強すれば当然専門的な知識も身につくはずです。

(多分大丈夫……です。自分がエンジニアなので説得力がないですが。)

AIにできること、AI事業の成果について判断ができる

こういった能力も試験では問われていたと思います。

AIが応用されている分野、特に画像認識・自然言語処理・音声処理に関する基礎知識も問われるので、事業上何ができそうかというのは「ある程度」判断できます。ここで、「ある程度」というのはAIは試してみないと分からないことがまだたくさんあるためです。少々脱線しますが、「特にどんなデータがどのくらい必要なのか」といった問題は判断が難しい部分なのでまずは検証してみることが大事だったりもします。

また、成果の判断ですが、再現率・適合率・F値といった話もG検定では出題されます。これを理解していれば、特定の問題について製品がどのくらい有効であるかを客観的に判断できるはずです。逆に、この辺をきちんと理解していないと製品の精度をごまかされたりするかもしれませんが、勉強しておけばちゃんと突っ込めます。すごそうな製品名に騙されたりといったこともないでしょう。

(たぶん騙されない……と思っています。)

難易度や試験対策について

今回のG検定ですが、Twitterなどを見る限りでは難しいと感じた方が多かったようです。
自分自身も受けてみて、簡単ではないなと感じました。少なくともAIについて全然基礎知識のない人が一から参考図書を勉強して受かるかといわれると首をひねる程度には難しいです。

ただ、今回の検定は

総受験者数 1,448名
合格者数   823名

と、合格率はそこそこ高いです。おそらく、ある程度AIについて基礎知識のある方が試しに受けてみたというパターンが多かったのではないかなと思います。

合格発表時点(2017/12/26)では、合格点や自分の点数は不明です。どのくらいとったら受かるといったことはまだ断言できません。

試験対策ですが、参考図書を全て一読し、出題範囲とされているキーワードを片っ端からググって調べて知識を蓄えるのがいいと思います。出題傾向を踏まえて以下に簡単にまとめてみます。ただ、次回も同じ問題が出るとは限らないのでその辺はご了承ください。

参考図書

試験の参考図書は下記3点になります。

おそらく参考図書だけでは各種の機械学習アルゴリズムに関する知識をカバーできません。特に下記のようなアルゴリズムについては別途調べて概要を知っておくといいと思います。

  • 決定木(回帰木、分類木)、ランダムフォレスト
  • 強化学習(特にQ学習)
  • サポートベクタマシン
  • クラスタリング手法(k-nearest neighbor, k-means)
  • アンサンブル学習(ブースティング、バギング)

などの有名どころ。「機械学習」でググって出てくるような手法は一通り調べてみることをお勧めします。あとは画像認識・自然言語処理・音声処理の基礎知識もさらっと学んでおくと得点が上がるはずです。

上記の大まかなポイントを押さえておけば、あとはググって何とかなります。知らない問題が出てきても慌てずチェック入れて、後回しにしておくのがいいでしょう。

試験受けるときの諸注意など

試験前日にはログイン確認しておくことをお勧めします。自分は当日パスワードリセットできなくて焦りました。思い出して事なきを得ましたが、30分間のパスワードロックを3回くらいやらかしました。まずいと思ったら事務局への連絡も忘れずに。

参考書・参考サイトを隣で開いておくと回答効率が著しく上昇するので、参考にしたサイトなどがあればタブで開いておくといいでしょう。時間との勝負です。

終わりに

平野の受験報告は以上になります。

この試験がAI系の知識を見直して勉強する大変いい機会になりました。問題も良問だったと思いますし、勉強するべきとされた内容は非常によかったと思っています。

ただ、出題傾向が理論よりだったので、そこはジェネラリストと位置付ける検定試験としてどうなのかなと少し疑問を感じてもいます。(あくまで配分の問題です。問題自体は良問です。)

また、現段階では合格者の認定証が個人名も入ってないロゴデータだけだったのでそこだけもうちょっと何か欲しいなと思う次第ではあります。ありきたりですが、電子データで構いませんので合格証書とか欲しいです。

(/ω・\)チラッ