機械学習とは
機械学習とは、コンピュータが大量のデータを学習することで、データのルールやパターンを抽出する技術です。また機械学習では、得られた結果をもとに分類や予測などのタスクを遂行するアルゴリズムやモデルを自動で構築できます。
例
STEP1 機械に「猫」を分類できるよう学習させる。(ルールやパターンの抽出)
STEP2 機械に「猫」と「犬」の写真を読み込ませる。(入力)
STEP3 「猫」の写真だけ選ぶ。(出力)
機械学習は、AI(人工知能)におけるデータ分析技術の中核を担っており、ディープラーニングは機械学習の代表的な手法として知られています。
ディープラーニングとは、ニューラルネットワークと呼ばれる脳の神経回路の一部を模した数理モデルを多層に結合して学習能力を高めた機械学習の手法です。
ディープラーニングは複雑な非構造データにも対応可能で、AIを構成するアルゴリズムとして、もっともよく用いられている手法です。
関係として、機械学習の1つとしてニューラルネットワークが存在し、さらに、ニューラルネットワークのアルゴリズムの1つとしてディープラーニングが存在します。
機械学習の学習手法
機械学習は、主に「教師なし学習」「教師あり学習」「強化学習」の3種類の枠組みに分けて考えることができます。
教師あり学習
学習データとして入力とその正しい出力が与えられ、ある入力を受けると正しい出力ができるよう学習させるアルゴリズムです。教師あり学習の代表的タスクは「識別」と「回帰」です。
たとえば、売り上げや株価、降水量の予測などを行う処理がここに該当します。
つまり、「教師あり学習」とは、入力データを正解データを参照して識別し、その学習データをもとに回帰を行うことを言います。
この正解データを作成する作業を「アノテーション」と言い、教師あり学習において、重要な役割を果たします。
教師なし学習
教師あり学習が、「正解」の用意されたデータをもとに学習するのに対し、「正解」データを与えず行うアルゴリズムが「教師なし学習」です。
教師なし学習では、大量のデータを与え、アルゴリズム自身がそのデータを探索することで、データの構造やパターンなどを抽出したり、データを分類します。
代表的なタスクにクラスタリングがあります。
強化学習
「強化学習」は、教師なし学習と同じく「正解」データは与えられませんが、データの出力を価値づけし、その価値を最大化するための行動をとるようにアルゴリズムを最適化します。望ましい出力結果に対し報酬を与え、コンピュータに良い出力を学習させます。
たとえば、株式の売買でもっとも利益を出すためにはどのタイミングで売るべきか、ゲームでもっとも高いスコアを出すためにはどうするか、などの判断処理が強化学習に該当します。
現在では、AlphaGoに代表されるようなゲームに多く利用されています。
機械学習の仕組み
機械学習を最大限に動かすために、さまざまなアルゴリズムが現在まで開発されてきました。今回は、そのなかで主要な方法である
- 「ニューラルネットワーク」
- 「二アレストネイバー法」
- 「決定木・ランダムフォレスト」
- 「サポートベクターマシン」
の4種類を解説します。
ニューラルネットワーク
現在、機械学習でもっとも用いられている手法が、ニューラルネットワークです。
ニューラルネットワークは複数の「パーセプトロン」から構成されています。
まず、入力層にデータを入力し、そのデータを認識をするための指標である*特徴量 を入力します。その入力に対し、神経細胞間の接続強度に相当する重み w1 w2‥を掛けたものを、出力層のニューロンに入力します。
出力層のニューロンは、この入力を足し合わせたものを**活性化関数に通し、最終的な結果を出力します。この入力から出力までの一連の流れが「パーセプトロン」です。
ニューラルネットワークは、入力層と出力層のほかに隠れ層を持たせることで、より複雑な分析を可能にしています。
*学習データにどのような特徴があるかを数値化したもの
**ニューラルネットワークにおいて、線形変換をした後に適用する、非線形関数もしくは恒等関数
ニアレストネイバー法(最近傍法)
ニアレストネイバー法とは、求めたい要素からもっとも近い既存データが属する集団に分類する、機械学習のアルゴリズムの1つです。
たとえば、上図の赤い四角を◯か×に分類します。赤い四角から各要素までの距離をすべて計算すると、もっとも近い要素は◯です。ゆえに、この赤い四角は◯であると判断する手法です。
しかし、すべての要素までの距離を計算しなければならないため、データ量が大きくなるにつれ、膨大な数の計算が必要となります。そのため、計算機の性能により、データ量が制限されてしまう欠点があります。
決定木・ランダムフォレスト
決定木とは、データから”木”構造の予測モデルを作る、機械学習のアルゴリズムの1つです。
上図において、赤い四角を縦線の境界線で◯か×に分類する際、どこが一番正答率が高くなるか繰り返し設定を行います。しかし、縦線だけでは×がひとつ間違えているため、次に横線で分類します。このような切り分けを繰り返して分類する方法が決定木です。
しかし、決定木は、未知のデータに対して適合できない、汎化できない過学習を引き起こし、容易に判別を間違える可能性があります。
たとえば、以下の図のように、実際には×の方が正しい状況である確率が高い場合でも、決定木は◯を示す場合が存在します。
この問題を解決するために、決定木のアルゴリズムにランダム性を持たせる「ランダムフォレスト」があります。
データの一部をランダムに間引き、一部だけで決定木を複数作る、もしくは、線の引き方にランダム性を持たせ決定木を複数作ります。その後、この複数作成した決定木で多数決をとり、判別をする方法です。
現在では、センサーデータなどで広く用いられています。
サポートベクターマシン
サポートベクターマシンとは、2つのグループ間の最も距離の離れた箇所(最大マージン)を見つけ出し、その真ん中に識別の線を引き分別させる、機械学習のアルゴリズムの1つです。
上の図においては、◯と×の間の境界線を、両者からの距離がもっとも近くなるように設定し、赤い四角を×と判別します。
機械学習の現場での活用事例
機械学習は、さまざまな場面で実際に使われています。
ここでは、機械学習のイメージをより明確にするために、機械学習が活用されている事例についてご紹介します。
チャットボット
NTTドコモが開発した『Repl-AI』は、自然言語処理技術を使った問い合わせに対応するチャットボットです。ユーザーからの問い合わせを仕分けしオペレーターに引き渡す、もしくはチャットで直接回答することで、効率的な業務遂行を実現しています。
予測技術
株式会社アラヤは、4Kカメラを用いた河川の監視カメラ画像から河川の水位を推定するAIモデルを構築し、誤差±3.6cmでの推測を実現した、と発表した。一般的に、高精度なAIを構築するためには、さまざまな水位の画像が必要になる。しかし、本実証実験ではデータ取得期間が短く天候変動が乏しかったので、水位のバリエーションが少なかった。そのため、実写画像をベースにしてさまざまな水位の状態を再現したCG画像を制作してデータを増強し、高精度なAIモデル構築を実現した。
画像認識
RT unpotedanslacom "Les personnages Harry Potter en mode @Pixar ?
Via l’application Toonme. pic.twitter.com/ELVlHTSGNe"
— demoniak nico (@demoniaknico) January 14, 2021
「ToonMe」は写真に写った人物を『トイ・ストーリー』シリーズや『ファインディング・ニモ』シリーズなどで知られる、ピクサー・アニメーション・スタジオのキャラクター風に変換できるアプリである。AIが写真に写る顔を認識し、自動的にアニメ風に加工する。国内外のSNS上で「#ToonMe」といったハッシュタグでユーザーたちが投稿し、話題を呼んでいる。
機械学習を習得する
機械学習は、AI(人工知能)における技術の中核をなします。そのため、AI(人工知能)を知るためには、まずは機械学習を理解することが必要です。
Pythonは、オンライン講座を活用することで、独学で学ぶことも可能です。Pythonの学習方法については、以下の記事で詳しく紹介しています。
機械学習についての知識は、ビジネスインパクトを生み出すチャンスになります。この機会に機械学習について学んでみてはいかがでしょうか。