本日のおしながき
はじめに
シラバス2024の全体像
シラバス2022と2024の比較
シラバス2024のいいところ
1. 知識体系を示すわかりやすい構造
2. 数学的基礎の充実
3. 最新動向への的確な対応
ちょっと気になったところ
まとめとお知らせ
■ はじめに
去る2023年9月15日に、E資格2023#2の合格発表が行われました。
合格した皆様、おめでとうございます。
悔し涙に濡れた?皆様、またここから頑張って行きましょう!
さて、9月15日には、E資格2023#2の合格発表と同時に新シラバスの発表が行われました!
これまでも、CDLE E資格勉強グループにて、E資格シラバスの分析を紹介させて頂いたことがあり、今回も分析させて頂きました。その結果、今回の改訂は受験する立場=勉強する立場の皆様にとって、とてもよい改訂になっていると思いましたので、その一端を紹介しておきたいと思います。
■ シラバス2024の全体像
早速ですが、シラバス2024の全体像を見てみましょう。
青太字部分は、シラバス2024で大・中項目に新たに現れた項目です。最も目立つ変更は、深層学習が「3. 深層学習の基礎」「4. 深層学習の応用」の2つに分割された点です。これにより、深層学習で実現できるアプリケーションは何か?の一端がわかるようになりました。また、「基礎が応用を支えている様子」を意識しやすくなったと思います。はじめてE資格に臨む方は、上図のように「3. 深層学習の基礎」を更に「ディープニューラルネットワーク構造」と「学習の方法・テクニック」の2カテゴリに分けて理解するとわかりやすいのではないかと思います。
■ シラバス2022と2024の比較
実は大・中項目レベルでは、シラバス2022と2024の間にあまり差はありません。しかし、再分類と集約によって、各項目の位置づけがとてもわかりやすくなりました!
再分類① 機械学習の項目
シラバス2022における「機械学習の基礎」と「実用的な方法論」の内容は集約され、シラバス2024の「機械学習の基礎」に引き継がれました。ただし、以下の項目は別の場所に移動されました。
・「最尤推定」は「確率・統計」に移動されました。
・「ハイパーパラメータの選択」は「3. 深層学習の基礎」の下の「汎化性能向上のためのテクニック」に移動されました。
・「転移学習」は「4. 深層学習の応用」の下の「様々な学習方法」に移動されました。
これらの再分類により以下がもたらされ、ぐっとわかりやすくなりました!
・「1. 数学的基礎」と「2. 機械学習の基礎」の境目がより明確になりました。
・「2. 機械学習の基礎」と「3. 深層学習の基礎」の境目もより明確になりました。今回の改訂で、深層学習に特化した内容は「2. 機械学習の基礎」に出てこなくなりました。
・「汎化性能向上のためのテクニック」というわかりやすい切り口の導入で「ハイパーパラメータの選択」の位置づけが整理されました。
・「様々な学習方法」という項目の導入により、数ある「学習方法」のどこまでが基礎で、どこからが応用かの指針が示されました。
再分類② 深層学習の基礎項目
シラバス2022における「3. 深層学習」の内容の中で、ディープニューラルネットワーク構造と学習方法の大半は、シラバス2024の「3. 深層学習の基礎」に引き継がれました。しかし、正規化と事前教師あり学習の位置づけは変更されました。
・データ集合の拡張、ノイズに対する頑健性、アンサンブル手法は、シラバス2022では「深層モデルのための正則化」の項目と位置づけられていましたが、シラバス2024では「汎化性能向上のテクニック」の項目と位置づけられました。
・正規化(バッチ正規化・Layer正規化・Instance正規化)は、シラバス2022では「深層モデルのための最適化」の項目と位置づけられていましたが、シラバス2024では「汎化性能向上のテクニック」の項目と位置づけられました。
・事前教師あり学習が、シラバス2022では「深層モデルのための最適化」の項目と位置づけられていましたが、シラバス2024では「事前学習」の概念と、「半教師あり学習」「自己教師あり学習」の概念が明確に分離され、わかりやすくなりました。
- 「事前学習」は「4. 深層学習の応用-自然言語処理」の項目として追加されました
- 「半教師あり学習」「自己教師あり学習」は「4. 深層学習の応用-様々な学習方法」の項目として追加されました。
再分類③ 深層学習の応用項目
全体像でも説明した通り、シラバス2020の「深層学習の適用方法」の項目のほとんどが、シラバス2024の「4. 深層学習の応用」に引き継がれました(*)。ただしTransformerは「3. 深層学習の基礎」に引き継がれました。
Transformerはシラバス2020、2022では「自然言語処理」の中に含まれていたのですが、ディープニューラルネットワーク構造の一種であること、多くの大規模言語モデルで用いられている共通の構造であることから、基礎として位置づけるのが妥当だと思います。
■ シラバス2024のいいところ
1. 知識体系を示すわかりやすい構造
シラバス2024では知識体系が相当整理され、はじめてE資格にチャレンジする方にとってもわかりやすくなったのではないかと思います。これには前述の「シラバス2024の全体像」や「シラバス2022と2024の比較」でも述べた「再命名」「再分類」が大きく寄与しています。
小項目・細項目レベルでは、「2. 機械学習」の「(1) 機械学習の基礎」、および「3. 深層学習の基礎」の構造がとてもわかりやすく整理されていました。
まずは「2. 機械学習」の大・中・小・細項目から見てみましょう。近傍法を機械学習の外に出したり、学習データを訓練データに変えている点など、細かい点にも配慮が行き届いている感があります。
次に「3. 深層学習の基礎」の大・中・小・細項目を見てみましょう。なお、細項目の緑字は、本当は「キーワード」として挙げられているものを、わかりやすさのためにあえて入れてあります。青太字は今回追加された項目。小項目の分類と命名のよさで、とてもわかりやすくなっています。あと、ソフトマックス関数を「活性化関数」から取り除いているところにも配慮を感じました。確かに、中間層で使われるものではないですね・・・。ソフトマックス関数は、シラバス2024ではロジスティック回帰と多クラス分類のキーワードとなっています。
2. 数学的基礎の充実
ここでは、ポイントを2つ挙げておきたいと思います。
ポイント1.線形代数の復活と充実
線形代数の章がここへきて復活しました!
ディープラーニングの学習メカニズムを理解するためには勾配の理解が必要。勾配の理解のためには線形代数と微分の理解が必要ですので、そのベースとしてやはり必須なのだと思います。また、各種のディープラーニングの論文を読みこなすためにも欠かせません。
キーワードとして明示された3つの概念の選択もセンスがよいと思いました。
テンソル
超重要。テンソルとは、ベクトルや行列を一般化した概念であり、ベクトルは一階のテンソル、行列は二階のテンソルです。これって、何はともあれ勉強初日に理解すべき概念ですよね。
行列のランク
やや重要。ランクは日本語で「階数」とも呼ばれ、行列が本質的に何次元であるかを示す数値です。
アダマール積
超重要。アダマール積とは、同じサイズの行列に対して成分ごとに積を取ることによって定まる行列の積のことです。深層モデルの最適化の式に必ずといって出てくるので、これを先に理解しておこうというのはいいですね。
ポイント2.「二者間の誤差・距離」に関する概念をキーワードでもれなく列挙
ディープラーニングの学習は、成長途上にあるモデルが出力する予測と実際との差分、すなわち「二者間の誤差・距離」を最小にする最適化の過程です。したがって、「二者間の誤差・距離」の計算方法にどのようなものがあるかを知っておくことがとても大切になるわけです。
これをどう教えるかがシラバスデザインの腕の見せ所。今回のJDLAのE資格シラバス2024では、以下のように「使用場面、もしくは関係ある項目の近くに誤差・距離算出方法を配置する」構成になっています。
・ⅱ. 確率モデルにおけるパラメータ推定 ... 平均二乗誤差
・ⅰ. 情報理論 ... クロスエントロピー、KLダイバージェンス、JSダイバージェンス
・ⅰ. パターン認識/距離計算 ... コサイン距離、ユークリッド距離、マンハッタン距離、Lp距離、マハラノビス距離
・ⅲ. 教師あり学習①線形回帰 ... ノルム
・回帰 ... 平均二乗誤差(MSE)、平均絶対誤差(MAE)
・二値分類 ... クロスエントロピー誤差、バイナリクロスエントロピー
もりさんE2024自分シラバスでは、「1. 数学的基礎」の中に「誤差・距離」を包括的に取り扱う章を作ろうかな、と思っています。時間あるかな?
3. 最新動向への的確な対応
この対応も嬉しい限り。詳しくはシラバス後半で見ることができます。
「4. 深層学習の応用」では以下が追加されています。
・画像認識にて「Vision Transformer」を追加
・画像認識と物体検出とセマンティックセグメンテーションを明確に分離
・自然言語処理にて「WordEmbedding」「BERT」「GPT-n」の3つを並列表記
・オートエンコーダーにて「Denoising autoencoder」をキーワードに追加
・「能動学習」を追加
・メタ学習に「Model-Agnostic」「メタ目的関数(meta-objective)」を追加
・モデルの近似に「ShapleyValue」「協力ゲーム理論」を追加
「5. 開発・運用環境」では以下が追加されています。
・分散処理に「連合学習」を追加(クロスデバイス学習、クロスサイロ学習、Federated Averaging、Local Model、Global Mode)
生成モデルはもちろんのこと、深層学習の説明性や開発環境も追ってくれているのが嬉しいですね。
■ ちょっと気になったところ
気になったところ1
数学的基礎の項目をどう分類するかはとても難しい問題。今回のシラバスでは例えば
・「勾配」を「線形代数」の一部として扱うか、それとも「微分」として扱うか
・「確率の基礎」を「一般的な確率分布」の一部として扱うか、それとも「確率の基礎」と「一般的な確率分布」を並列にするか
辺りは意見が割れたんじゃないかな、と推測します。
気になったところ2
「3. 深層学習の基礎」の項目が、「4. 深層学習の応用」中のアプリケーションの実現を支える、と考えると、個人的には以下のような構成にしたくなるなぁ、と思いました。特にオートエンコーダー・VAEと深層強化学習には「基礎」的な内容もあるんじゃないかなぁ、と思ったわけです。
ただ、それをやり始めると恐らく、項目が増え過ぎてしまうことになるのでしょう・・・「3. 深層学習の基礎」と「4. 深層学習の応用」にそれぞれどこまで含むべきか?言い換えると、ディープニューラルネットワーク構造や学習方法のうち、どこまでが基礎でどこからが応用か、についてはいろんな意見があると思いますし、JDLAも苦労なさったんじゃないかなと思います。
■ まとめとお知らせ
シラバス2024、控えめに言って素晴らしいです。構成が見直されたことでわかりやすくなりつつ、LLM、生成モデル等の最新動向にも対応したとてもよいシラバスだと感じました。
(2024/03/07) シラバス2022時代の資産を使って、シラバス2024に合わせた自分シラバス例を作成しました。添付しましたのでお知らせしておきます。