仕事でディープラーニングに関することをやったりしているので,最近できたディープラーニングの資格試験である「ディープラーニングG検定」を受検してみました。
これから受検してみようかなという方の参考になるかもしれませんので,受検記を残しておきたいと思います。
ディープラーニングG検定って何よ
まずどういう資格試験なのかについてざっくり触れておきます。
この資格試験は,日本ディープラーニング協会が実施している試験で,G資格とE資格の2つがあります。
G資格は「ジェネラリスト資格」のことを意味していて,その定義は「ディープラーニングの基礎知識を有し,適切な活用方針を決定して事業応用する能力を持つ人材」とのことです。
エンジニアというよりはどうビジネスに活用していくかという能力を測るための資格という感じでしょうか。
もうひとつのE資格というのは,実技試験があるということで,E資格(エンジニア)という検定の名前の通りエンジニアとしての能力を測るものでしょう。
詳しくは日本ディープラーニング協会のサイトを見てみてください。
受検情報
僕が受験したのは以下の試験です。
- 日時:2018年11月24日(土)
- 資格:ジェネラリスト資格(G資格)
E資格は受検する際に条件があるようですので,今回はG資格を受検しました。
Githubに上げているように,顔検出とか比較的単純な問題設定であれば実装もできるくらいのスキルではありますが,まだバリバリにコードが書けるというレベルでもないので,E資格を受検するかどうかはまだちょっと考えていないです。
という訳で,受検記ということなので,勉強開始前にどのくらいの知識があって,どのくらい勉強して,試験の手応えはどうだったかという辺りを書いていきます。
勉強開始前のレベル
まずは資格試験の勉強を始める前に,どの程度の知識レベルだったかについて触れておきます。
大学のときは情報系ではありませんでしたが,理系の大学院(物理系の修士)を卒業しています。
そのため,統計であったりデータマイニングといったものを専門に勉強していた訳ではありません。
もちろん理系の一般教養レベルの線形代数や統計学の知識はある程度はありますが,高校数学に毛が生えた程度のレベルです。
- 線形代数学
- 行列計算くらいならまぁ出来る
- でもランクとか言われたらちょっとひよる
- 統計学
- 大学の一般教養レベルの授業でも結構ひよった
- 大学院の研究で,観測データを使って簡単な分析とかはやったので,さすがに平均・分散・線形回帰とかのレベルは問題なく分かる
- でも数学的に完全に理解できているかと言われると怪しい
- 要するに,まぁ使う分には知識はあるから困らないというレベル
数学的な知識レベルはだいたいこんな感じですし,学生時代は機械学習なんて言葉はまったく知りませんでした。
そして,就職してからは,R&D活動の一環としてまずは「機械学習って何よ」「どういうものがあるの」ということを勉強していました。
機械学習のアルゴリズムにはどんなものがあるのか,それぞれのアルゴリズムはどういう考えのものなのか,というようなことはざっくり勉強しました。
ニューラルネットでいうなら,
- 脳を模したものでネットワークが構成されていて行列演算する感じなのはわかる
- 勾配降下法で最適化していくのも分かる
- でも最適化のアルゴリズムの数学的な理解まではイマイチできていない(数式を追えば理解できるけど,完全に自分の中で理解して落とし込めているレベルではない)
だいたいこういう感じで知っているというレベルです。
例えばもうひとつ,決定木でいうなら,
- ひたすら分岐させていくものなのは分かる
- でもどの変数で分岐させていくのか,優先度の付け方とか変数選択の基準は分からない
こういうイメージです。
なので,ざっくり雰囲気としては知っていますよーという感じです。
そのため,「こういう問題ならこういう分析をしてみたり,このアルゴリズムを使ってみたらいんじゃないか」と考えることはある程度できますが,いざ実装しようと思ったら調べながらじゃないと進まないという感じですね。
まさにG資格受検者という感じのレベルです。
あと,ディープラーニングに限っていえば,機械学習プロフェッショナルシリーズの深層学習はひと通り読んだことがあります。
僕の数学力は,この本が数学的には特に詰まるところなく読める程度だと思って頂ければ,それ程外れてはいないんじゃないかと思います。
資格試験とは関係ないですが,この本はディープラーニングを真面目に勉強したいと思っている方にはかなりお勧めの本です。
面倒かもしれませんが,この本をひと通り数式を追いながら読めばディープラーニングがどういうものかはだいたい分かると思います。
勉強期間と方法
一夜漬けですw
受験申込みのページから例題が見られるのですが,それを見た感じ「ある程度行けそう」という感じはありましたので一夜漬けで挑みました。
いや,本当は勉強せずに受検する予定だったのですが,さすがにちょっと怖気付きまして少しだけ勉強しておくことにした感じです。
勉強に使用した参考書はこちらの公式テキストです。
ディープラーニング含め人工知能の趨勢の歴史から,現在の応用ケースの説明まで幅広く書かれている本です。
業務でディープラーニングを触っているだけだと,人工知能の歴史などの問題がまったく分からないと思いますので,資格取得のためには必要な情報が広く説明されていていい本だと思います。
具体的な勉強方法ですが,受検前日にこの本を買いに行きまして,ざっとひと通り読み通しました。
練習問題も載っていますので,それをやってみて比較的正解率が悪かった章だけもう一度読み直したという感じですかね。
ちなみに2回目を読み直したのは,以下の章のうちの1章,2章,7章,9章でした。
- 人工知能(AI)とは
- 人工知能をめぐる動向
- 人工知能分野の問題
- 機械学習の具体的手法
- ディープラーニングの概要
- ディープラーニングの手法
- ディープラーニングの研究分野
- ディープラーニングの応用に向けて(1)産業への応用
- ディープラーニングの応用に向けて(2)法律・倫理・現行の議論
1章と2章は人工知能の歴史に関する内容なので,もう覚えなきゃ仕方ないということで勉強しました。
7章は結構最新の細かい内容だったので,ちゃんと読まないと分かりませんでした。
自然言語処理とか画像認識とか音声認識とか,各分野について少し詳しめに書かれています。
さすがに僕は,全分野の知識を持っている訳ではありませんので,あまり詳しくない分野については読み込みました。
9章はやっぱり知っているかどうかの知識問題なので,これも覚えておくしかないです。
だいたいこういう感じで,一夜漬けの勉強をしました。
受検してみた手応え
過去問を見てみたときは,公式テキストをやっておけば問題ないだろうという感じだったのですが,いざ受検してみるとそれ程簡単ではありませんでした。
ぶっちゃけると,公式テキストは最低限の最低限レベルという感じです。
この本だけを頼りにして勉強していると合格するのはおそらく難しいと思います。
受検してみた結果ですがざっくりとした手応えでいうと,
- 6割くらいは自信をもって正解を選べた
- 3割は2択までは絞れたけど,合っているか自信はない
- 1割は全く知らん
という感じでした。
簡単な問題と,全然分からない問題の落差が激しかった印象です。
要するに知識問題がほぼすべてということですね。
知っていれば一瞬で解けるけど,知らないとどうしようもないという感じ。
たまたま一夜漬けする気になって公式テキストを買いに行って勉強しましたが,ノー勉で挑んでいたら結構やらかしていたんじゃないかと思います。
あと,ちょっと予想外で問題を見た瞬間にひよったのですが,計算問題が1問だけ出ました。
まぁ冷静に考えればものすごく単純な計算だったんですけど,計算問題が出るとは思っていなかったので一瞬焦りましたw
出題形式の傾向としては,「最も適切なものを選べ」もしくは「不適切なものをひとつ選べ」という形式が多く,「あてはまるものをすべて選べ」というタイプの問題はほとんどありませんでした。
例題を見ると「あてはまるものをすべて選べ」タイプが多かったのでヤバいかなと思っていたので,そこは少し安心しました。
時間配分については,20分くらい余ったという感じです。
ちなみに,ネットで受検するので回答中も本で調べたりググったりしながら進められます。
ただ,問題数が200問以上とかなり多いので,あまりのんびり調べている暇はないです。
僕は,途中いくつか調べたいなと思った問題がありましたので,それは気になったタイミングで調べましたが,あとはすべて回答がひと通り終わってから調べることにしました。
でも結局調べられたのは20問くらいで,あとから調べようと思っていた問題の半分も調べられなかった感じですかね。
時間配分はだいたいそのくらいのイメージです。
という訳で,どういう知識・技術レベルの人がどのくらい勉強して,ディープラーニングG検定に挑んだかという紹介でした。
結果は今月末までにメールで送られてくるようですので,結果が出たら追記したいと思います。
合否の結果
無事合格でした!
全体の結果は以下の通りで,合格基準などは非公開らしいです。
- 総受験者数 2,680名
- 合格者数 1,740名
豪華鵜相は12月29日までに別途送付とのこと。早くみたいw
雑記
あとは試験中に思ったどうでもいいことを,問題の順序とは関係なく思い出したベースでざっと残しておきます。
- 自然言語処理系をあまりカバーしていなかったのがつらかった
- 要は得手不得手の話でしかないですが,自然言語処理系の知識がイマイチだったのでちょっと怪しい回答が多かった
- 著作権とか〇〇会議とかの問題が「XXX年X月時点の」っていう表現になっていた
- さすがにいつ時点で法律がどうなっていたか,というところまでは覚えていなかったので,単純な暗記だけだと対応できなくて法律周りが危なかった
- バーニーおじさんのルール
- おじさん出た!
- たまに問題文に脱字がった
- 意味は一意に読み取れたからよかったけど,運営側はちゃんと確認しておいてくださいよ
- SVM周りが泣けた
- カーネル関数とかカーネルトリックとか,数学的な処理とかざっくりした処理のイメージはもっていたけど,「何のために使うのか」というところを理解していなかったから厳しかった
- 一気通貫学習ってなんやねん
- 公式テキストでたまたま見ていた単語だからよかったけど,日本語にすると不自然すぎるわ。End2Endって言え
- ダートマス会議
- なんか単語の響きが好き
- DQNって日本人からするとネーミングが気になる
- DQNって見る度に不良の姿が思い浮かぶ