トレーニングにまつわるあれこれを掲載しているブログではありますが,都合によりこのような記事を掲載いたします.
こんにちは,きっちゃん(@I_am_Entraineer)です.
きっちゃんは普段土木技術者として仕事をしているのですが,最近は業務の中で深層学習に触れる機会が増えてきています.折角なので深層学習に関係する資格を取って,その過程でちゃんと勉強しようと思い,JDLA E資格を受験することにしました.
このブログはトレーニングに関するあれこれを書いていたのですが,E資格の受験資格を獲得する都合で下記のようなレポートを書いていました.
どんどん雑多なブログになってすみません.先日,このE資格を無事取得しましたので,合格までの感想をだらだら書いてこの件を終えたいと思います.
学習開始前
前述の通り最近は深層学習を使った検討をしておりまして,コードを書いたりもしています.使っている言語はpythonです.環境はGoogle ColabだったりローカルPCだったり.
pythonは深層学習用のフレームワークが充実しています.そんなに深層学習のことを知らなくても,ググったりGitHubにある偉人たちのコードを写経すると,それなりに深層学習ができてしまいます.しかしそうすると中の挙動は完全にブラックボックスですし,結果の考察も不足しがちです.E資格に向けた学習を始める前はまさにそんな感じでした
認定講座の受講
E資格を受験するには,指定の認定講座を受ける必要があります.この認定講座が高いのです.有名どころだと,
いやぁ...高いです.会社で出してもらわないと受ける気がしない.受講していないので何とも言えないのですが,案内を見ていると手取り足取り教えてもらえる感じのようです.
少し資格ビジネスの匂いがします...そんなに教えてもらわなくても良いので,とりあえず受験資格がもらえる講座はないのかと探していたところ,ありました.
ラビットチャレンジ,月額3,300円.半年講座で勉強していても入会金含めて4万円程度.これならお小遣い気分で出せます.金額面ではこれ一択でした.
試験勉強
ラビットチャレンジの受講をはじめたのは9月の終わり頃でした.
E資格なるものを取得しようと思います。時々変なことをつぶやきますがご容赦ください。
— きっちゃん (@I_am_Entraineer) 2021年9月27日
年末年始を挟んでいるので勉強期間は実質4ヶ月程度でしょうか.大体私は朝早起きをしてトレーニングを週3でやっていますので,同じように早起きをして週4で勉強することにしました.
ラビットチャレンジはいくつかのセクションに分かれていて,それぞれ動画学習→確認テスト→レポート提出といった流れで進みます.確認テストやレポートを提出しないと次のセクション進むことができません.確認テストは正確率が95%以上必要で,意外と厳しいです.レポートはGitHubやQiita,ブログなど,誰でもアクセスできる場所に記述する必要があります.こちらもはじめは書きなれない線形代数の式をLaTeXで書いたりしていたので,結構大変です.途中でキレイに書くことを諦めて,手書きしたりコピペしたりでしのぎました.
安価なのでやや動画の内容が不親切だったり,構成がいまいちだったりしましたが,概ね満足いく内容でした.レベルも理系の大学出身で線形代数などの教養科目を学んだ経験があれば,それほど苦労することなく学習が進みますし,そこから深層学習が理解できるレベルまで到達することができます.
他の学習でも同じだと思いますが,足りないところはYoutubeだったり,文献を漁って学習すれば良いです.仮に高額な講座を受講していても不足箇所は同じように補うことになりますし,自主的に学習することに慣れている方であれば安価な講座で十分だと思います.
ということで,ラビットチャレンジで1月中旬ごろに受験資格を得ました.振り返ると受験資格を得た段階での学力では合格には少し足りず,全部理解していてもボーダラインくらいだったと思います.その後も試験勉強を続けました.試験勉強の際に参考にしたものを紹介しておきます.
書籍
黒本.こんなことを言っては何ですが,この本の内容をしっかり理解して,3周くらいこなせば合格します.
ゼロつくシリーズです.読み物としてもとても読みやすいですし,ここのコードがそのまま出たりします.
ガウス過程については理解が進まなかったので,こちらも参考にしました.
サイト
統計WEB.これも定番ですね.
NegativeMindさんのブログ.CNNのアルゴリズム概要を理解するのにとても助けになりました.
個別の知識については,他にもたくさん参考にしました.
- エントロピー 情報量・エントロピー-その性質の導出や証明 - 物理とか
- カーネルトリック(1) カーネルトリック - Qiita
- カーネルトリック(2) カーネル法、カーネルトリックとは何か?|ぷんたむの悟りの書
- バイアス・バリアンス分解 バイアス-バリアンス分解の導出を真面目にやる - Research Note!!
- Xavierの初期値 Xavierの初期値 Heの初期値の考察 - Murayama blog.
- ノーマライゼーション 【GIF】初心者のためのCNNからバッチノーマライゼーションとその仲間たちまでの解説 - Qiita
- im2col im2col徹底理解 - Qiita
- 最適化 深層学習の最適化アルゴリズム - Qiita
- mAP mAP(mean Average Precision) のまとめ - Qiita
- word2vec word2vec(Skip-Gram Model)の仕組みを恐らく日本一簡潔にまとめてみたつもり - Np-Urのデータ分析教室
YouTube
アイシアさんの動画が非常にわかりやすくてためになります.
深層学習の概要を掴む意味ではこちらのチャンネルも良いです.
その他
当然深層学習の原著論文を読んだりもしましたが,そこまで読み込んでいなくても上記の情報で事足りるように思います.
受験と結果
受験費用は33,000円です.ですので書籍の購入も含めると,結局8万円くらいはかかっていますね.
試験は会場に設置されたPCを使って回答するCBT方式です.自前の電卓やノートなどの持ち込みは一切できません.替わりにペンとA4サイズのメモ書きを渡され,PC上で電卓が使えるようになっています.どちらも使いづらいですが,仕方ありません.電卓だけはwindowsアクセサリの電卓アプリなどを使って,PC上で計算する練習を少ししておいたほうが良いかもしれません.今回に限っては計算問題がそれほど出題されなかったので,助かりました.
1ヶ月位詰め込み学習をしてから,受験しました.過去問が非公開なので,どんなレベルの問題が出るかわからない状態で受験することになります.実際の問題は学習した範囲を逸脱しているわけではありませんが,問題文のニュアンスが黒本やラビットチャレンジ付属の模擬演習と異なるので,少し戸惑うと思います.落ち着いて勉強した内容を思い出しながら解くことになります.試験時間が120分で出題数が100問程度ですので,それほど時間がありません.見直しはできない前提で,わからない問題はどんどん飛ばして進める必要があります.
合格には6割程度の正解率が必要とされていますが,これも非公開です.回答が不安な問題が20問程度でしたので,8割くらいの正解率は取れたように思いますが,合格発表までの期間はやきもきしました.
受験してから3週間後,メールで合格通知が来ました.
正解率は思ったより高かったですね.勘で書いた回答が正解していたのでしょう笑 見ての通り合格率は高いのですが,真面目に勉強していないと得点できないので,見た目より難しい試験です.
学習後
正直,この資格を得たところで全く実用的ではないのです.実務をやっている方や,Kaggleなどのコンペで競っている方のほうがよっぽど良いソリューションが出せると思います.
ただ,私の場合は「土木技術者が深層学習をやっている」状態でして,「ほんとにできんのか」感や胡散臭い感じが常に付き纏う感じでした.この資格を持っていることで,多少真面目に勉強したことはわかるので,ちょっとはネガティブな印象は払拭できたかなとは思います.要は最低品質保証的な意味合いですね.
ただpythonも何も知らない状態からだと,他分野の人は4ヶ月で合格できないと思います.上記のような調べ物をして理解を深める作業も難しい気もします.(そういう意味では手取り足取り教えてくれる講座のほうが良いのかもしれません.高いですが...)少なくともこの分野に親しみがあって,pythonでちょっとしたコードを書いた経験が必要ではないでしょうか.
個人的には深層学習をスクラッチからでも書くことができるようになりましたので,自己満足感は高いです.今更気づいたのですが,E資格のように理論の理解が必要な資格のほうが勉強が捗りますし,得意なようです.実は丸暗記の試験はさっぱりでして,全然覚えられません.運転免許の試験でも一度不合格をくらってます.
あと,最近の資格試験で負けっぱなしの中,久々に合格できたのは爽快でした.当分は自慢すると思います...今後受験する方はぜひ参考にしてください.