AI研究所です。
AIは、私たちの生活に浸透しつつあります。コロナウィルスの影響で、コンビニエンスストアやスーパーもセルフレジ化したり、家電量販店ではAI冷蔵庫やAI掃除機などを目にするようになり、日常生活でもAI化を感じている人もいるでしょう。
ここでは、AIアルゴリズムとは何か、4種類のアルゴリズムと種類、アルゴリズムの仕組みを紹介します。
アルゴリズムとは?
アルゴリズムとは、計算手法のことです。AIは、裏側では大学レベルの数学で計算されて成り立っており、その計算式がPythonなどのプログラミング言語によって表現され、計算されます。
そういう意味では、アルゴリズムはコンピュータで処理するときの手順と同義となりますね。コンピュータは、複数の選択肢を組み合わせて、1つのプログラムが作成できる仕組み担っているため、アルゴリズムのおかげでコンピュータはさまざまな処理を実行させられるのです。
AIは、データ分析をするために、多くのデータを取り込んで傾向や特徴を把握します。これらの傾向は、「学習済みモデル」と呼ばれるモデルに格納されるのですが、このモデルを作成する際に利用されるのが機械学習アルゴリズムです。
アルゴリズムの仕組み
アルゴリズムには、以下のような3つの仕組みがあります。
指示どおりの処理をする
オーソドックスなアルゴリズムが、指示どおりの処理です。この処理は、人間が行うのと同じことができるという意味でAIと呼ばれていた時期もありますが、現在ではプログラミングでできるため、AIとは呼ばれないことがほとんどです。
ラーメン屋の発券機を例に紹介します。
ラーメン屋の発券機
- お客さんが、発券機にお金を入れる。
- 商品のランプが点滅する。
- お客さんがラーメンボタンを押したら、食券を出す。
条件分岐(if文)
条件分岐とは「〇〇になれば、〇〇する」といった条件付きで処理をします。一般的なプログラミングは、この処理を組み合わせることで実現されています。ルールベースAIと呼ばれることもありますが、近年流行しているAIとは異なります。ただし、最近だとかなり複雑な条件を入れ込むことでAIのようにみせているサービスも増えてきています。
紹介したラーメン屋の発券機で例えると
- お客さんが、発券機にお金を入れる。
- 700円を入れたら、700円以下のラーメンボタンが点滅する。701円以上のラーメンボタンは、点滅しない。
- お客さんが600円のラーメンボタンを押したら、食券と100円のおつりを出す
条件に当てはまらないものは、無視します。
繰り返し(for文)
繰り返しは、条件に当てはまれば、何回でも処理を繰り返します。こちらもプログラミングの処理です。
紹介したラーメン屋の発券機
- 700円を入れて、600円のラーメボタンを押す。
- おつりを取らないと、100円の商品ボタンは点滅する。
おつりを取ると、条件に当てはまらないので、商品ボタンの点滅が消えます。
AI・機械学習における4種類のアルゴリズム
AI・機械学習には、大量のデータを分析して傾向を把握して、未来の予想をします。このように生活に密接しているAI・機械学習ですが、どのようなアルゴリズムがあるのかご存知ですか?
ここからは、AI・機械学習における4種類のアルゴリズムを紹介します。
教師あり学習のアルゴリズム
教師ありのアルゴリズムは、正しい情報と判断をまとめてコンピュータに覚えさせます。
例えば、りんご、みかん、ぶどう、ピーマン、ニンジン、ジャガイモというデータがあれば、以下のような処理をします。
フルーツ
- ラベル:りんご
- ラベル:みかん
- ラベル:ぶどう
野菜
- ラベル:ピーマン
- ラベル:ニンジン
- ラベル:ジャガイモ
コンピュータに学習させたら、新しいデータが入ってきたときも、特徴や傾向が分かります。ここからは、教師あり学習における3つのアルゴリズムを解説します。
線形回帰
線形回帰は、シンプルで分かりやすいもモデルです。回帰とは、実際のデータをもとにして、未来の予測をします。
以下のような分野で利用されています。
- 売上予測
- スポーツチームの成績予測
ランダムフォレスト
ランダムフォレストとは、多数決のことです。1つではなく、複数のモデルを用意して、一番多い予測(多数決)を選択します。ランダムフォレストのような複数のデータを組み合わせる方法をアンサンブルと呼びます。
音楽の世界でも、2人以上の演奏を「アンサンブル」と呼びますが、アルゴリズムの世界でも同じですね。
サポートベクターマシン
サポートベクターマシンは、運動会の赤組と白組のようなものです。赤色の帽子をかぶれば「赤組」で、白色なら「白組」に分けられますよね?
サポートベクターマシンは、わかりやすい分類をして、精度の高い検証結果を表示します。
教師なし学習のアルゴリズム
教師なし学習とは、データの旧痛点を見つけてグループ化します。例えば、リンゴ、トマト、さくらんぼ、レモン、バナナ、トウモロコシといったデータがあれば、以下のような分類をします。
赤いもの
- リンゴ
- トマト
- さくらんぼ
黄色いもの
- レモン
- バナナ
- トウモロコシ
教師あり学習よりも、見た目で選別をするのが特徴です。
ここからは、教師なし学習の3つのアルゴリズムを紹介します。
アソシエーション分析
アソシエーション分析は、2つのデータの関連性を調べるときに利用できます。「こうなれば、こういう結果になるだろう」といった分析が得意です。
例えば、ネット通販サイトを利用すると「こちらの商品もおすすめまたは見ています」のような表示がありませんか?この商品を購入・閲覧する人は、こんな商品も探している」といった仮定を立てて、ユーザーの欲しがる商品を提案しています。
クラスタリング
クラスタリングとは、近いデータをグループ分けする方法です。AI・機械学習の分野では、自動的にデータの特徴を見極めて、選別することを指します。
データ数が多くても分類ができるため、ビックデータの世界で利用されています。
樹形図
樹形図は、似たものを順番に並べてグループ化して、あみだくじのような形にします。中学数学の確率に登場するので、覚えている人もいるかもしれません。
クラスタリングした物体の距離を測る場合は、最短・最長距離法、ウォード法、平均法を利用します。
ディープラーニング(深層学習)のアルゴリズム
ディープラーニングにおける3つのアルゴリズムを紹介します。
CNN(畳み込みニューラルネットワーク)
CNN(畳み込みニューラルネットワーク)は、AIによる画像分析の1つです。モザイクがかけられた画像でも、正確に分析・解析できます。
コーネル大学には、鳥用の顔認証システムに使われています。
GAN(敵対的生成ネットワーク)
GAN(敵対的生成ネットワーク)は、なかったデータを作成して、実在するデータの特徴に沿って変換できます。画像生成や装飾アプリに使われていて、実用化すればブランド品の鑑定もできます。
GANが日常生活に浸透すれば、ニセモノを購入するリスクは下がるでしょう。
RNN(再帰型ニューラルネットワーク)
RNN(再帰型ニューラルネットワーク)は、時系列データを扱います。時系列データとは、店舗の売上や電車の乗車数など、日によって変化するデータです。
例えば、時系列データを活用すれば、売上の上がる「時期」「日時」の傾向を把握できて、販売方法の改善ができます。
強化学習のアルゴリズム
強化学習は、何度も試しながら、良い方法を見つける機械学習の1つです。また、強化学習は、ほめられると同じ行動をして、怒られると、行動を避けるようになります。
人間も上司からほめられると、仕事のモチベションがありますけど、怒られると、上司を避けてしまうのと同じです。そんな強化学習における3つのアルゴリズムを紹介します。
モンテカルロ法
モンテカルロ法は、ランダムに表示された0~9の数字を利用して、確率の収束をチェックする分析法です。FX、カジノなどのギャンブルでも使われていて、試行回数を繰り返すと勝ち・負けの確率が50%(2分の1)に収束します。
DQN
DQNは、画像の分析に使われるディープラーニングと強化学習をミックスしたアルゴリズムです。例えば、ゲームのやり方を教えなくても、DQNは自動的に攻略法(スコアを上げる方法)を学習します。
DQNにアメリカのゲーム機(Atari2600)をさせたら、プロゲーマーレベルの実力があると分かりました。DQNに、ゲームをクリアさせる時代が来るかもしれません。
A3C
A3Cは、DQNを開発したDeepMind社のアルゴリズムです。費用のかからないCPUによる計算、複数のエージェント生成による学習の高速化により、高性能のアルゴリズムを実現しています。
AIアルゴリズムの種類と特徴、仕組みまとめ
この記事では、AIアルゴリズムの種類、特徴、仕組みを説明しました。難しい分野かもしれませんが、私たちの生活にも利用されています。
当メディアのAI研究所が行う「AIエンジニア向けセミナー」に参加すると、機械学習の仕組みやクレジットカードの審査など、実務的なセミナーを受けられます。
一人で学ぶよりも、効率よくAIアルゴリズムを学習したい人は利用してください。最後になりますが、記事で紹介した以外にも、AI・機械学習のアルゴリズムがあります。
興味のある分野から、学習をしてみましょう。
