人工知能 vs 古典的アルゴリズムプログラミング

古典的アルゴリズムプログラミングから人工知能へ

Anthony Quattrone, PhD 2022年4月30日

AIの進歩により、以前は困難、手に負えない、または組み合わせが非常に複雑であった複雑な計算問題を効率的に解決できるようになりました。これらの問題には、顔認識、物体検出、ルート計画、および高度にパーソナライズされたオンラインレコメンダーシステムが含まれます。

将来に向けて前進する組織にとっての課題は、複雑な計算問題を解決するために、戦略的な意思決定者が従来の古典的アプローチと人工知能アプローチのどちらを選択するかを決定することです。どちらの方法にも、精度、コスト、実装の難しさ、保守性の次元にわたって堅牢なシステムを提供するという独自の課題があります。

問題解決に対する古典的アルゴリズムプログラミングアプローチ

古典的なプログラミングパラダイムには、規定のアルゴリズムと明確に定義された一連の命令を使用して問題を解決することが含まれます。入力は定義および制約され、定義されたプログラミングパラダイム(手続き型、オブジェクト指向型、関数型、論理型)を介して入力を処理して出力を生成するアルゴリズムを開発します。

時間的および空間的に効率的な問題を解決するアルゴリズムの発見は、極めて困難であることが知られている。計算複雑性理論において、問題はP(多項式)、NP(非決定性多項式)、NP完全、またはNP困難のいずれかに分類される。多項式問題は迅速に解決および検証できるが、非多項式問題はそうではない。NP問題は古典的なアルゴリズム的アプローチでは解決が困難である。

P問題の例は2点間の最短経路を見つけることですが、NP問題の例は巡回セールスマン問題であり、一連の場所が与えられた場合、すべての地点を最短距離で移動して訪問する最適な経路は何かという問題です。現在計算機で解くことが求められている問題の多くは、たまたまNPカテゴリに分類されます。ほとんどの場合、実用上の目的では、近似解で十分なことがよくあります。日常生活に取り組む際、人間は常に近似解を思いつきます。つまりナビゲーションです。

古典的なアルゴリズムパラダイムの下で問題を効率的に解決する上には、実装上の課題があります。アルゴリズムの複雑性は、アルゴリズムが時間領域(時間計算量)および空間領域(空間計算量)でどれほど効率的に実行されるかを扱うコンピュータサイエンスの一分野です。

アルゴリズムを実装する方法は多岐にわたりますが、アルゴリズムを実装する明白だが効率的ではない可能性のある方法は、「ナイーブ」なアルゴリズムと呼ばれることがよくあります。最も効率的なアルゴリズムは発見が容易ではなく、コンピュータ科学者たちは問題のクラスを解決するための最良のアルゴリズムを見つけるために長年取り組んできました。本番システムのアルゴリズムは、時間的および空間的に効率的な方法で実装されています。最大手のソフトウェア企業は、ピアレビューと同様のピアプログラミングを通じて、最高のアルゴリズム基準を確保しています。アルゴリズムを効率的に実装するには、長年の訓練と高度なスキルが必要です。

実用的な観点から言えば、プログラミング技術は進化し、プログラミング言語(すなわちC、C++、Java、JavaScript、PHP、Python)の人気は様々に変化してきましたが、1970年代にBell Labsが最初のCモジュールを作成して以来、その基礎は変わっていません。分散システムの使用など、理論的に困難な問題を本番環境で機能させるための実用的な方法がいくつかあります。高度なアプローチはより高いコストを伴い、最も技術的に進歩的な組織を除いてはその能力の範囲外です。

古典的なアルゴリズム的プログラミングアプローチの複雑さを考慮すると、組織はこのようなシステムを内部で構築するための効果的なチームを作ることに長らく苦労してきました。さらに、理論的には実装可能なニッチな課題を解決する外部プロバイダーを見つけるのにも苦労している組織も多くあります。問題の複雑さが増すにつれて、特定のアルゴリズムの設計は著しく複雑になります。多変量問題の場合は特にそうです。アルゴリズムが迅速に問題を解決でき、ほとんどのケースで機能する状況においては、古典的なアルゴリズムアプローチを使用するのが最適です。

