AI エンジニアにとっての考慮事項を理解する

完了

ソフトウェア エンジニア

ますます多くのソフトウェア ソリューションに AI 機能が含まれるようになっています。そのため、ソフトウェア エンジニアは AI 機能をアプリケーションやサービスに統合する方法を知る必要があります。

機械学習における進歩が、大量のデータの可用性の向上や、それを処理して予測モデルをトレーニングする強力なコンピューティングと組み合わされて、AI 機能をカプセル化するパッケージされたソフトウェア サービスを利用できるようになりました。 ソフトウェア エンジニアは、これらのサービスを利用して、基礎となる AI 機能を使用するアプリケーションとエージェントを作成し、それらを構成要素として使用してインテリジェントなソリューションを作成できます。

つまり、ソフトウェア エンジニアは、データ科学者や機械学習の専門家にならなくても、プログラミング、テスト、ソース管理システムの操作、およびデプロイのためのアプリケーションのパッケージ化に既存のスキルを適用できます。

ただし、AI の機会をフルに活用するために、ソフトウェア エンジニアには、少なくともコア AI と機械学習の原則に関する概念的な知識が必要です。

モデルのトレーニングと推論

多くの AI システムは、サンプル データを使用して "トレーニング" する必要がある予測モデルに依存しています。 トレーニング プロセスにより、データが分析され、データの "特徴" (通常は新しい観測に存在するデータ値) と "ラベル" (予測するためにモデルがトレーニングされている値) との間の関係が確認されます。

モデルのトレーニングが完了したら、既知の "特徴" 値を含む新しいデータを送信し、最も可能性の高い "ラベル" をモデルで予測することができます。 モデルを使用して予測を行うことを、"推論" と呼びます。

ソフトウェア エンジニアが AI 対応ソリューションを構築するために使用できるサービスやフレームワークの多くは、アプリケーション内で新しい値を推論するために使用する前に既存のデータからモデルをトレーニングする開発プロセスを必要とします。

確率と信頼度スコア

適切にトレーニングされた機械学習モデルは正確ですが、完全無欠な予測モデルはありません。 機械学習モデルによる予測は "確率" に基づいて行われます。ソフトウェア エンジニアは確率理論を深く正確に理解する必要はありませんが、予測には絶対的な真実ではなく統計的尤度が反映されることを理解しておくことが重要です。 ほとんどの場合、予測には、予測が行われている確率を反映する "信頼度スコア" が関連付けられています。 ソフトウェア開発者は、信頼度スコアの値を使用した予測の評価、適切なしきい値を適用したアプリケーションの信頼性の最適化、周辺確率に基づく予測のリスクの軽減を行う必要があります。

責任ある AI と倫理

ソフトウェア エンジニアは、ソフトウェアがユーザーと一般社会に与える影響を考慮することが重要です。これには使用に関する倫理的な考慮事項などが含まれます。 アプリケーションに人工知能が組み込まれている場合は、トレーニングに使用されたデータに依存する確率論的モデルに基づくことが多い AI システムの動作と意思決定の伝達方法の性質上、これらの考慮事項が特に重要になります。

人間に似た AI ソリューションの性質は、アプリケーションをユーザーにわかりやすくするための大きな利点ですが、ユーザーが適切な判断を行うためにアプリケーションの能力に大きな信頼を寄せることになる可能性もあります。 不適切な予測や AI 機能の誤用によって個人またはグループに害が及ぶ可能性は大きな懸念事項であり、AI 対応ソリューションを構築するソフトウェア エンジニアは、リスクを軽減し、公平性、信頼性、および危害や差別からの適切な保護を確保するために十分な配慮をする必要があります。