AI(人工知能)ニュース

難し過ぎるAI(人工知能)のアルゴリズムの種類を簡単解説!

アルゴリズムのイメージ

AI(人工知能)のアルゴリズムと聞くと、非常に難しそうな印象を持ちますよね。

実際、多くのアルゴリズムは確率統計の理論をベースに開発されており、内容を正確に理解するのは難しいです。さらにゼロからプログラミングするとなると高度な知識とスキルが要求されてなかなか手が出ません。

しかし、ご安心ください。

最近のAI(人工知能)は、サービスとして用意されたアルゴリズムを目的に合わせて選択&カスタマイズすることで使えるようになっています。

すなわち、アルゴリズムをゼロから開発するのではなく、その使い方の特徴や適性を理解すれば使えるようになってきたのです。

そこで、今回は、主なAI(人工知能)の手法ごとにどんな種類のアルゴリズムがあるのか、その特徴は何か、どんな分野に向いているのかをわかりやすくお伝えします。

今なぜAI(人工知能)は注目されているか

AI(人工知能)のイメージ

まずは、AI(人工知能)についてお話しましょう。

AI(人工知能)は1950年代後半から研究がスタート。推論と探索の第1次ブームやエキスパートシステムの第2次ブームでは、実際に適用できる場面にすぐに限界が見えてしまい、ブームは長続きしませんでした。しかし、現在は機械学習やディープラーニングをキーとする第3次ブームの最中にあります。

現にそれらは、囲碁や将棋などのゲームの分野では人間の第一人者を打ち負かし、自動車の自動運転の実現が目前となるなど、社会的に強いインパクトを与える成果を生み出しています。さらには、10~20年後の日本の労働者の約半数はAI(人工知能)やロボットに仕事を奪われてしまうというショッキングなレポートまで発表されるほどですよね。

こうして今、AI(人工知能)実用化がホットなテーマとなっています。

もっと詳しく知りたい方はこちら↓

機械学習とディープラーニングの概要

数学のイメージ

次に、アルゴリズムのご紹介に入る前に、簡単に機械学習とディープラーニングのイメージを説明しましょう。

まずは、機械学習。

機械学習とは、コンピュータがデータに潜むパターンや傾向を掴んで、そこから未知のデータの予測や判別といったことができるようになる技術のことを言います。
もっと詳しく知りたい方はこちら↓

今や、ビッグデータに象徴されるように、世の中のあらゆることを簡単にコンピュータに入力できるようになりつつあり、機械学習も当たり前の手法となりつつあります。

次は、ディープラーニング。

ディープラーニングは、人間の脳を模してモデル化したニューラルネットワークという仕組みにより学習を通じてコンピュータが自分で知識を獲得し、その知識を使って問題を解けるようにするというものです。
もうちょっと詳しく言うと、脳内での1つの脳細胞(ニューロン)と神経細胞(シナプス)の働きをモデル化したものがパーセプトロン、そして多数のパーセプロトロンをネットワークとして組み合わせたものがニューラルネットワークです。このニューラルネットワークは層を重ねた構造を持っており、層をたくさん重ねることで効果的な学習を実現したのがディープラーニングなのです。

AI(人工知能)のアルゴリズム

アルゴリズムのイメージ

では、いよいよ現在注目を集めている機械学習およびディープラーニングに組み込まれるアルゴリズムをご紹介しましょう。

アルゴリズムはコンピュータに問題を解く手順、計算処理の仕方を指示するものですが、主要なアルゴリズムでも山ほどあり、個別には説明しきれるものではありません。本記事では、アルゴリズムの用途や使い方から、どのように整理できるかを説明します。

というのも、これを理解しておけば、AI(機械学習)を使いたいと思った時にどんなアルゴリズムの採用を検討すれば良いかに大いに役に立つからです。

機械学習のアルゴリズムとは

機械学習で利用するアルゴリズムは多数あり、その早わかりマップとしてscikit-learn cheat-sheetが有名です。また、同様のマップが、Microsoft Azure Machine Learningのホームページに公開されています。それに基づくと、アルゴリズムによって行われるタスクは以下のように5つのカテゴリに整理されます。

