横浜国立大学理工学部建築都市環境系学科卒
一級鉄筋技能士
機械学習はすでに現代のいたるところに活用されており、「AI(人工知能)」とも言われています。
機械学習には、DeepLearning(ディープラーニング)や強化学習など色々な技術も登場してきたことで、より一層注目が集まってきました。
AIと言っても、人間のように思考できるわけではありません。
いったい機械学習とはどういったもので、どういうことができるのでしょうか?
本記事では機械学習についてまだ知らない方を対象に、できる限りわかりやすく説明していきます。
目次
機械学習とは?
機械学習はwikiでは次のように解説されています。
明示的な指示を用いることなく、その代わりにパターンと推論に依存して、特定の課題を効率的に実行するためにコンピュータシステムが使用するアルゴリズムおよび統計モデルの科学研究である。
簡単にいい直すと
データ(できれば大量)からパターンを機械が見つけ出す技術
と思っていただければ良いと思います。
では、データとはパターンとは?具体的にはどのようなものを指すのでしょうか?
少し具体的に見ていきましょう。
機械学習とは、データからパターンを機械が見つけ出す技術のこと
将来の数値を予測
まずは数値の予測です。
数値は「売上」「価格」など、数値であればなんでもよいです。
今回は、「家の価格」を予測したいと言った場合を想定します。
過去の家の面積と価格のデータがあって、今から購入する家の面積がわかっているときに、価格の参考値を知りたいなというシチュエーションです。
データ:家の面積と価格の値
パターン:家の面積と価格の相関関係
単純に家の面積が大きければ、価格が高いというようなデータなので、機械の力を借りる必要も無い!っと思われたかもしれません。
しかし、機械学習を使えば、家の面積だけでなく、部屋数、土地の面積、住宅メーカー、住所などから家の価格を予測するパターンを見つけ出すことができます。
画像から物体を識別する
次はよくある、写真(画像)からなんの動物かなどを判定するものです。
動物はあくまで例で、魚、車、人なんでも良いです。
データ:猫の写真
パターン:猫の画像の時、猫の判定が1、犬の判定が0となる変換パターン
変換パターンは、数値予測の相関関係のように目に見てわかるものでは無いので、省略しています。
写真は縦×横×色(Red Green Blue)を0-255の数値を持っています。
ですので、値の予測と同じように、数値(写真データ)から数値(猫犬判定)に変換しているので、その変換パターンを機械が見つけてくれます。
今やスマフォ、SNSのおかげで、画像データは大量にあります。
ご自身のスマフォにも大量に保存されていると思います。今や標準機能ですが、その写真を自動でカテゴリごとに分類したり、検索したりすることができるのもこの技術のおかげです。
データのグループ分け
データを取り扱っていると、データを散布図などにプロットすると見た目が明らかに、グループ分けできそうな塊になっていることはないでしょうか?
そのようなデータも機械学習では、機械がグループ分けをします。
例えば、アヤメ(花)の花びらの「幅」「長さ」をプロットした時、点の塊によって品種に分けれそうです。
データ:花びらの長さ幅
パターン:データの塊具合
どうでしょう?
機械学習がしてくれていることが少し理解できたでしょうか?
どのように、機械が学習するかは種類によって違ってきますが、決まった方法がありますので、それぞれ個別に習得していく必要があります。
機械学習の種類
機械学習は一般的に以下のように分けれています。
それぞれ、いろいろなアルゴリズム(方法)がありますが、今回は概要だけ押さえておきましょう。
教師あり学習
教師あり学習は、答えを人が教えてあげて、学習する方法です。
答えをつけることを「ラベル付け」「アノテーション」と言います。
ただ、写真があるだければ、その写真がどういった写真かわかりませんね。
その答えと一緒に学習するのが、教師あり学習という方法です。
各データに答えも一緒につける必要があるので、データを用意するのが大変です。
今では、データが少なくても精度良く学習する方法があります。
教師なし学習
教師なし学習は、答えをつけて学習させるということはしません。
下記のようなデータを見るとプロットの塊があるので、機械がその塊ごとにグループ分け(クラスタリング)します。
強化学習
強化学習は、「経験から学ぶAI」とも言われ、A Iっぽさがあります。
ロボットが何かしら実行すると、現実世界やゲームなどの仮想世界から経験(結果/報酬)が取得できます。
例えば、車の自動運転だとぶつかったり、正常に走ったり、ゲームだとスコアの良し悪し、ゲームオーバーなどです。
これらの経験からロボットは学習して、どんどんより良い結果になるように実行していきます。
機械学習で出来ること
機械学習の技術を使えば、今まで人間でない分からないパターンを発見したり、人間では見つけれないパターンを発見することができます。
人間では見つけれないようなパターンを見つけるので、よくブラックボックスになっていると言われます。
とはいえ、とても便利な技術で、今までもいろいろな便利なアプリケーションが出てきています。
建設業もですが、医療、製造業といろんな分野で活用する動きが活発です。
では、早速どのようなことができるか見ていきましょう。
すでに、動物の判定(画像分類)とかを紹介してあるので、その他よく使われるものを紹介していきます。
迷惑メールの判定
メールの文章はこちらも単語ごとに数値に表すことができます。
ですので、数値(文章)から数値(0 通常/1 迷惑)に変換するパターンを機械が見つけてくれます。
位置検出
物体の位置と種類を検出するAIは、下記のように画像に写っている物体(動物、乗り物、人など)の位置とサイズを検出することができます。
「動物の判定」は画像に何が写っっているか調べるだけで、位置とサイズは検出できないので、こちらの方が便利ですね。
ただ、AIの構造が複雑ですし、ラベル付/アノテーション作業はより大変です。
セマンティックセグメンテーション
セマンティックセグメンテーションは名前だけ聞いてもわからないですが、下記のように、画像のピクセル単位で分類するAIになります。
下記は、馬、人、背景を検出していますが、検出する内容は、癌細胞とそれ以外とか色々な事例があります。
直面している課題がピクセル単位で検出したい場合はこのAIを使うと良いでしょう。
翻訳
翻訳もAIの技術で大きく精度が上がりました。
翻訳では、単語をそれぞれ「私」「は」「猫」「が」…といった感じで分けて、数値化してその変換をします。
この翻訳技術で、言語の壁はなくなりつつありますが、完全になくなっていくのは楽しみですね。
どうでしょう?使えそうなものはあったでしょうか?
ピッタリそのまま使える事例がなくても、習得していくと応用した使い方ができるようになるので、余裕があれば、原理も含めて一つずつ理解していくと良いでしょう。
機械学習を学ぶメリット
機械学習を身に着けると大きなメリットがあります。
・自分でAI機能をアプリケーションに実装できる
・メーカーの高額なAIツールを使う必要がない
・課題解決する方法の選択肢が増える
・メーカーに開発依頼したい場合は、スムーズにやりとりができる
・ツールとして売られていない、新しい最新技術が使える
人材不足の解消に大きな期待
上記のように多くのメリットがある機械学習ですが、人材不足の業界に機械学習は大きなインパクトを与えてくれます。
例えば、大人数で確認しなければ品質が確保できない作業は、機械学習によりカメラ1つで代替できるかもしれません。
また、人材確保が難しい業界においては機械学習を備えたロボットが作業することで生産性が上がる可能性があります。
まとめ
機械学習は使いやすいものになり、ITスキルの1つとなりつつあります。
今後は、機械学習を使用することは当たり前になり、機械学習をどのように活用していくかが大事になってきています。