機械学習における教師なし学習とは?ディープラーニングとの関係と応用
機械学習は、コンピューターが読み込んだデータをもとに学習し、結果を予測したり、データを分類したりする技術のことです。また、「教師なし 学習 ディープラーニング」とは、正解のないデータからも予測などができる、機械学習のアルゴリズムを意味します。この記事では、機械学習の手法やディープラーニングの活用例などについて解説するので、ぜひ参考にしてください。
ディープラーニングの開発基盤をお探しの方は、無料体験もございますのでお気軽にお試しください。
目次
機械学習とは?
機械学習とは、コンピューターに学習する能力を与える手法です。データを読み込ませ、目的に応じたアルゴリズムで分析をさせて活用します。反復学習によって、データの規則性や特徴を見出だせるようになり、新しいデータの予測や分析が可能です。
教師あり学習とは?
教師あり学習とは、入力データに対して、どのような正解を導き出すのかを学習させる手法です。つまり、入力データとそれに対する正解を組み合わせたデータセットを、コンピューターに読み込ませる仕組みです。
機械は正解を導き出すためのルールを学習し、さらに新たなデータにも対応できます。教師あり学習の代表的な手法には、「回帰」と「分類」の2種類があります。以下で説明します。
回帰(Regression)
「回帰」は、数値や実数の予測に用いられるものです。連続する数値や過去のデータなどから、関係性や傾向を学習し、未知の結果を予測します。例えば、前年の同月と前月の売り上げに加え、売り上げに影響し得る指標を学習させます。それらのデータをもとに、今月の売り上げを予測し、企業の事業戦略に活用する方法があります。ほかにも、サーバーの記録を学習させて、異常も検知できます。
分類(Classification)
「分類」は、カテゴリやクラスの判別に用いられるものです。過去のデータからカテゴリのわけ方を学習し、未知のデータが、どのカテゴリに分類されるのかを判別します。例えば、迷惑メールと迷惑メールでないものにわけたデータを学習させると、新しく受信するメールが、どちらに分類されるのかを判別できるようになります。
ほかにも、動物の情報を教えるモデル作りでは、入力する画像データに対して、Aの画像は「プードル」、Bの画像は「ビーグル」と学習させると、分類ができるようになります。
教師なし学習とは?
教師なし学習は、教師あり学習とは異なり、機械に正解を与えずに学習させる手法です。機械に入力データだけを読み込ませると、機械は自力でデータの規則性や特徴を見つけ出し、共通項や頻出性を基準にして分けます。
実際の開発現場では、正解ラベルを付けられないケースもあり、そのような課題には教師なし学習の手法が活用されます。教師なし学習の手法には、「クラスタリング(Clustering) 」を含めて4種類あるのが特徴です。次で、それぞれ詳しく説明します。
クラスタリング(Clustering)
クラスタリングの「クラスタ」は集団や群れという意味で、未知のデータを、特徴が似ているものに分類し、グループ化する手法のことです。例えば、この手法はダイレクトメール配布に活用ができます。
具体的には、年齢、性別、居住地、購入履歴などのデータにおいて、クリスタリングをします。それらをグループにわけて、それぞれのニーズに応じたDMを配布します。
分類とクラスタリングの違い
分類とクラスタリングとの違いは、学習データにあらかじめ答えがあるかどうかです。分類には、未知のデータがどのグループに属するのか、あらかじめ答えがあります。一方で、クラスタリングは、未知のデータから、それぞれの特徴を学習し、類似性をもとに、データのグループわけをします。受信メールを例にすると、答えがあるデータをもとに、文章の特徴からどのグループに該当するのかを予測するのが「分類」、答えがないデータから文章の特徴を学習し、特徴の類似性でメールのグループわけをするのが「クラスタリング」です。
主成分分析
主成分分析は、データが持つ、さまざまな要素をまとめたり、データの量を減らしたりすることで、「特徴=主成分」を抽出する分析手法のことです。例えば、国語や算数、理科などの教科の成績をもとに、理系能力と文系能力の主成分を抽出し、どちらが高いのかを判定できます。
ほかにも、体重と身長から、肥満度を測るためのBMIを導出するなど、人間のさまざまな情報から、目的となる情報を抽出するのも、主成分分析に該当します。
自己組織化マップ(SOM)
自己組織化マップ(Self Organizing Maps)は、人間の脳の仕組みをモデル化した手法です。さまざまなデータを入力し続けることで、徐々に類似性の高い集団ができます。そして類似度によって、マップ上の距離によりデータを配置し、データを視覚的に理解できるようにします。自己組織化マップは、交通事故の発生を予測する際にも活用できます。
具体的には、交通量や速度、渋滞の度合いなどの車両情報や、雨量や風速といった気象情報などをもとに予測します。
ベクトル量子化
ベクトル量子化とは、複数のデータをまとめて符号化する手法で、主に音声信号や画像の圧縮に活用します。ベクトル量子化は、ベクトルの次元を増やすと、少ない符号長での量子化が可能になります。
しかし、次元が増えると、計算量が増えてしまう特徴があります。それを解決する手段として、「Linde-Buzo-Gray法」や「TwinVQ」などが提案されています。
強化学習とは?
強化学習とは、機械が試行錯誤しながら、どの方法をとると最大の報酬や価値が得られるのかを判断する手法です。どのように行動すれば、最大の報酬を得られるのか、機械が自ら考えて行動するのが特徴です。
例えば、機械に対して、ゲームに勝ったり、株の売買で利益を出したりといった、達成させたいゴールを設定します。機械が行動した結果に対して、報酬や罰を与えるのも強化学習の仕組みのひとつです。
実用例:アルファ碁(AlphaGo)
強化学習の実用例として、「アルファ碁(AlphaGo)」があります。アルファ碁とは、人工知能を活用した、コンピューター囲碁プログラムです。大量の棋譜データを機械に読み込ませて、コンピューター同士を戦わせて学習させます。
そして、勝ったほうに報酬を与えると、最大の報酬を得られる方法をコンピューター自身が見つけ出します。実際に、アルファ碁は短い期間でたくさんのことを学習し、2016年には、世界最強の棋士に勝った実績があります。
ディープラーニングとは?
ディープラーニングは機械学習のひとつで、深層学習を意味します。データが持つ規則性や傾向、特徴を、機械が自動的に見つけて学習します。また、教師あり学習、教師なし学習、強化学習のすべてに適用できることが特徴的です。
多層構造による学習で、高い認識精度を実現したことで、人間の認識精度を上回る場合もあります。この技術は、人間の脳の仕組みを模したシステム、「ニューラルネットワーク」がもとになっています。
ニューラルネットワークによる学習
ニューラルネットワークは、人間の神経細胞「ニューロン」の仕組みを参考につくられ、入力層、隠れ層、出力層で構成されています。入力層で外部からデータを読み込み、隠れ層でデータの特徴を学習します。最後に出力層から、分析結果を出すという仕組みです。
隠れ層を多層化させることで、複雑なデータであっても学習ができます。実際に、ディープラーニングは、100以上もの隠れ層を持つ場合もあるのです。
ディープラーニングの活用例
ディープラーニングは、先述のとおり、人間の認識能力を上回るレベルにあります。人間が認識できないことを、読み取って判断する仕組みを、実際に活用している例を紹介します。
音声認識
音声認識とは、人間が発する言葉を、機械が認識する技術です。人間の声に反応して学習する「スマートスピーカー」や、iPhoneに搭載されている音声を、文字に変換する「Siri」などが音声認識に該当します。
ほかにも、発言した人と内容を自動的に議事録に残す「Gridspace」というサービスなど、さまざまな新しいサービスが生まれています。
画像認識
画像認識は、画像や動画などのデータを読み込んで、それらの情報を学習し、目的物を認識、検出する技術です。自動運転において、標識や信号機の認識、歩行者の検知に活用されています。また、防犯カメラの顔認識は、犯罪を防ぐためにも使われています。
異常検知
異常検知は、読み込んだデータのなかから、他のデータとは異なるデータを識別する技術です。クレジットカードの不正利用防止や、製造現場においては、過去の故障データによる不良品の検知に活用されています。さらに、Webサービスへの不正アクセスの検知にも役立っています。
まとめ
機械学習には、さまざまな種類があるため、目的にあわせて使いわける必要があります。機械学習のひとつであるディープラーニングによる開発には、ツールを活用すると効率的です。
ソニーが開発した「Neural Network Console」は、プログラミングの知識がなくてもディープラーニングを使った高度なAIを開発できます。学習の進捗状況や性能もリアルタイムで確認できるので安心です。まずは無料で実際の機能を体験してみてください。