G検定|音声処理②|フォルマント・CTC・WaveNetなどを分かりやすく解説

G検定、「音声処理」の単語を分かりやすく解説。ひよっこDS、りけーこっとん G検定

※本記事はアフィリエイト広告を含んでいます

どーも、りけーこっとんです。

「G検定取得してみたい!」「G検定の勉強始めた!」

このような、本格的にデータサイエンティストを目指そうとしている方はいないでしょうか?

また、こんな方はいませんか?

「なるべく費用をかけずにG検定取得したい」「G検定の内容について網羅的にまとまってるサイトが見たい」

今回はG検定の勉強をし始めた方、なるべく費用をかけたくない方にピッタリの内容。

りけーこっとんがG検定を勉強していく中で、新たに学んだ単語、内容をこの記事を通じてシェアしていこうと思います。

結構、文章量・知識量共に多くなっていくことが予想されます。

そこで、超重要項目重要項目覚えておきたい項目という形で表記の仕方を変えていきたいと思いますね。

早速G検定の中身について知りたいよ!という方は以下からどうぞ。

具体的にどうやって勉強したらいいの?
G検定ってどんな資格?

そんな方は以下の記事を参考にしてみてください。

なお、りけーこっとんは公式のシラバスを参考に勉強を進めています。

そこで主な勉強法としては

分からない単語出現 ⇒ web検索や参考書を通じて理解 ⇒ 暗記する

この流れです。

※この記事は合格を保証するものではありません

大項目「ディープラーニングの手法」

G検定のシラバスを見てみると、試験内容が「大項目」「中項目」「学習項目」「詳細キーワード」と別れています。

本記事は「大項目」の「ディープラーニングの手法」の内容。

その中でも「音声処理と自然言語処理分野」というところに焦点を当ててキーワードを解説していきます。

G検定の大項目には以下の8つがあります。

・人工知能とは
・人工知能をめぐる動向
・人工知能分野の問題
・機械学習の具体的な手法
・ディープラーニングの概要
・ディープラーニングの手法
・ディープラーニングの社会実装に向けて
・数理統計

とくに太字にした「機械学習とディープラーニングの手法」が多めに出るようです。

今回はディープラーニングの手法ということもあって、G検定のメインとなる内容。

ここを理解していないと、G検定合格は難しいでしょう。

ここから先の学習の理解を深めるために、そしてG検定合格するために、しっかり押さえておきましょう。

シラバスはこちらからご覧になれます。

今回は音声処理の基本的な内容、基本的な手法を押さえていきたいと思います。

音声処理は自然言語処理とは少し異なるので、専門の記事を用意しました。

本記事では音声処理を行う上での、基本キーワードの残りと応用手法までを解説していきます。

フォルマント

フォルマントとは音声の周波数スペクトルに現れる、周囲よりも大きい周波数帯域のこと。

周波数スペクトルというのは、
「実際の音声の中に、どういう周波数の波が入ってるの?」
ということを教えてくれるグラフ、とでも言えばいいでしょうか。

周波数スペクトルに線を引くと、スペクトル包絡ができるということも前回の記事で解説しました。

「見てないよ!」「覚えてないよ!」という方は以下の記事からどうぞ。

スペクトル包絡は以下のようなイメージでした。

スペクトル包絡とは?スペクトル包絡を分かりやすく解説!G検定、りけーこっとん、ひよっこDS

スペクトル包絡を考えると、山や谷ができることが分かりますよね。

上の場合だと10、25Hzの周波数が大きそうです。

つまり10、25Hz付近の周波数の範囲をフォルマントといいます。

フォルマント周波数

フォルマント周波数とは音声の周波数スペクトルに現れる、周囲よりも大きい周波数のこと。

フォルマントとの違いがややこしいですよね。

フォルマントは「周波数帯域(範囲)」
フォルマント周波数は「周波数値そのもの」

というようなイメージでしょうか。
(あまり明確に区別されていない感じもありますが)

低いものから順に第1フォルマント周波数、第2フォルマント周波数とついていきます。

先ほどの例だと、10Hzが第1フォルマント周波数、25Hzが第2フォルマント周波数といった感じですね。

従来の音声認識エンジン

従来の音声認識は、DNN-HMMという手法使われています

DNNはディープニューラルネットワークのこと
HMMは隠れマルコフモデルのことですね。

隠れマルコフモデルってなんだっけ?という方は以下の記事をご覧ください。

DNN-HMMは以下のような手順で行われていました。

1.雑音・残響抑圧(入力:音声、出力:音声)
A-D変換によって、音声認識したい対象以外の雑音を切り離す

2.音声特徴量抽出(入力:音声、出力:音声特徴量)
音響分析を使って、音声から音声特徴量を抽出

