機械学習や深層学習は、教育支援分野から発達し、ソーシャルメディア、製造業など、さまざまな分野で応用されようとしている。ここでは、ビッグデータにおける深層学習、機械学習の位置付けや課題点を整理する。
そもそも機械学習は、コンピュータが自動的にパターンを学習し、データから推論を行う能力である。この技術によって、大規模かつ多次元のデータから、自動的かつスケーラブルに、さまざまなインサイトを収集できるようになった。図2は「クラウドセキュリティアライアンス(CSA)」のビッグデータワーキンググループ(BDWG)がまとめた「ビッグデータの分類」(2014年9月)より、機械学習アルゴリズムの分類を示している(関連PDF)。
機械学習アルゴリズムとしては、人手によって入力データを与えられた目標値あるいはクラスラベルにマッピングする「教師あり学習(Supervised)」と、人手を介さず自動的に入力データの隠された構造を学習する「教師なし学習(Unsupervised)」がある。前者の代表例が、「回帰(Regression)」や「分類(Classification)」であり、後者の代表例が「クラスタリング(Clustering)」や「次元削減(Dimensionality reduction)」である。ニューラルネットワークは「分類」に含まれる。
さらに、少量のラベリングされたデータを使用して、大規模のラベリングされていないデータセットに融合させ、適切な学習アルゴリズムに近づける「半教師あり学習(Semi-supervised)」や、一定期間に最大の報酬をもたらす行動を取るように、観察と行動の間のマッピング関数を学習して最適化を図る「強化学習(Re-enforcement)」がある。
そして、ビッグデータの場合、これらの機械学習アルゴリズムを、時系列データ、ストリーミングデータ、シーケンスデータ、グラフデータ、空間データ、マルチメディアデータなど、さまざまな種類のデータに適用させることが必要となる。元々教育分野から生まれた機械学習とデータのマッピングに関するユースケースが、さまざまな業種・業界に応用されて広がりつつある。
機械学習アルゴリズムをビッグデータに適用拡大させる場合、対象となるビッグデータの相互運用性が確保されていることが前提条件となる。本連載の第21回で取り上げた、国立標準研究所(NIST)の「ビッグデータ相互運用性フレームワーク・バージョン1.0」の最終版(2015年9月)では、「NIST SP 1500-3 -- Volume 3:Use Case & Requirements」に、深層学習のビッグデータ適用に関するユースケースが掲載されている。
このユースケースを提供したのは、当時スタンフォード大学の研究者だったアダム・コーツ氏である。想定されているプレイヤーは、自動運転車の運転、音声認識、自然言語処理のような最先端のコンピュータービジョン開発を支援するために、大容量のデータと複雑な予測業務に取組む、機械学習の研究者や専門家だ。
彼らの目標は、大規模(1テラバイト以上)の集積データ(画像、動画、音声、テキストなど)から、深層ニューラルネットワークのトレーニングを行うために、深層学習アルゴリズムで処理することが可能なデータセットの規模を拡大することである。ユースケースでは、以下のようなシステム環境を利用している。
現在のシステム環境 | 概要 |
---|---|
コンピュータ(システム) | 高速に相互接続するGPUクラスタ(例:インフィニバンド40gE) |
ストレージ | 100TB Lustreファイルシステム |
ネットワーク | HPCクラスタ内のインフィニバンド、外部インフラストラクチャ向け1GbE(例:Web、Lustre) |
ソフトウェア | Stanford CS. C++/Pythonソースで開発された内蔵GPUカーネルとMPIベースの通信 |
Copyright © ITmedia, Inc. All Rights Reserved.