機械学習について知っておくべきこと

article in Englisharticle in German

 

この数か月間、人工知能、特に機械学習について、多くの意思決定者と話をする機会がありました。 彼らの多くは、機械学習(ML)の戦略、そしてMLをすでに実装している領域について、投資家から質問を受けたことがあると話していました。このように技術的なトピックが、突如として企業役員の間で取り上げられるようになったのはなぜでしょうか。

コンピューターは、人間に代わってタスクをこなすことを期待されています。 コンピューターに指示をする従来の方法は、手順を「プログラミング」することです。つまり、問題解決のための適切なアルゴリズムを人間がコンピューターに教えるのです。アルゴリズムは、料理のレシピのように手順を詳細に説明するものです。 アルゴリズムによって、多くのタスクを効果的に記述できます。 たとえば、小学校では足し算のアルゴリズムを学習します。 コンピューターは、アルゴリズムを迅速かつ完璧に実行するうえで人間よりもはるかに優れています。

 

ただし、この手順には限界があります。たとえば、猫の写真を識別するにはどうしたらよいでしょうか。 これは簡単そうに思えるタスクですが、アルゴリズムとして構造化することは困難です。 これがどういうことが、考えてみましょう。 たとえば、「足が4本ある」や「目が2つある」といった単純な命令すらも、完璧ではありません。これらの部分が隠れていたり、猫の一部しか写真に移っていなかったりする場合には機能しないためです。さらに、足や目を識別するというタスクも、猫を特定するのと同様に困難です。

このようなタスクで強みを発揮するのが機械学習です。問題を解決するためのアルゴリズムを開発する代わりに、コンピューターは例を使用して自らアルゴリズムを学習します。コンピューターの訓練には、サンプルを使用します。猫を識別する場合は、適切にラベル付けされた多数の猫の写真を使ってシステムを訓練します(教師あり学習)。 これによってアルゴリズムが進化・成熟し、最終的には、初めて見る写真でも猫を識別できるようになります。

実際に、このような状況では、コンピューターは通常、従来のプログラムを学習するよりも、モデル内のパラメータ(たとえばネットワーク内のエッジの重み)を学習します。この原理は、人間の脳で神経細胞(ニューロン)間の接続が順応する学習プロセス(少なくとも人間が理解する限りにおいて)と比較することができます。つまり、コンピューターのプログラムとはちがって、人間にはエッジの重みを持つネットワークを解釈することが事実上不可能です。

 

このように、プログラムよりもモデル内のパラメーターを優先的に学習するというコンピューターの特性を活したディープラーニングと呼ばれる人工ニューラルネットワークの特殊な学習手法が特に成果を上げています。ディープラーニングは、機械学習の一分野です。機械学習は、コンピューターサイエンスの主要研究分野である人工知能の一分野です。. 2012年には、Google社の研究チームが、16,000台のコンピューターを使ったネットワークに対して1,000万のYouTube動画のイメージから猫(及び他のオブジェクトカテゴリ)を識別する訓練に成功しています。 ここで使用された手順はディープラーニングでした。

練習関連の多くの問題は、「足し算」というカテゴリよりも「猫の識別」というカテゴリに分類されるため、人間によって書かれたアルゴリズムでは適切に解決できません。しばしば、データに含まれるパターンの識別が問題になります。たとえば、イメージ内のオブジェクト、言語のテキスト、トランザクションデータの不正行為を認識するといったことです。

簡単な例として、予測的保守について考えてみましょう。多数のセンサーからデータストリームが送られ、たまにマシンが故障することがある場合、故障を引き起こすデータストリームのパターンを学習することが課題となります。 この学習により、正常な動作が行われているときにパターンを特定できるようになるので、潜在的な故障を予測して防止できます。