分類

分類と呼ばれる機械学習のタスクには、2つに分ける二値分類と複数のカテゴリに分けるマルチ分類があり、画像に映っている物の名前を見出すのがマルチ分類の例です。

例)ロジスティック回帰、ランダムフォレスト、ブースト決定木

回帰

正解となる数値と入力データの組み合わせで学習し(データのパターンをつかみ)、未知のデータから連続値を予測する。売上予測や天気の気温の予測などを行うタスクです。

例)線形回帰、ベイズ線形回帰、ポアソン回帰

クラスタリング(クラスタ分析)

与えられたデータを複数のカテゴリに分類します。クラスタリング(クラスタ分析)は教師なし学習で利用され、データ間の類似性あるいは相違性を見出して分類基準を自動作成。

例)k-平均法、混合ガウス分布

次元削減(要因分析)

学習する際にはデータの特性をあらわす指標を多数利用しますが、指標の数が多い場合はデータ数の増加につれて場合分けが飛躍的に増えて収拾がつかなくなります。そこで、似たような指標をまとめ上げることを行います。これを次元削減と言います。

例)主成分分析、因子分析

異常検出

応用分野がキーとなっておりこれまでの整理とは異なりますが、まず、データを用いてデータの標準的な姿を学習させます。そして新しいデータが標準的な姿から乖離している場合は異常として処理しようとするものです。

例)サポートベクターマシーン(SVM)

機械学習の種類

機械学習は3つの種類に分類され、それぞれによって採用されるアルゴリズムが異なります。※2つとするという考え方もあります

教師あり学習

教師あり学習」とは、情報とその正しい判断(答え)をセットにしてコンピュータにデータのパターンを掴ませていく機械学習の手法です。そして、データのパターンを掴んだ数式(モデル)を使って、未知のデータがなんであるかをその特徴により見出そうとするものです。

教師あり学習には分類と回帰があります

教師なし学習

正解なしに何かをデータから共通する特徴を持つグループを見つけたり、データを特徴づける情報を抽出したりする手法です。

教師なし学習には、クラスタリングと次元削減があります。

強化学習

教師データを与えずに、試行錯誤を通じて選択した行動の価値を最大化するように学習を進める方法です。チェスや将棋などのゲームを学習させることに適しています。

具体的なアルゴリズムとしてはQ-learningが有名。

ディープラーニングのアルゴリズムとは

次に、ディープラーニングでは画像の中の物体を見つけ出す画像認識や音声データからその発言内容を抽出する自然言語処理などで優れた成果を挙げています。その主要なアルゴリズムは以下のとおり。

CNN(畳み込みニューラルネットワーク)

畳み込み層とプーリング層という構造持ったニューラルネットワークです。畳み込み層で画像の特徴を抽出し、プーリング層で局所的な特徴を画像全体の特徴にまとめます。こうして、画像そのものを覚えるのではなく、画像の特徴のみを抽出して覚えます

こうすることで画像の位置ずれなどに対応できるようになるのです。

もっと詳しく知りたい方はこちら↓

RNN(再帰型ニューラルネットワーク)

音声データは時間と共に変化するデータで時系列データと呼ばれます。この時系列データをうまく扱えるように時間軸方向に結果をフィードバック。こうすることで時間に依存しない特徴を取り出すことができるのです。

もっと詳しく知りたい方はこちら↓

LSTM(Long Short Term Memory)

RNNではちょっと前のデータしかを覚えることができません。このため長時間の時系列データは扱えませんでした。そこで、記憶層を導入することでこの欠点を克服したのがLSTMです。

AI(人工知能)プラットフォームについて

AIのイメージ

最後に、AI(人工知能)プラットフォームのお話をしましょう。

機械学習など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(人工知能)のアルゴリズムの理解を深めていきましょう。

コメントをどうぞ

トップへ戻る
タイトルとURLをコピーしました