AI(人工知能)のアルゴリズムと聞くと、非常に難しそうな印象を持ちますよね。
実際、多くのアルゴリズムは確率統計の理論をベースに開発されており、内容を正確に理解するのは難しいです。さらにゼロからプログラミングするとなると高度な知識とスキルが要求されてなかなか手が出ません。
しかし、ご安心ください。
すなわち、アルゴリズムをゼロから開発するのではなく、その使い方の特徴や適性を理解すれば使えるようになってきたのです。
そこで、今回は、主なAI(人工知能)の手法ごとにどんな種類のアルゴリズムがあるのか、その特徴は何か、どんな分野に向いているのかをわかりやすくお伝えします。
今なぜAI(人工知能)は注目されているか
まずは、AI(人工知能)についてお話しましょう。
現にそれらは、囲碁や将棋などのゲームの分野では人間の第一人者を打ち負かし、自動車の自動運転の実現が目前となるなど、社会的に強いインパクトを与える成果を生み出しています。さらには、10~20年後の日本の労働者の約半数はAI(人工知能)やロボットに仕事を奪われてしまうというショッキングなレポートまで発表されるほどですよね。
こうして今、AI(人工知能)実用化がホットなテーマとなっています。
もっと詳しく知りたい方はこちら↓
機械学習とディープラーニングの概要
次に、アルゴリズムのご紹介に入る前に、簡単に機械学習とディープラーニングのイメージを説明しましょう。
まずは、機械学習。
今や、ビッグデータに象徴されるように、世の中のあらゆることを簡単にコンピュータに入力できるようになりつつあり、機械学習も当たり前の手法となりつつあります。
次は、ディープラーニング。
ニューラルネットワークについてもっと詳しく知りたい方はこちら↓
ディープラーニングについてもっと詳しく知りたい方はこちら↓
AI(人工知能)のアルゴリズム
では、いよいよ現在注目を集めている機械学習およびディープラーニングに組み込まれるアルゴリズムをご紹介しましょう。
アルゴリズムはコンピュータに問題を解く手順、計算処理の仕方を指示するものですが、主要なアルゴリズムでも山ほどあり、個別には説明しきれるものではありません。本記事では、アルゴリズムの用途や使い方から、どのように整理できるかを説明します。
機械学習のアルゴリズムとは
機械学習で利用するアルゴリズムは多数あり、その早わかりマップとしてscikit-learn cheat-sheetが有名です。また、同様のマップが、Microsoft Azure Machine Learningのホームページに公開されています。それに基づくと、アルゴリズムによって行われるタスクは以下のように5つのカテゴリに整理されます。
分類
分類と呼ばれる機械学習のタスクには、2つに分ける二値分類と複数のカテゴリに分けるマルチ分類があり、画像に映っている物の名前を見出すのがマルチ分類の例です。
回帰
正解となる数値と入力データの組み合わせで学習し(データのパターンをつかみ)、未知のデータから連続値を予測する。売上予測や天気の気温の予測などを行うタスクです。
クラスタリング(クラスタ分析)
与えられたデータを複数のカテゴリに分類します。クラスタリング(クラスタ分析)は教師なし学習で利用され、データ間の類似性あるいは相違性を見出して分類基準を自動作成。
クラスタリングについてもっと詳しく知りたい方はこちら↓
次元削減(要因分析)
学習する際にはデータの特性をあらわす指標を多数利用しますが、指標の数が多い場合はデータ数の増加につれて場合分けが飛躍的に増えて収拾がつかなくなります。そこで、似たような指標をまとめ上げることを行います。これを次元削減と言います。
異常検出
応用分野がキーとなっておりこれまでの整理とは異なりますが、まず、データを用いてデータの標準的な姿を学習させます。そして新しいデータが標準的な姿から乖離している場合は異常として処理しようとするものです。
機械学習の種類
機械学習は3つの種類に分類され、それぞれによって採用されるアルゴリズムが異なります。※2つとするという考え方もあります
教師あり学習
「教師あり学習」とは、情報とその正しい判断(答え)をセットにしてコンピュータにデータのパターンを掴ませていく機械学習の手法です。そして、データのパターンを掴んだ数式(モデル)を使って、未知のデータがなんであるかをその特徴により見出そうとするものです。
教師なし学習
正解なしに何かをデータから共通する特徴を持つグループを見つけたり、データを特徴づける情報を抽出したりする手法です。
もっと詳しく知りたい方はこちら↓
強化学習
教師データを与えずに、試行錯誤を通じて選択した行動の価値を最大化するように学習を進める方法です。チェスや将棋などのゲームを学習させることに適しています。
ディープラーニングのアルゴリズムとは
次に、ディープラーニングでは画像の中の物体を見つけ出す画像認識や音声データからその発言内容を抽出する自然言語処理などで優れた成果を挙げています。その主要なアルゴリズムは以下のとおり。
CNN(畳み込みニューラルネットワーク)
畳み込み層とプーリング層という構造持ったニューラルネットワークです。畳み込み層で画像の特徴を抽出し、プーリング層で局所的な特徴を画像全体の特徴にまとめます。こうして、画像そのものを覚えるのではなく、画像の特徴のみを抽出して覚えます。
こうすることで画像の位置ずれなどに対応できるようになるのです。
CNNをもっと詳しく知りたい方はこちら↓
ちなみに、2015年以降の最も精度の出ているCNNモデルのほとんどはResNetと呼ばれるモデルに改良を加えて作られていると言っても過言ではありません。ResNetについて詳しく知りたい方はこちら↓
RNN(再帰型ニューラルネットワーク)
音声データは時間と共に変化するデータで時系列データと呼ばれます。この時系列データをうまく扱えるように時間軸方向に結果をフィードバック。こうすることで時間に依存しない特徴を取り出すことができるのです。
もっと詳しく知りたい方はこちら↓
LSTM(Long Short Term Memory)
RNNではちょっと前のデータしかを覚えることができません。このため長時間の時系列データは扱えませんでした。そこで、記憶層を導入することでこの欠点を克服したのがLSTMです。
LSTMについてもっと詳しく知りたい方はこちら↓
AI(人工知能)プラットフォームについて
最後に、AI(人工知能)プラットフォームのお話をしましょう。
機械学習などAI(人工知能)をサービスとして提供するAI(人工知能)プラットフォームが充実してきました。
- GoogoleはGoogle Cloud PlatformでCloud Machine Learningという機械学習サービスを提供しています。
- MicrosoftはAzure Cloud ServicesでMicrosoft Cognitive Servicesという機械学習サービスを提供しています。
- IBMはWatson Developer CloudでAI開発者向けのサービスを提供しています。
- Amazonはスマートスピーカーで先行しており、AWS上でAIサービスを提供しています。
すぐにAI(人工知能)を試してみたい方はこちらを利用してみるのも手でしょう。
まとめ
今回はAI(人工知能)のアルゴリズムを中心についてお話しました。まだまだ難しいと感じられた方もいらっしゃるかもしれません。
難しそうな名前のアルゴリズムもその種類を知れば、自分が対象とする問題に適用可能かのスクリーニングもできます。そして、スクリーニングにより絞り込んだアルゴリズムに対して、問題やデータの特性を勘案することで実際に使用するアルゴリズムを選択することも。
また、無料のAI(人工知能)サービスに触れてみることも有益です。ぜひ試してみてAI(人工知能)のアルゴリズムの理解を深めていきましょう。
今回はアルゴリズムが中心テーマでしたが、AI(機械学習)を行う上で重要なステップとして、生のデータから機械学習モデルに適した特徴量(データにどのような特徴があるかを数値で表現したもの)を抽出する「特徴量エンジニアリング」と呼ばれる作業があります。こちらについてもまとめていますので興味のある方は以下のページをご参考ください。
引き続きAI(人工知能)についての学びを深めていきましょう。
【お知らせ】
当メディア(AIZINE)を運営しているAI(人工知能)/DX(デジタルトランスフォーメーション)開発会社お多福ラボでは「福をふりまく」をミッションに、スピード、提案内容、価格、全てにおいて期待を上回り、徹底的な顧客志向で小規模から大規模ソリューションまで幅広く対応しています。
御社の悩みを強みに変える仕組みづくりのお手伝いを致しますので、ぜひご相談ください。
コメントをどうぞ