問題解決に対するAIのアプローチ

人工知能パラダイムは、入力と目的の出力をシステムに供給し、システムに問題の解決方法を学習させることで、問題を一般的に解決しようとしました。現在のAIアプローチは、古典的なプログラミング技術を介して古典的なコンピュータで実行されます。最もエキサイティングなAI手法は、ニューラルネットワークと強化学習です。

人工ニューラルネットワークは、人間の心がどのように学習し問題を一般化するかについての人間の理解を活用します。強化学習は、エージェントに目標状態と一連のシナリオを入力して行います。学習アルゴリズムは、複数の反復を通じて望ましい結果を保持し、好ましくない結果を破棄します。強化学習はオペラント条件付けに似ています。エージェントは多くのトレーニング反復を通じて目標を達成する方法を学習します。

AIソリューションのトレーニングの要件は、通常さまざまなデータウェアハウスやクラウドソーシングの組み合わせを使用して編集された明確に定義された広大なデータセット、または一連の反復を実行することによって目標状態に到達する方法をシステムが学習することのいずれかです。この例は、チェスや囲碁などのゲームに対して自分自身でプレイし、結果を改善するための戦略を開発する方法をさらに学習するシステムです。人工ネットワークと強化学習はどちらも、トレーニングされていないシナリオで実行され、他の機械学習アプローチと同様に評価されます。これらのアプローチはうまく汎化し、特定の問題クラスに対して効率的なソリューションを提供します。AIベースのソリューションは、一連の指示を使用して簡単に定義できない問題に適しています。代わりに、より多くの「直感」と価値判断を必要とします。

通常、人工知能システムはデータセットを使用してトレーニングされ、その後評価セットで評価されます。AIシステムに入力される高品質なトレーニングデータが多ければ多いほど、システムが高い基準を満たしてパフォーマンスを発揮する可能性が高くなります。AIアプローチの利点は、システムがより多くを学習するにつれて、時間の経過とともに改善し続けることができる点です。したがって、複雑な問題を一般化し、コンピューティングシステムで解決できます。これには、従来は人間の入力によって解決されていた問題が含まれますが、特化型AIはより良い結果を確保するための既存の人間の入力を補完するものと見なすことができます。

人工知能と機械学習は、システムがユースケースにどう応答するかについてのトレーサビリティと決定可能性を欠いているため、組織から長く慎重に見られてきました。したがって、AIは稀な状況下で動作し、最も予期されない時に予測不能な応答をする可能性があります。そのため、AIをいつ使用するか、どのレベルのエラーが許容されるか、およびAIシステムから生成された出力が精度を確保するために人間の入力によってどのようにピアレビューされるかを明確に定義することが重要です。

全体として、AIシステムがもたらす向上した精度が、人間の入力を補強することによって得られる効率性と相まって、今後数年間で多くの組織にとって無視できないほど大きな財務的インセンティブをもたらすと予測しており、AIシステムは普及するでしょう。

問題を解決するためにAIを選択する場合と古典的アルゴリズムプログラミング手法を選択する場合

いずれのアプローチを使用すべきかについての明確なルールはありませんが、一般的なルールとして、近似的な解を必要とし、目標指向の長期計画、複雑なパターン認識、および多数の変数の処理を伴う問題は、AIに適しています。古典的なアルゴリズム的アプローチは、重い論理と計算を伴う、正確な解または準最適な解により適しています。

正しいアプローチを選択することは組織に大きな利益をもたらす可能性がありますが、最適でない方法を選択すると、技術プロジェクトは費用がかさむため、多大な資本損失につながる可能性があります。Telemus AI™のような実証済みで実証可能なシステムを採用することは、多くの場合、組織が人工知能のデジタル変革において成功を確実にするのに役立ちます。

Telemus AI™ を貴社に統合する方法について、無料相談は今すぐお問い合わせください。