1
/
5

第2回:画像でないデータを画像として処理する

AI技術チームの石川です。今回は、我々が発表した論文で使ったアイディアの一つである、「画像でないデータを画像として扱う」ことで画像分析用の手法を活用するという考え方について紹介したいと思います。画像認識や画像処理のために開発された手法やツールを活用することで、画像でないデータの分析を簡単に、高精度に行うことができる場合があります。ビジネスにおいては、以下のような場面で活用できる可能性があります。

  • 製造業、商業、公共交通機関等での音声による異常検知
  • 時系列の金融データ分析

画像データとCNN

画像認識はAI・機械学習の代表的なタスクのひとつであり、幅広く研究されています。ディープラーニングが注目されるきっかけの一つとなった画像認識コンペティションILSVRCはImageNetという大規模な写真データセットの分類精度を競うものでした。

ディープラーニングによる画像認識において、優れた性能を達成可能で広く活用されているのが畳み込みニューラルネットワーク (CNN) です。ニューラルネットワークでは入力データの値を組み合わせて出力データを計算する、層と呼ばれる計算単位を複数回適用することで最終的なモデルの出力値 (分類問題であればどの分類になるかを表す確率分布) を計算します。それぞれの層の出力を計算する際には、全ての入力データを使う方法もありますが (全結合層)、入力データの配置の中で近い部分のみを利用して出力を計算する方法もあります。これは畳み込み層と呼ばれるもので、畳み込み層を含むニューラルネットワークがCNNです。画像データに対する畳み込み層の計算概要を以下に示します。


ILSVRC で初めて人間の認識能力を超えたモデルもCNNによるものでした[1]。最近では、CNNに代わる画像認識手法も提案され始めています。例えば、自然言語処理で使われているTransformerと呼ばれるモデルを画像認識に活用する手法が注目されていますが[2]、画像に対してどのようなタスクでどの程度優位かは自明ではなく、画像認識においてCNNに全面的に取って代わるには至っていません。

画像以外のデータへのCNNの活用

CNNの活用をはじめとして、画像データの分析手法は研究が進んでいますが、画像データ分析のために開発された手法は純粋な画像データ以外にも適用可能な場合があります。写真、手書き文字、絵のような典型的な画像データは多くの場合、2次元ないし3次元の数値の配列として取り扱われます。2次元配列の場合は2つの次元とも空間を表すのが一般的で、空間とは別の属性を持つ場合、例えばカラー画像のように色という属性を持つ場合にはその次元を追加して3次元として扱います。したがって、多くの画像分析の手法は、2次元ないし3次元の配列を入力としています。そのような手法に対して画像でない2次元ないし3次元配列を入力しても数学的には問題なく計算可能で、場合によっては意味のある結果が得られます。

そのような例の一つが、CNNの音声データへの適用です[3]。音声は空気等の媒質の振動ですので、音声データは時系列データであり、当然ですが画像ではありません。しかし、音声データを、時間と周波数という2つの軸を用いて表現すると、画像と同じく2次元配列を構成することができます。このように音声を2次元上に表現したものはスペクトログラムと呼ばれます。スペクトログラムがどのようなものかについては、本記事の後半で実例を示していますので、そちらもご参照ください。また、Wikipedia のスペクトログラムの記事では、バイオリンの音色のスペクトログラム例が示されています。2次元配列であるスペクトログラムは、CNNの入力データとして使うことができます。

CNNに入力可能であったとしても、意味のある処理となるかどうか疑問に思われるかもしれません。そこで、CNNのアイディアに立ち戻って考えてみましょう。CNNは畳み込み層により「配置が近いデータを組み合わせて出力を作成する」ことがポイントなのでした。通常の画像では、データ構造における配置が近いことは空間的に近いことを意味し、畳み込み層により空間的なパターンを抽出することができます。スペクトログラムの場合は、データ構造における配置が近いとは、周波数や時間が近いことを示します。そのため、畳み込み層では周波数や時間変化においてパターンを抽出する役割をすることが期待されます。

CNNを音声データに適用した研究の例として、コウモリの鳴き声からコウモリの種類を判定するモデルがあります[4]。この研究では、画像認識用に開発されたCNNモデルをスペクトログラムに適用することで高い精度での音声認識に成功しています。この手法は音声データの分類に対して幅広く適用可能なため、工場等の生産現場、不特定多数の人が訪れる商業施設や公共のスペースにおける音声による異常検知に応用できる可能性があります。

音声データ以外にも、コンピュータ上のファイルのバイナリ配列を2次元配列に変換し、CNNでマルウェアを検出するという研究も行われています[5]。マルウェアの場合、通常のファイルとは違ったデータ構造のパターンがあることが知られており、CNNでそのパターンを認識することでマルウェアの検出が可能となっています。この研究でもやはり、ImageNet用に作成された画像認識モデルを利用することで高い性能を達成しています。