3.音響モデル(入力:音声特徴量、出力:音素)
音声特徴量から音素を求める
この過程にDNN-HMMが使われるんです。

HMMでデータが時間ごとに順番に並んでいること(時系列)を表現し、
DNNで入力された音声特徴量から音素が何かを求めます。

4.単語辞書(入力:音素、出力:単語)
単語辞書によって、特定された音素を辞書でマッチングし、単語として表現する

5.言語モデル(入力:単語、出力:単語列)
単語同士の繋がりやすさを確率で表現(定式化)したモデル
ex)「私」の次に来る単語は「は」が40%、「の」が20%、「が」が20%、「に」が20%

言語モデルによって、単語同士が繋がる確率の高い文章に整形します。

言語モデルにも様々な種類があり、詳しくはこちらの記事も参考にしてみてください。

これらの処理を図にまとめると以下の通り。

音声認識エンジンDNN-HMMとは?音声認識エンジンDNN-HMMを分かりやすく解説!G検定、りけーこっとん、ひよっこDS

DNN-HMMが実際に使われるのは「音響モデル」のみ。

この音響モデルに単語辞書、言語モデルを組み合わせて行っていました。

音声認識の順序

従来の手法について見てきましたが、結構複雑ですよね。

そこでEnd-to-End音声認識が開発されました。

End-to-Endというのは、深層ニューラルネットワークの学習を設計する1手法。

端から端まで(End-to-End)、つまり入力から出力まで一つの深層ニューラルネットワークで繋げる手法です。

先ほどの例だと「音声特徴量」→「文章」までに3工程ありましたよね。

この「音響モデル」「単語辞書」「言語モデル」3つを、一つの深層ニューラルネットワークでまとめてしまおうということです。

図にすると以下のような感じ。

End-to-End音声認識とは?End-to-End音声認識を分かりやすく解説!G検定、りけーこっとん、ひよっこDS

CTC

CTCとは、End-to-End音声認識の代表例の一つ。

Connectionist Temporal Classificationの略で、以下のような特徴があります。

・過去の出力を考慮しないで、次の単語を予測
・入力フレーム数と認識すべき音素の不一致時、空文字を追加して解決

フレームというのは、音声信号を短い時間ごとに区切った1区間のことです。

例えば「服」と1秒で発音したとしましょう。

個の音声信号を一般的なフレームで分けると50とか100個になるようです。

でも認識したい音素数は「ふ」「く」の二つなので、不一致が発生してしまっていますよね。

フレームが100個だった場合、残りの98個には空文字を入れることで、この問題を解決したようです。

WaveNet

WaveNetとは、Deep Mind開発の音声合成のアルゴリズム。

音声認識もできるのですが、音声合成でより自然な発音に近づいたのが衝撃だったようです。

音声信号を細かい点として考えることで、この点をCNN(畳み込みニューラルネットワーク)で学習します。

1秒間の音声データを16000個の点群として捉えて学習、

音声合成では、音声信号の点をCNNから直接生成します。

さらにWaveNetの派生形には以下のようなものもありますね。

●WaveGlow
WaveNetを改良した軽量モデル

●WaveRNN
WaveNetを改良した、1層RNN+全結合層2層のニューラルネットのモデル

まとめ

今回は大項目「ディープラーニングの手法」の中の一つ「音声処理」についての解説、第二弾でした。

本記事をまとめると以下の通り。

フォルマント
フォルマント周波数
言語モデル
CTC
WaveNet

今回は「言語モデル」や「CTC」について分かりやすく説明するために、G検定とは少しそれた技術にまで触れています。

時間のない方は赤太字だけ覚えてもいいですし、きちんと理解したい方は全部読んでもらえるとありがたいです。

ディープラーニングに関しても、細かく学習しようとするとキリがありませんし、専門的過ぎて難しくなってきますよね。

そこで、強化学習と同じように「そこそこ」で理解し、あとは「そういうのもあるのね」くらいで理解するのがいいでしょう。

そこで以下のようなことが重要になってくるのではないかと。

・ディープラーニングの特徴(それぞれの手法はどんな特徴があるのか)
・それぞれの手法のアルゴリズム(数式を覚えるのではなく、何が行われているか)
・何に使用されているのか(有名なもののみ)

ディープラーニングは様々な手法があるので、この三つだけでも非常に大変です。

しかし、学習を進めていると有名なものは、何度も出てくるので覚えられるようになります。

後は、新しい技術を知っているかどうかになりますが、シラバスに載っているものを押さえておけば問題ないかと。

次回は「ディープラーニングの概要」の「学習の最適化」に触れていきたいと思います。

覚える内容が多いですが、りけーこっとんも頑張ります!

ではまた~

続きは以下のページからどうぞ!

コメント

タイトルとURLをコピーしました