2019.11.27
アルゴリズムとプログラム
AIについての話がでると決まってよく耳にするのが、「アルゴリズム」という言葉です。
プログラムは、コンピュータつまり情報処理ができる計算機に対して、意図した処理を行うように命令を記述したものです。
元々は、昔の電話交換機のオペレータの操作動画でよく出てくるパッチパネルに多数あるコネクタのジャックに、ケーブルのプラグを手で差し込み、物理的に直接配線を入れ替えることで電気回路の構成を組み立てるワイヤードロジックによるプログラミングが行われていました。その後、プログラムは主記憶装置に記憶されるプログラム内蔵方式が主流になり、プログラミング言語によって記述されるようになりました。つまり、プログラムは、コンピュータを動かすための指示書にあたります。
一方、アルゴリズムは、特定の問題を解くための手順となります。アルゴリズムは、よくフローチャートを使って表されるため、ケースによってはプログラムと同等であるとも言えるので、このアルゴリズムをコンピュータ上にソフトウェアとして実装する場合はプログラムと表現できます。但し、一般的にはアルゴリズムは、計算可能なものを計算する手続きや計算のやり方を指しています。 AIでは、データをインプットして、AIが計算した結果、人と同じような推論などが可能になります。よって、AIがアウトプットを出力するために、アルゴリズムに従って計算されます。つまり、AI の計算方法がアルゴリズムであり、どういったアルゴリズムを使用するかで、答えも変われば、計算の処理速度も変わってきます。どういうアルゴリズムをどのように使用するのが、AIの処理として一番効率的に理想に近い答えを出すか、それを最適化するためにチューニングという言葉がよく使われます。
AIの多くが、人間の代わりに大量データを元に推論したりすることを目的にしているので、その多くは統計学的な発想で組み立てられており、数多くの手法があるため、AIのアルゴリズムもたくさんの種類があります。
目的に応じてAIを効果的に活用するためには、AIのアルゴリズムのそれぞれの特性を知ることも今後必要になって来るでしょう。
[タグ] AI 用語
[関連]