他にも、マーケット情報等の時系列の金融データを予測するのにCNNを利用する手法が提案されています[6]。この研究では、時系列データをウェーブレット変換することでスペクトログラムを作成し、未来の株価等が上昇するのか下降するのかを予測するモデルを作成しています。

宇宙観測データの分類への応用

我々が今年発表した論文では、宇宙観測データを分類するタスクにおいて、スペクトログラムを画像とみなしてCNNを利用しました。この論文でのタスクを簡単に説明しますと、太陽の爆発現象であるフレアのX線観測データの中から、太陽の外縁部付近で発生し、一部が隠れているものを検出するというものです。このようなデータは科学的に特に重要ですが、これまでは目視で判定されていました。論文で開発したモデルを利用することで、自動化が可能になります。研究の詳細は、私のもう一つの所属である立教大学から発表した最新研究紹介をご覧ください。

この論文で利用したデータは音声データではなく、スペクトログラムは周波数-時間の2次元ではなくエネルギー-時間の2次元を利用しています。このデータもやはり写真のような画像データではありませんが、2次元配列上に現れるパターンが情報を持っているという点は音声データの例やマルウェアの例と同じです。我々もImageNet用に開発された画像認識モデルを利用して、高い分類精度を達成しました。

以下に、この研究で利用したデータの例を示します。2つのデータはともに横軸が時間、縦軸がエネルギーで、それぞれ別の分類となる例です。人間が目で見てこれらを識別することは困難ですが、CNNモデルではこのようなスペクトログラムを適切に分類することができています。


この研究で利用した画像認識モデルは、そのまま使ってもこのタスクに対応する出力は得られないため、このタスクに対応する出力を得るために層を追加するとともに、対象としたデータを利用してモデルを再学習させました。このような方法はファインチューニングと呼ばれ、あるドメインで学習されたモデルを別のドメインに適用する場合によく使われます。本研究も含め、画像でないデータをCNNで分析する際には、画像データで学習されたモデルを利用し、ファインチューニングすることで高い精度を達成することができることがあります。

上記に示したスペクトログラムに対し、カラー写真に何が写っているかを認識するためのモデルが有効であるということは、直感的には理解が難しいことです。さらに、モデルが同一であっても、ゼロから学習させるよりも、ImageNetで学習済の状態からファインチューニングする方が高い精度が出ることも確認しています。これは、一見全く違うタスクのように思われる画像認識とスペクトログラムの分類で、パターン認識の基礎的な部分においては類似した処理が有効ということが示唆されると考えられます。

今回ご紹介した例のように、データの形式を変換することで利用可能な手法の幅を広げられる可能性があります。特に、画像データのような手法開発が進んでいる分野のデータ形式に変換することで、データ分析の見通しが一気に立てやすくなることがあります。

次回の技術発信は9月の予定です。

参考文献

[1] Z. He et al. 2015, “Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification,” arXiv:1502.01852 https://arxiv.org/abs/1502.01852
[2] A. Dosovitskiy et al. 2020, “An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale,” arXiv:2010.11929 https://arxiv.org/abs/2010.11929
[3] H. Purwins et al. 2019, “Deep Learning for Audio Signal Processing,” IEEE J. Sel. Topics Signal Process, 13, p. 206, arXiv:1905.00078 https://arxiv.org/abs/1905.00078
[4] 増田圭祐 「CNN を用いたコウモリの種判別システムの開発と応用」大阪大学 修士論文 (2017) http://www.see.eng.osaka-u.ac.jp/seege/seege/material/2017/masuda.pdf
[5] A. Bensaoud, N. Abudawaood and J. Kalita 2020, “Classifying Malware Images with Convolutional Neural Network Models,” Int. J. Netw. Secur. 22, 6, p. 1022, arXiv:2010.16108 https://arxiv.org/abs/2010.16108
[6] B. Du, D. Fernandez-Reyes and P. Barucca 2020, “Image Processing Tools for Financial Time Series Classification,” arXiv:2008.06042 https://arxiv.org/abs/2008.06042

関連情報

豆蔵コンサルタントが開発した、深層学習による宇宙観測データの分析手法が学術論文誌に掲載

※転載元の情報は上記執筆時点の情報です。
 上記執筆後に転載元の情報が修正されることがあります。


第2回:画像でないデータを画像として処理する
AI技術チームによる技術発信 AI技術チームの石川です。今回は、 我々が発表した論文 ...
https://www.mamezou.com/techinfo/ai_machinelearning_rpa/ai_tech_team/2
株式会社豆蔵では一緒に働く仲間を募集しています
今週のランキング