機械学習の原理は新しいものではありませんが、現在その人気が急速に高まっています。これには主に3つの理由があります。第1に、適用領域と訓練に必要な大量のデータ(「ビッグデータ」)を利用できるようになったことです。第2に、特にクラウドにおいて、高いコンピューティング能力を獲得したことです。 第3に、さまざまなオープンソースプロジェクトによって、ほとんど誰もがアルゴリズムを利用できるようになったことです。

機械学習は、従来のプログラミングを置き換えるものではなく、補完するものです。これまで習得が困難または不可能だった問題の主要カテゴリに、新たに対処できるツールとなります。これによって新しいチャンスがもたらされていますが、既存のシステムも機械学習機能を組み込むようになっています。

パターンに従う繰り返し処理は、その典型的な例です。たとえば、複雑な一連のメニューを介して100の機能を使えるコンピュータープログラムがあり、ユーザーが日常的に使用している機能が数種類だけの場合、コンピューターはユーザーの通常の手順を観察して学習することで、ユーザーの次の操作を予測し、効率を上げることができます。または、データの割り当てと変換(たとえば、データウェアハウスへのデータ投入のためのETLジョブ)では、コンピューターが繰り返しのデータ及びオブジェクトを「学習」することで、多くのステップを自動化して高速化することができます。

その他にも、学生個人向けの学習教材の適切なカスタマイズ(特に「MOOC」と呼ばれる誰でも無料で受講できる大規模なオンラインでの講義)、病気の早期診断、オンラインマーケティングのための適切なターゲットグループ、顧客の解約、データ品質問題の自動識別、出会い系サービスのユーザープロファイルのマッチング等、ほぼ全ての領域で例を挙げることができます。.

高度なツールが使用できるSpark(Hadoopとの組み合わせ)は、機械学習分野におけるビッグデータの主要フレームワークとして確固たる地位を築いています。 このアプローチは、Talendでも追求していますが、(訓練と実稼働での展開の両方について)モデリングジョブによりさらに高いレベルで抽象化されています。 モデリングは複雑さを軽減し、それと同時に基盤技術から一定程度の独立性を実現します。急速に変化を続ける基盤技術には、限られた専門家しかアクセスできないためです。

機械学習の分野では、アルゴリズムの細部を実際に理解する必要があるのは、ごく少数のスペシャリストだけです。一方、MLとは基本的に例からパターンを学習し新しいデータセットでこれらのパターンを使用できることである、というMLの概念を理解することは誰にとっても有益です。最終的には、マシンが処理することで、特に意思決定プロセスによって、自動化できる問題のカテゴリが拡大します。 つまり、コンピューターの学習とは、訓練データから蓄積した知識に基づいて新しいデータに関する決定を下すことです。 また、ビジネスやさまざまな活動で意思決定を自動化することで、機械学習を有用に活用することができます。 また、ビジネスやさまざまな活動で意思決定を自動化することで、機械学習を有用に活用することができます。

機械学習について、ここでは次の点を強調して締めくくりたいと思います。コンピューターは、明確な命令(足し算等)を処理するだけでなく、例から学習(サンプル画像を使った訓練による猫の識別等)する能力を持つようになっています。 どちらの手順が適切かは課題によって異なりますが、 両方の手順を組み合わせる方法は無限にあり、これによってさらなる自動化のチャンスがもたらされます。

著者紹介:Gero Presser博士

Gero Presser博士は、ドイツのドルトムントに拠点を置くQuinScape社の共同設立者であり、マネージングパートナーを務めています。 QuinScape社は、ドイツ市場におけるTalend、Jaspersoft/Spotfire、Kony、及びIntrexxプラットフォームの主要システムインテグレーターであり、100名のスタッフがSME、大規模企業、公共機関を含む厚い顧客層にサービスを提供しています。Gero Presser博士は、人工知能分野の意思決定理論で博士号を取得しました。QuinScape社では、分析と統合に焦点を当ててビジネスインテリジェンス分野の事業開発を担っています。

017b512_1

Share

Leave a comment

コメントを追加

More information?