DCON2023の各校の成果からE資格合格につながる技術を学んでいくシリーズの最後は、VAEによる次元削減と表現学習です。
正直、沖縄高専 UTAMARU♪さんのソリューションは、VAE/XAIを用いたソリューションとしては大変興味深いものでした。ただ、VAEの解説を書きはじめると、もはや教科書ができてしまいますので、この記事はその前段の特徴量、次元削減、表現学習までの説明となります。(E資格を受験する方は、この記事を読んで頂いた後で、黒本16章の1番と2番を解いておくと非常に役に立つかと思います。)
なお、これまでのパート1、2、3とは順序を変えて、先に学校の事例を紹介し、その上で特徴量、次元削減、表現学習について簡単に説明していきます。
なお、沖縄高専はXAIも用いているのですが、仕組みが本選・NHK特番のいずれでも詳しくは語られませんでしたので情報がなく、今回は割愛しております。E資格シラバスのGrad-CAM、LIME、SHAPとの関係があるようでしたら、追記したいと思います。
■ 今日のおしながき
各校のソリューション
VAE & XAI:沖縄高専
E資格の観点で復習
特徴量と次元削減
表現学習
■ 各校のソリューション
DCON2023の参加校の中では、沖縄高専がVAE、XAIの両方を用いたソリューションを開発していました。中身を見ていきましょう。
4 沖縄工業高等専門学校 UTAMARU♪
・テーマ名・概要 (当日のプレゼンへのリンクはこちら)
Voice Ball
カラオケの機械では計測できない「上手い」を特徴量で見える化
1. 音色の旋律から歌唱スキルを見える化。二次元特徴量。商標出願中。
2. 歌声の習熟度を見える化。XAI(VAE+独自アルゴ)で抽出した二次元音響特徴。特許申請中。
機能1のデモ。右側の平面が「音色空間」を示している。だが、後述の(X)で説明している通り、そのX軸、Y軸は恐らくこれまでの我々にとっては未知の特徴量であり、名前もまだない。
なお、音色とは、楽器ならば「ピアノの音色」「オルガンの音色」「フルートの音色」のように用いられる言葉である。声だと「平井堅さんの音色」「Ikuraちゃんの音色」と同様に「沖縄歌謡にふさわしい音色」がある、と捉えて頂けば概ね間違いないと思う。
旋律とはここでは大雑把に「時間経過に伴う変化」と理解しておけばよいと思う。
機能1を用いた採点のデモ。一曲歌っている間の歌声の音色の変化を「音色空間の移動」という形で見える化。
その移動の様子が熟練者に近ければ高得点、離れていると得点が下がる仕組み。
機能2のデモ。
・松尾先生からの技術コメント(こちらのリンクで視聴できます)
- 音のスペクトラムの分析からVariant Auto Encoder (VAE)を用いて特徴量を推定
特徴量として、従来のカラオケの一次元ではなく主要な二次元を抽出して提示
- XAIを用いて、どうしたらもっと得点が上がるのかを説明しようとしている
・もりさん補足
歌の上手さを表す特徴量って何だろう?とまず思われるのではないかと思います。この記事を記述するために調べてみたら、なんと沖縄高専 宮城先生の研究助成に対する成果レポートを見つけてしまいました!これですね。
立石科学技術振興財団 助成研究成果集(第31号) 2022
人とAIが調和する技能伝承支援基盤の構築 -琉球古典音楽・歌三線の普及に向けて-
この成果レポートによると、VoiceBallで表示される情報は、以下の2種類の特徴量をベースとしているそうです。
(X) 音響的特徴量シンガーズ・フォルマント(SF) ... VoiceBallの大きさで表現
(Y) 音色の豊かさを表す抽象化した特徴量 ... VoiceBallの2次元の位置で表現
シンガーズ・フォルマント(SF)は、理想的な歌声の一つの指標として知られ、咽喉や声道の形状と関係しているそうです。熟達者は重要な周波数帯にパワーを集中させ、シンガーズ・フォルマント・クラスタ(以下、SFC)と呼ばれる「パワーが集中している周波数帯」を生成するという特徴を持つので、これを測定できれば上手い・下手のひとつの指標になる、というわけです。
沖縄高専では、SFをベースに、AIに入力する以下の5つのSFCベース特徴量を抽出しました。これらの値からVoiceBallの大きさを算出していくわけです。なお、筆者の表現は「テキトーだけどなんとなくわかる的な表現」ですので、本気で興味があり正しい情報が必要な方はくは成果レポートを参照するようお願いいたします。
・SFC周波数安定性: パワーピークな周波数がばらついていないほど上手い
・SFCパワー安定性: 大事な周波数に掛けるパワーがばらついていないほど上手い
・SFC強度: パワーピークな周波数に掛ける最大パワーが周りより大きいほど上手い
・倍音含有率: パワーピークな周波数の倍音にもパワーを注いでいる方が上手い
・SFC集中度: パワーピーク付近に掛けているエネルギーが集中しているほど上手い
ここまではいわゆる音響処理によって生成可能なのですが・・・
(Y)は、フォルマントから得たN次元の特徴を入力データとして、VAEで二次元ベクトルを生成し、フォルマントからは直接観測できない抽象化した特徴を抽出しているそうなのです(下図)!! 抽象化した特徴量って、人の言葉による表現が確立していない=概念化されていない特徴ってことでしょたぶん・・・なんかスゲーな
このxとyをプロットしたのが、先ほどのVoiceBallによる機能1だった、というわけです。
■ E資格の観点で復習
沖縄高専UTAMARUチームの技術を理解するためには、特徴量、次元削減、表現学習について理解するのが早道です。いずれもE資格シラバス範囲内ですので、順に見て行きましょう。
特徴量と次元削減
特徴量とは、対象の特徴を表現する量(数値)です。例えば、身体測定の結果得られる「身長」や「体重」は、人の特徴を表現する量(数値)ですので、特徴量だというわけです。
特徴量は、AIが機械学習やタスクを行う際に参照されます。例えば、身体測定のデータから「低体重/普通体重/肥満を分類する」タスクを行う際には、「身長」や「体重」が参照されます。
身長と体重の対から「低体重/普通体重/肥満」に分類する3クラス分類問題
他方、次元削減とは、高次元のデータを低次元のデータに変換することを指します。(前述の例だとわざわざ解説しなくても想像がつく方が多いと思うのですが)この3クラス分類を行うのに「身長」と「体重」の2つの特徴量が必要そうには思えませんね。「身長と体重の比(*)」を用いた1つの特徴量で十分実施することができるように思えます。それがいわゆる「BMI」となります。(*) 正確には、BMI = 体重÷(身長×身長)、つまり身長の二乗と体重の比ですのでご注意ください。
したがって、タスクがこの分類だけであれば、データをBMIのみの一次元データに変換しても構いません。このような変換は、次元削減に該当します。
なお、この例では次元削減を「タスクの遂行に必要な特徴量のみ残して絞り込む」のイメージで説明しましたが、次元削減にはもう1個、重要な用途があります。それは「特徴の視覚化」です。つまり、データの特徴を視覚化するために、表現が容易な二次元 or 三次元まで絞り込むのです。沖縄高専のソリューションにおける「VAEによる次元削減」も、Voice Ballの形で特徴を視覚化するのに繋がっています。
表現学習
前述の例では、身長、体重、BMIという、多くの人々が意味、名前、測定や手計算の方法を知っている量を例として、特徴量と次元削減を説明してきました。
しかし、今回沖縄高専が題材とした「歌唱スキル」を点数化するタスクに用いた、二次元の「フォルマントからは直接観測できない抽象化した特徴」は、DNN(VAE)によって自動抽出されたものであり、恐らくDNN(VAE)を用いないと計算できない量だと思われます。また、もしかすると我々が意味や名前を知らなかった特徴量かもしれません。
この沖縄高専の事例のように、入力データから、対象の特徴を表現する特徴量を自動で抽出する行為を、表現学習と呼びます。表現学習ができるのは、ディープラーニングの大きな利点のひとつです。