AI(Artificial Intelligence:アーティフィシャル・インテリジェンス)、深層学習(Deep Learning:ディープラーニング)、機械学習(Machine Learning:マシンラーニング)。いずれも、AIが盛んに取り上げられている現代ビジネスにおいて頻繁に耳にするキーワードです。これらを混同してしまい、それぞれの違いを明確に理解していない方も多いかもしれません。
本記事でご紹介するのは、機械学習とは何か?についてです。AIや深層学習との違い、さらには機械学習の分類について解説していきます。
機械学習(Machine Learning:マシンラーニング)とは?
機械学習とは、AIを構成する要素技術の1つです。AIには複雑なものからシンプルなものまで、多種多様に存在しており、機械学習はその中でもシンプルな要素技術に位置付けられており、多くの企業やエンジニアにとって取り組みやすいものとなります。一般的には、次のような特徴を持ちます。
- 膨大なデータからルールやパターンを発見する
- ルールやパターンに基づいて識別や予測を行う
- 従来よりも分析精度を高められる可能性がある
この機械学習において最も使われており親和性が高いプログラミング言語が「Python(パイソン)」です。Pythonが人気を集めている理由は、そのシンプルさと使い勝手の良さにあり、誰が記述しても整合性の高いソースコードを作成できるのが大きな利点です。このためコミュニティによるソースコードの共有も活発であり、なおかつ初等教育でも採り入れられるほどのシンプルさがあります。
また、Pythonには機械学習のプログラミングを効率化してくれるライブラリ(特定の機能を実装できるプログラムの参考)が充実しているため、多くの機械学習技術者が採用しています。
機械学習3つの分類
機械学習は使用するデータや、分析するタイプによって「教師あり学習」「教師なし学習」そして「強化学習」の3つに分類されています。
教師あり学習
この学習方法は、正解となる膨大なデータを学習することで、新しいデータの予測や識別にも対応できるものです。まずは、正解が分かっているデータ(タグ付きのデータ)を大量に読み込ませた上で、コンピューター自身にそのデータのルールやパターンを学習させます。
例えば犬の画像データを大量に読み込む際に、各画像データに「これは犬だ」という正解を付けます。コンピューターは正解が付けられたデータから犬の特徴を繰り返し学習し、次第に正解が付けられていない犬の画像データを読み取った際に、それが犬だと判断できるようになります。
教師なし学習
一方、教師なし学習では、コンピューターに読み込ませる大量のデータに正解を付けません。このため、犬の画像データを読み込んでも、いつになってもこれは犬だとは判断できないわけです。しかし、コンピューターは読み込んだデータの構造や特徴を自ら分析します。
分析した上でグループ分けやデータの簡略化を行うことで、特定のルールに従ったクラスタリング(集団分け)が行えます。具体的な活用例としては、過去の膨大なデータから将来の事象を予測する際などに使われます。
強化学習
強化学習では一風変わり、行動の戦略を強化する仕組みを採り入れながら、コンピューターを賢くさせる学習方法です。一連の行動を取った結果ごとに報酬を設定して、その報酬が最大化することを目的にコンピューターが試行錯誤を繰り返し、学習することで判断の精度を上げてきます。
例えばオセロのコンピューターゲームにおいて、CPUプレイヤーは強化学習を繰り返してオセロの勝ち方を学びます。
機械学習と深層学習の違い
機械学習と混同されがちなのが深層学習(ディープラーニング)です。まず、深層学習とは機械学習を発展させたものとお考えください。そのため、大量のデータを読み込んで繰り返しコンピューターに学習させる点は機械学習と変わりません。
大きく異なる点は、深層学習の場合、コンピューター自身が学習方法を試行錯誤しながら、大量のデータを読み込んで賢くなっていくことです。要するに、より人間の脳に近い形で学習するコンピューターということです。これを可能にしているのが「ニューラル・ネットワーク」と呼ばれる技術です。
ニューラル・ネットワークは人間の脳神経細胞であるニューロンを模倣して作られています。人間の脳内ニューロンは電気信号として情報を伝達し、その際にニューロン同士を接続するシナプスの繋がりの強さにより、情報の伝わりやすさが異なります。ニュートラル・ネットワークは、この情報伝達プロセスにおける「重み」を機械的な方法で模倣したものです。
さらに、ニューラル・ネットワークは「入力層」「隠れ層」「出力層」にて情報の表現を行うものの、それだけでは単純な情報処理しかできません。そこで、情報の複雑さにも対応できるように層を限りなく増やしたものをディープ・ニューラル・ネットワークと呼び、深層学習は層を増やして複雑さに対応したからこそ、分析精度が飛躍的に向上しました。
深層学習の実例として有名なのが、囲碁AI「Alpha GO」です。囲碁は10の360乗ほどの、天文学的数字の組み合わせがあると言われており、ボードゲームの中でも難易度が最も高いものとして知られています。そのため、AIがプロ棋士に勝利するまでには随分時間がかかると考えられていましたが、深層学習によって精度を強化したAlpha GOが当時の世界トップ棋士を破ったことで話題を集めました。
機械学習を自社ビジネスへ採り入れることは可能か?
結論から言えば、ある程度の技術力と知識があれば可能です。ただし、重要なのは機械学習を利用して何を実現したいか?を明確にすることです。例えば、機械学習によって業務効率を高めたいというニーズがあるのならば、ゼロから開発せずとも、業務効率アップを目的として機械学習サービスが多数提供されています。
たとえばMicrosoftのPower Automate(パワー・オートメート)はその1つで、パソコン上の業務効率を大幅にアップさせるRPA(Robotic Process Automation:ロボティック・プロセス・オートメーション)の機能に加えて、機械学習AIを採り入れることができます。また、Azureで提供されるAzure Machine Learningを活用すれば機械学習サービスでモデルをよりすばやく構築してデプロイすることが可能になります。
この機会に、自社ビジネスへの機械学習採用を検討してみてはいかがでしょうか・