0
会員になると、いいね!でマイページに保存できます。
共有する
人工知能(AI)は研究当初からさまざまな知的タスクを解決することができました。たとえば、大人でも難しいようなパズルや数学的証明ができたのです。使われている「アルゴリズム」は現代でも使われるプログラムの基本中の基本と言われるようなものですが、それだけではまだまだ解決の難しい大きな壁があります。その課題を知ると、人間とAIの本質的な違いが見えてくるかもしれません。
よく聞く「アルゴリズム」とは何か?
人工知能(AI)に限らず、プログラムにはさまざまなアルゴリズムが用いられています。知らない人には難しく聞こえますが、アルゴリズムというのは、ただの「手順」を意味する言葉です。状況に応じて「計算法」「アプローチ」「解法」「考え方」と言い換えることもできます。
タスクに合わせた手順が効率的であるほど、課題は素早く、効率よく解決できるものです。AIも同じで、アルゴリズムはプログラムの性能を大きく左右します。たとえば、ディープラーニングは、ニューラルネットワークを応用した機械学習アルゴリズムを用いており、画像認識などに高い性能を発揮しています。
しかし、画像認識向けに作られたアルゴリズムで量子的な計算などをやらせたら、無駄に時間がかかってしまうかもしれません。AIのアルゴリズムの中身は非常に複雑で難解ですが、突き詰めればそれが単なる数学的な「手順」であることには変わりありません。目的に合わせたアルゴリズムの選択が大切なのです。
少し具体的に掘り下げましょう。AIが扱うアルゴリズムの中で代表的なものの1つが「探索アルゴリズム」です。これは膨大なデータの中から特定のデータを探し出すためのアルゴリズムで、データの特性に応じてさまざまな種類が存在します。
たとえば、エクセルシートに大量に入力された顧客情報をイメージしてください。この場合、探索アルゴリズムというのは、そのエクセルシートから特定の顧客情報を見つける「手順」のことです。
上から片っ端から見ていくのは「線形探索」と呼ばれるアルゴリズム。一方、顧客の名前が五十音順に並んでいると仮定して、データの真ん中あたりを見て顧客の名前の頭文字がその上にあるか下にあるかを推測して大まかな位置を把握するのは「二分探索」です。
また、少し複雑な「モンテカルロ木探索」では、まずリスト全体をランダムに探し、傾向や規則性を見つけ、それに合わせて探索順位を変えていきます。これは将棋や囲碁などのAIに多く採用されているアルゴリズムで、データに「五十音順」のような規則性が見つけられなかったとしても、データを活用する傾向や確率に基づいて効率的な探し方を見つけられる特徴があります。そのため、明確な理論を作りにくいゲームなどの領域で採用されるようになりました。
「探索アルゴリズム」がAIの性能を向上させた?
探索アルゴリズムには、ほかにもたくさん種類がありますが、うまく使うとさまざまな問題を解決できます。
まず、チェスの世界では1967年の段階でMac Hack(マック ハック)というチェスのプログラムが18のトーナメントに参加し、アマチュアではハイレベルのプレイヤーとして認識されるという戦果を挙げました。
設定次第でさまざまな問題を解く人工知能GPS(General Problem Solver:一般問題解決プログラム)は、難解なパズル「ハノイの塔」をクリアし、大きな話題を呼びます。ハノイの塔は円盤と3本の杭くいを使うシンプルなゲームで、プレイする際に使用する円盤の数が1枚増えるごとに、プレイヤーの手数が倍々に増え、チェスよりも難しくなるパズルです。
こうした課題で「探索アルゴリズム」は力を発揮しましたが、手数の多い課題では探索に時間がかかります。そこで「手段目的解析」という短期目標を設定するアプローチを加えました。
たとえば、チェスの最終目標はキングを取ることですが、短期目標として「クイーンを取る」「ナイトを取る」「ポーンを取る」などと設定しておき、状況に応じて達成しやすい短期目標を選んで探索させます。探索アルゴリズムの性能は短期目標の設定次第で大きく変わりますが、この手法ならより幅広い課題に応用できます。
ハノイの塔でも、いきなりすべての円盤を右に移動するのではなく、1つひとつ円盤をずらしていくことを目標として探索を行なうことで、正しい解法が見つかります。探索アルゴリズムを有効活用するためのさまざまな手法を考案することで、AIの性能を向上させたのです。
【次ページ】AIの課題、「組み合わせ爆発」と「フレーム問題」とは
関連タグ