機械学習の種類と深層学習(ディープラーニング)の活用事例
皆さん、こんにちは!今日は、前回のお話の続きとして、「機械学習の種類」と「深層学習(ディープラーニング)の活用事例」について話そうと思います。「機械学習とか深層学習って何だ?」という方は、下記の記事をご覧くださいね。
機械学習の種類
機械学習は入力データから学習を行いますが、教師データの種類によって、「教師あり学習」「教師なし学習」「強化学習」というように、大きく3種類に分けられます。教師データとは、「入力値に対する望ましい結果や正解にあたる出力」のことです。
①教師あり学習
教師あり学習(Supervised Learning)は、入力値に対して望ましい出力がされるようなモデルを、正解にあたる教師データを与えて学習を行う手法です。教師あり学習では、教師データとしてラベル付けされている「ラベル付きデータ」を使用します。
教師あり学習は、さらに「分類」「回帰」という2つに分けられます。
1.分類
分類(Classification)とは、入力データが、あらかじめ決められたクラスのどれに属するかを判断する問題です。
2.回帰
回帰(Regression)とは、数値を予測する問題です。分類とは違い、あらかじめ決められたクラスから数値を予測するのではなく、データから数値を予測します。
②教師なし学習
教師なし学習(Unsupervised Learning)とは、正解に相当するラベル付きデータを学習に利用しない手法です。教師なし学習では、ラベル付きデータを利用せずに、データのなかに潜む一定のパターンを見つけ出すことを目指します。つまり、正解に相当する教師データがなくても学習が可能になります。
教師なし学習は、さらに「クラスタリング」「次元削減」という2つに分けられます。
1.クラスタリング
クラスタ(Cluster)とは、集団、群れという意味で、クラスタリング(Clustering)とは、データを特徴が似ている集団ごとに分類し、グループ化することです。クラスタリングと分類の違いとしては、分類ではあらかじめ決められたクラスのどれに属するかを判断するのに対し、クラスタリングではあらかじめ決められたクラスが存在しないということです。クラスタリングにより判明するクラスタは、クラスタリングの結果として特徴が似ている集団ごとに分けられるので、どのように分けられるかは結果を見て人が解釈する必要があります。
2.次元削減
次元削減(dimensionality reduction)とは、データ(情報)を高次元から低次元に圧縮する処理です。高次元のデータのままでは、処理する際にメモリが不足したり、膨大な計算時間がかかったりしますが、そのような状況への対応策となります。
次元削減には、「主成分分析」「自己組織化マップ」「ベクトル量子化」などがあります。
2-1.主成分分析
主成分分析(PCA:Principal Component Analysis)とは、データのなかから各要素ごとにまとめたり、データの量を減らしたりすることで、特徴(主成分)を分析して抽出する手法です。特徴を抽出することで、次元を削減することができます。
2-2.自己組織化マップ
自己組織化マップ(SOM:Self-Organizing Map)とは、人間の脳内の仕組みをモデル化(自己組織化モデル)したもので、高次元データを低次元、特に2次元平面上へ非線形写像する手法です。この手法も、高次元から低次元へと次元削減が可能です。
2-3.ベクトル量子化
ベクトル量子化(VQ:Vector Quantization)とは、(ベクトルとして扱われた)複数のデータをまとめて符号化する手法です。ベクトルデータの次数を落とす手法という意味で、音声信号や画像の圧縮で利用されます。
③強化学習
強化学習(Reinforcement Learning)とは、行動することで報酬(Reward)が与えられる環境を用意して、環境のなかの各状態でどのような行動を取れば最大報酬が得られるかを学習する手法です。つまり、各状態での取るべき行動を教えずに、行動した結果に対して報酬を与えることで、取るべき行動を学習させます。
「教師あり学習」「教師なし学習」「強化学習」を簡単にまとめると、下記のようになります。
POINT
【機械学習の種類】
①教師あり学習
:入力値に対して望ましい出力がされるようなモデルを、正解にあたる教師データを与えて学習を行う手法
②教師なし学習
:正解に相当するラベル付きデータを学習に利用しない手法
データのなかに潜む一定のパターンを見つけ出すことを目指す
③強化学習
:行動することで報酬(Reward)が与えられる環境を用意して、環境のなかの各状態でどのような行動を取れば最大報酬が得られるかを学習する手法
深層学習(ディープラーニング)の活用事例
深層学習の活用事例を簡単にご紹介します。代表的なものに、「画像認識」「音声認識」「音声合成」「テキスト処理(自然言語処理)」「翻訳」があります。
画像認識
画像認識の代表例として、顔認識があります。大量の画像データから顔を認識したり、ある人の顔を特定したり(顔認証)します。顔の特徴量(目は鼻の上に2箇所、鼻は口の上に1箇所、のように顔に関する様々な特徴を計算して特徴量とする)を学習して顔らしさを判断し、認識します。顔認識アプリとしては、「SNOW」が有名です。顔を認識することで、画像上で美白にしたり、帽子を被ったりできます。
顔認識以外にも、猫や犬、車や鉛筆などを認識する物体認識(物体検出)という領域もあります。下記サイトが参考になるかなと思います。
音声認識
音声認識の代表例として、人が発する言葉を認識するものがあります。テレビなどで、人の会話を文字情報としてリアルタイムにモニターに表示する技術がこれにあたります。文字起こしなどがそうですね。音声入力アプリでは、「Google アシスタント」が有名です。
音声合成
音声合成の代表例として、初音ミクなどの「ボーカロイド(VOCALOID)」が挙げられます。ボーカロイドとは、ボーカル・アンドロイドからきた造語です。初音ミクは、声優「藤田 咲」さんの音声情報を元に合成されたできたものになります。
テキスト処理(自然言語処理)
テキスト処理(自然言語処理)の代表例として、文章の要約があります。下記サイトでは、簡易的に文章の要約をしてくれます。
翻訳
翻訳の代表例として、「Google 翻訳」があります。日本語から英語、英語から日本語に瞬時に翻訳してくれます。多言語にも対応しています。
「画像認識」「音声認識」「音声合成」「テキスト処理」「翻訳」を簡単にまとめると、下記のようになります。
POINT
【深層学習(ディープラーニング)の活用事例】
画像認識:顔認識(顔認証)、物体認識(物体検出)など
例)SNOW
音声認識:文字起こしなど
例)Google アシスタント
音声合成:ボーカロイドなど
例)初音ミク
テキスト処理(自然言語処理):文章の要約
例)ELYZA
翻訳:日本語から英語、英語から日本語など
例)Google 翻訳
実際に深層学習を体験してみたいと思われたら、物体認識のところでご紹介したサイトにあった「TensorFlow Lite」を試してみるのもいいと思います。TensorFlow Liteは、事前にトレーニングされたモデルなので、活用事例にあったものの簡易版ならすぐに始められるかなと思います。
いかがでしたか?機械学習や深層学習といっても、色々な種類があることがわかりましたね。皆さんは、どの技術を体験してみたいですか?あるいは、すでに体験したことがあったり、日常生活に自然に取り入れていたりしているかもしれませんね。この技術は体験してみたい!とか、この技術はやったことある!などがもしありましたら、そのエピソードなどをぜひコメントにて共有してください!よろしくお願いしますね。
書籍の紹介
機械学習ついて、参考になる書籍をご紹介します。プログラミングの環境構築に始まり、機械学習で使用するPython言語の基礎、機械学習の基礎、Dockerによる仮想環境の構築方法、そして簡単なアプリ開発まで幅広く取り扱っています。
この記事へのコメントお待しています!さらに、フォローもしていただけたら、大変励みになります!よろしくお願いしますね。
文責:nayuta
この記事が気に入ったらサポートをしてみませんか?