AIのような新しい技術分野では、人材教育における体系的な理論はまだ確立されていません。そのためAI開発の学習や、社内のAI人材の育成に頭を抱えている方は多いのではないでしょうか。
日本ディープラーニング協会(以下JDLA)は、ディープラーニングを実装する人材(エンジニア)の育成を目指し、ディープラーニングの理論を理解し、適切な手法を選択して実装する能力を持つ人材を測るため「E資格」という資格試験を主催しています。
E資格の出題範囲は応用数学、機械学習、深層学習の3つ。受験資格としてJDLAの定める認定プログラムを修了することが必須です。
関連記事:【ディープラーニング講座8選】E資格とは?受験のために必要なJDLA認定プログラムを解説
そこで今回、JDLA認定プログラム第1号であるスキルアップAIの「現場で使える機械学習・データ分析基礎講座(以下機械学習講座)」「現場で使えるディープラーニング基礎講座(以下ディープラーニング講座)」の2講座を受けてきました。
筆者は非エンジニアであり、機械学習の実装に不安があったため、受験には必須ではない機械学習講座も受講しました。
この記事では、
- 具体的にどんなことを学ぶの?
- 講座はどんな雰囲気?
- 自習はどのくらい必要?
などを徹底レポートします。
理論と実装の学習を同時に進めるため定着しやすい
講座は基本的に以下の流れを繰り返す形で行われました。
- 予習
2~3時間ほどの予習動画を見て、教材として配布されている ipynb形式の演習用プログラムの穴埋めなどを行いながら実装の学習をする。予習内容で質問があれば、講義までに質問を投げておく。予習動画は講座期間中は何度でも視聴可能。 - 対面講義(1回あたり4-5時間)
予習をしてきている前提で、予習内容を復習。事前の質問、当日に出てきた質問への回答をもらったり、グループワークを行いながらさらに理解を深める。 - 通し課題
講座で全体を通しての課題があり、復習も兼ねて学んだモデルや処理を課題に適用していき、精度向上を図る。
所感としては、理論と実装の学習を同時に進めるプログラムになっており、かなり定着しやすい印象でした。講座名にもあるとおり「現場で使える」ことが重視されており、基礎力がついたと思います。
E資格試験に特化した講座ではなく、あくまで実務で使えるようになるための講座ということ。そのうえでE資格試験にも対応しており、かなり実用的な印象です。
「現場で使える機械学習・データ分析基礎講座」の構成、スケジュール
機械学習講座は、1、2週間に1回ほどの対面講義が4回あり、それに合わせて予習や通し課題を進める流れでした。E資格受験で必須ではない講座ですが、実際の試験(2019#2)では3〜4割ぐらいがこの分野から出ていた印象です。
通し課題は、「DAY1〜DAY4でそれぞれ学んだことを実装しながらKaggleで公開されているデータセットを利用して価格予測の精度を上げていく」といった内容。ちなみに、担当講師の方はKaggleマスターでした。
機械学習・データ分析のコンペティションプラットフォーム。
それぞれの日程で学ぶ箇所は以下の通り。
DAY1 | DAY2 | DAY3 | DAY4 |
---|---|---|---|
・機械学習概論 ・人工知能とは ・機械学習とは ・機械学習アルゴリズムの実装とワークフロー ・機械学習アルゴリズム概観 ・教師あり学習の基礎 ・線形回帰 ・ロジスティック回帰 ・多変量モデルへの拡張 ・モデルの評価指標 ・回帰問題 (MAE/MSE/RMSE) ・分類問題 (精度/適合率/再現率/F1-score) | ・モデルの検証・正則化 ・訓練誤差と汎化誤差 ・過学習 ・正則化(L2/L1) ・ホールドアウト法・交差検証法 ・前処理 ・正規化 / 標準化 ・無相関化 / 白色化 ・教師あり学習の発展的トピック ・サポートベクターマシン | ・前処理 ・特徴選択 ・教師あり学習の発展的トピック ・木モデル(決定木・ランダムフォレス) ・ニューラルネットワーク | ・教師あり学習の発展的トピック ・深層学習 ・k-最近傍法 ・教師なし学習 ・クラスタリング ・特徴抽出・次元削減 ・モデルの改善 ・ハイパーパラメータ最適化 |
「現場で使えるディープラーニング基礎講座」について
ディープラーニング基礎講座も同様、対面講義、予習、通し課題を進める流れで、対面講義が8回の講座でした。この講座のなかで課題に取り組み、一定条件を達成することで、講座の修了認定をもらい、E資格受験が可能になります。
- 手書き文字の識別モデル構築:精度98%以上
- 知識テスト
数学:90点以上
機械学習:90点以上
ディープラーニング:80点以上
※一度限りのテストではなく、何度もチャレンジして一番良かった点数が条件以上であれば達成
モデル構築の手法の理論や性質を正しく理解するために、Numpy(数値計算ライブラリ)のみで実装をします。Kerasのような、モデル構築を簡易にするためのライブラリは基本的には利用しませんでした。
精度98%以上など、課題の条件だけ見ると厳しそうですが、講座で学ぶ手法を試したり、モデルやハイパーパラメータの工夫などをすることでクリアできました。
DAY1 | DAY2 | DAY3 | DAY4 |
---|---|---|---|
・ディープラーニング講座を通しての課題 ・ディープラーニング基礎 前半 ・パーセプトロン ・ニューラルネットワーク ・活性化関数 ・順伝播計算 ・出力層の設計 ・予測関数 ・バッチ処理 ・損失関数 | ・ディープラーニング基礎 後半 ・ミニバッチ学習 • 微分 ・最急降下法 ・勾配法 ・誤差逆伝播法 | 学習の最適化 前半 ・勾配法の学習を最適化させる方法 ・重みの初期値 ・機械学習と純粋な最適化の差異 ・ニューラルネットワーク最適化の課題 ・最適化戦略とメタアルゴリズム | 学習の最適化 後半 ・バッチ正規化とその類似手法 ・ドロップアウト ・荷重減衰 ・ディープラーニングの様々なモデル |
DAY5 | DAY6 | DAY7 | DAY8 |
・畳み込みニューラルネットワーク ・畳み込み層 ・プーリング層 ・im2col ・データ拡張 ・CNNの様々なモデル ・その他の話題 ・中間発表 | ・機械学習で扱うデータと典型的なタスク ・再帰型ニューラルネットワーク ・シンプルなRNN ・LSTM ・GRU ・RNNの発展モデル ・外部メモリを持つニューラルネットワーク ・その他の話題 | ・自然言語処理における深層学習 ・自然言語処理の基礎 ・word2vec ・encoder-decoder ・アテンション ・トランスフォーマー | ・自己符号化器 ・生成モデル ・変分自己符号化器 ・敵対的生成ネットワーク ・強化学習 ・強化学習の基礎 ・深層強化学習 ・深層強化学習の実用面での課題 ・軽量化技術 ・高速化技術 ・最終発表 |
講座の雰囲気
対面講義はみんな集中していて真剣な雰囲気です。予習のなかで出た疑問や、その場で出た質問などに回答してもらいつつ、講義が進みます。
受講者は、新人エンジニアからベテランエンジニア、はたまた私のようなマーケターまでさまざまです。みんな質問するポイントがちがい、ほかの方の質問から得た気づきなどもありました。
各単元で講師がかわり、それぞれ専門家が講義をしてくれます。研究や開発で活躍されている方々のため、深い知識や実務面でのボトルネックなど、試験勉強だけでは知り得ないことも学ぶことができました。講師たちの造詣が深く、雑学として出てくる話題も興味深かったことも印象的でした。
また、機械学習やディープラーニングのような雰囲気がつかみにくい分野を、体系的に学ぶことができ、それぞれの技術を整理して理解することができました。対面講義の動画も翌日にはオンラインで見られるため、講義中で出た質問などもあとで見返すことができます。講座用のSlackチャンネルもあり、講義時以外でも質問ができます。予習動画も含め、自習がかなり進めやすくなっていました。
グループワークでは、「自動運転にはAIのどういった技術が使われているか」「顧客分析にはどういった機械学習モデルが適しているか」など、答えがひとつでない問いも議論し、発表します。
これに対し、講師の方たちからのフィードバックももらい、さらに思考を深めていきます。資格試験だけでなく、実務で出てきそうな問題なども見据えて、議論ができたことは、かなり役立つと思います。
JDLAのG検定と、ある程度の数学知識は前提知識として持っていた筆者の例になりますが、機械学習講座も含め、自習にかけた時間は100時間ほどになります。対面講義にむけての自習は予習動画含めて3〜4時間ほど行いました。
機械学習講座、ディープラーニング講座の2講座で対面講義が合計12回あったため、予習時間は計40時間ほど。通し課題は約30時間、試験前の復習や試験対策は30時間ほどで、総計100時間を費やしました。
結果は無事合格
4月から勉強した甲斐もあり、平均点付近のギリギリだったもののE資格に合格することができました!
ほかの認定講座はプログラムを見ただけではありますが、スキルアップAIの講座は比較的重い分(講座で使われる資料は合計1000ページ以上!)、手厚い講座でした。実際、今回のE資格試験(E2019#2)の合格率は67.61%のところ、スキルアップAI受講者の合格率は81%だったようです。(もう1名弊社の新卒エンジニアも受講してめでたく合格)
基礎を体系的に学べる分、すでに基礎理論を理解していたり、実務経験者でE資格を取りたいなどの目的の方などは、オンラインだけのライトな認定講座もあるので、そちらを検討しても良いと思います。
ただし、「これから学ぶぞ!」「体系的な理解は不安」といった方に、スキルアップAIはおすすめです。数学は自習で対応しましたが、微分や線形代数、確率論などに自信がない方は、「機械学習・ディープラーニングのための数学講座」もあるのでそちらも検討してみてはいかがでしょうか。