■人工知能

人工知能の作り方【バンディットアルゴリズムとは】

■人工知能

 こんちには黒部です。
今回は人工知能の作り方として、その生成アルゴリズムである強化学習の中から、バンディットアルゴリズムというものについて現役エンジニアが解説します。これは人工知能に限らず、ビジネスでも使える考え方となりますので、割と有益です。
 この記事では読者の方がバンディットアルゴリズムという言葉を知り、その考え方のイメージが沸くことを目標としています。

本記事の目標とレベル

目標 :バンディットアルゴリズムの概要を理解する
レベル:★★☆☆☆

人工知能の作り方【バンディットアルゴリズムとは】

バンディットアルゴリズムとは

 複数ある選択肢の中から、限られた試行回数で良い選択肢を選び、最大利益を得る手法です。これだけでは分かりにくいかもですが、使い時としては

・腐るほどある選択肢に対し、どの選択肢が最も良いか分からない。
・限られた試行回数でなるべく良い選択肢を選んで最大利益を得たい。

こういった問題に直面した時に使われます。

例えばあなたはカジノへ行き、スロットマシーンで勝負するとします。各マシーンの当たる確率と報酬は異なります。手元に2000枚のコインがあるとき、そのコインをどのように配分すれば最も利益を得られるか?こういった時に使える考え方です。

基本的な考え方

 バンディットアルゴリズムの基本的な考え方は単純で、『ダメな選択肢は選ばず、良い選択肢を選ぶ』です。その為に、『探索』『活用』という行動をバランス良くとりながら試行を繰り返していきます。探索とは、今知っている情報以外の情報を取得するように行動すること。活用とは、現在知っている知識から最大限に利益化する選択肢を選ぶことです。

 この2つのバランス調整が大切で、探索ばかりしていると良い選択肢を選ばない、活用ばかりしていると新しいデータが増えない。といった具合になります。繰り返しになりますが、このトレードオフ問題を解決し、探索と活用を効率化よく行い、限られた試行回数で最大利益を得る手法がバンディットアルゴリズムです。

 探索と活用のバランスの取り方は主に4つあります。実際に最大利益を出すための具体的なやり方を知って頂くにはこの4つのどれかの解説が必要となります。しかしこの辺はかなり専門的な話になるので、本記事ではバンディットアルゴリズムのおおまかな考え方にとどめて、別記事で紹介していきます。
・Greedy 
・UCB(Upper Confidence Bounds) 
・Thompson Sampling 
・Softmax 

A/Bテストとは

 バンディットアルゴリズムとよく比較される手法として、A/Bテストがあります。これは、オバマ元大統領の再当選時に利用されており、彼は自身のWebサイトでより多くの支援者を獲得するため、A/Bテストをしながら継続的なサイト改善を行ってメール会員数4割アップ(288万人増)、寄付金6000万ドルの成果を出しています。

 これは割と単純なことをしています。まず複数のデザインのwebサイトを作って、それをユーザに均等に振り分けて配信し、一番良い結果を導き出したデザインを採用するといった手法です。

A/Bテストとの違い

 バンディットアルゴリズムもA/Bテストもデータに基づいて最適な選択肢を導いていますが、その中身は大きく異なります。その違いは以下になります。

・バンディットアルゴリズムは総合的に良くなる選択肢を選ぶ累積報酬の最大化を目指す。
・A/Bテストは優れた選択肢を決めて、一度決定した後はその優れた選択肢を選びつづけるというのが一般的。簡単に言うとA/Bテストは全ての試行回数(webサイトの例でいうと全ての実験用ユーザー)に探索を割り当てていく点です。

 じゃんけんを例に90回の試行回数で最も勝ちやすい手を求めてみます。A/Bテストはぐーちょきぱーを均等に30回ずつ出して結果一番勝ちが多いのはどれかを分析するのに対し、バンディットアルゴリズムは最初は均等に出して探索し、途中でその時点で良く勝っている手を分析し、その手を次から多めに活用して探索を行い、また途中で分析してといった手順をとります。

 この例で2つのの目的の違いも分かります。
・A/Bテストは限られた試行回数の中で最も利益を出せる選択肢を求めたい。
・バンディットアルゴリズムは、限られた試行回数の中で最大の利益を出したい。
こういった大きな違いがあります。この点を理解しておくことは特に重要です。

人工知能の作り方【バンディットアルゴリズムの活用事例】

ゲーミングCPUの作成

強化学習の記事でも説明したAI囲碁やゲームのCPU作成に使われています。

WEBマーケティングの最大収益化

 WEB画面上に表示する広告や配信するコンテンツに対し、何をどの位置にどのように表示すればよいかの分析に使われています。アドネットワークでは一般的な方法で、一定期間ある広告をある位置に表示してみて、その条件で何クリックされ、何%コンバージョンされたのか等をパラメータとして次はどの広告をどの位置に表示するかを決定したりしています。

バンディットアルゴリズムの今後の予測

 今後最も活用の幅が広がるのは、成長分野でもあるwebマーケティング分野だと思っています。さらにこの考え方が実装された人工知能が普及することであらゆるビジネスにおいて活用の幅が広がっていきます。少ないコストと短い期間で最大利益を出したいのはどの企業においても同じですから、いかに取り入れていくかは重要なことだと思います。
 その為、人工知能開発者でなくとも、あらゆる分野、職種の新入社員からベテラン社員までがこの考え方を用いて仕事をすることが有効な場合があると思います。

以上が強化学習の手法のひとつであるバンディットアルゴリズムの解説でした。ここまで読んで頂きましてありがとうございます。