機械学習 (Machine Learning) とは何か
このポストは、7 月 1 日に Machine Learning Blog に投稿された What is Machine Learning? (著者: John Platt) の翻訳です。
今回は、マイクロソフト リサーチ上級研究員の John Platt の記事をご紹介します。
こんにちは、John Platt です。私は 17 年にわたって、マイクロソフトで機械学習 (Machine Learning) のアルゴリズムの作成と使用について研究してきました。最近では機械学習が非常に広く知られるようになり、「機械学習とは何か? どのような目的に使用されるのか?」というご質問をよくいただくようになりました。
このような質問を受けるということは、マイクロソフトが展開しているさまざまな製品に機械学習の利用が浸透していて、機械学習がマイクロソフトにとって魅力的で影響力のあるものになっているということであり、私はお菓子屋さんに入った子供のように感激しています。
一般に、機械学習ではデータ セットを「モデル」と呼ばれるソフトウェアのパーツに変換します。このモデルはデータ セットの内容を説明するもので、新しいデータがどのようなものになるかを予測するために使用されます。機械学習はさまざまな目的で使用されていますが、ここではその用途を便宜上、次の 3 種類に分類します。
- データマイニング : 大規模なデータベースから有用な情報を得る
- 統計工学 : データをソフトウェアに変換して、不特定のデータに対する意思決定に使用できるようにする
- 人工知能 : 人間の心を模範し、見ること、聞くこと、理解することができるコンピューターを製作する
マイクロソフトでは、上記の 3 点すべてに機械学習を使用しています。ここでは、その例をご紹介します。
マルウェア対策
Microsoft Research と共同で作業を行っているMicrosoft マルウェア プロテクション センターでは、マルウェアを自動的に検知するソフトウェアの作成、およびマルウェアの開発に関する有用な情報を得るための分析に機械学習を使用しています。詳細については、Dennis Batchelder が執筆したブログ記事 (英語) を参照してください。
検索エンジンの構築
マイクロソフトの Bing 検索エンジンは非常に複雑なシステムで、クエリを解釈し、Web 上をスキャンして、ユーザーが必要としている情報を返します。Bing では大規模なトラフィックが発生するため、自然言語の不確実性や曖昧さの処理を行うために意思決定を自動化する必要がありました。高性能な検索エンジンである Bing は多数のコンポーネントで構成され、それが互いに連携して動作していますが、このコンポーネントの作成には機械学習が活用されています。検索で機械学習が有効活用されている場面としては、ランキングがあります。数年前、Microsoft Research のチームは自社開発のアルゴリズムを使用してランキング学習コンテスト (英語) で優勝した実績があります。
画像と音声を認識できるコンピューターの製作
マイクロソフトは、コンピューターの画像認識と音声認識の分野で常にリーダーシップを発揮しています。Kinect (英語) で使用されているユーザーの動きを認識するソフトウェアは、機械学習を使用して作成されました (英語)。マイクロソフトの音声認識システムは、脳の構造から着想を得た機械学習モデルである深層学習 (英語) に基づいています。また、リアルタイム音声翻訳機能 (英語) の作成にも機械学習を使用しています。
このような魅力的なアプリケーションを見ると、今は機械学習にとって飛躍のときであるように思われます。多くの研究者や開発者が何年間もかけて着々と開発を進めてきたうえに、ムーアの法則とインターネットによってラベル付けされたデータや、機械学習を可能にする演算能力が十分に得られ、優秀なソフトウェアを作成できるようになりました。私たちは今後もたくさんのアルゴリズムやツールを開発者の皆様に提供し、優れたアプリケーションを作成するために創造性を発揮するお手伝いをしていきたいと思っています。
次回の投稿では、マイクロソフトがこの 20 年間に機械学習をどのように進化させてきたかについてご紹介する予定です。どうぞお楽しみに!
John Platt
私の研究の詳細については、こちら (英語) をご覧ください。Twitter アカウントのフォローはこちらからお願いします。