第10章. AIアプリケーション・アーキテクチャ
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
この章では、AI( )やMLアプリケーションを構築する際に、アーキテクチャやフレームワークに関して行うべきハイレベルな決定について学ぶ。まず、どのような問題にAI/MLが適しているのか、そして、どのように責任を持ってAIを開発しデプロイするのかを考えることから始める。MLが問題に適していると判断したら、次はどのような企業アプローチを取るかを決める必要がある。それぞれのシナリオの例と、それぞれのアプローチを採用する場合の注意点を見てみよう。構築する場合、アーキテクチャにはいくつかの選択肢があり、その選択は解決しようとする問題のタイプに依存する。
この章では、アプリケーションレベルでのAIアーキテクチャの検討と判断基準について説明する。データサイエンティストやMLエンジニアがこれらのアプリケーションを開発しデプロイするプラットフォームについては、第11章で説明する。クラウド・アーキテクトであるあなたは、すべてのアプリケーション・チームに対して、購入、適応、構築に関する正しい判断と、彼らがプラットフォーム上で構築する各アプリケーションのAIアーキテクチャの選択についてアドバイスする必要がある。
注
この章と次の章の目的は、クラウド技術を使ったMLプラットフォームのアーキテクト方法を紹介することだ。データウェアハウスの章でSQLを取り上げなかったように、これらの章ではTensorFlowを取り上げない。MLのやり方を学びたいのであれば、Aurélien Géron著『Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems』(O'Reilly)を心からお勧めする。
これはAI/MLの問題なのか?
MLでどのような問題を解決できるかを学ぶために、第1章で少し触れた基本的なことから始めよう。まず定義から始め、MLが一般的にどのような問題に適しているかを考えてみる。
AIのサブフィールド
AIとは、コンピューターに人間のように考え、行動させることで問題を解決する学問である。歴史的に、AIにはいくつかのアプローチが試みられてきた。ひとつは、潜在的な状況ごとに何をすべきかをコンピュータに明示的に指示するコードを書くというアプローチだ。これは、今日でも製造ロボットや家庭用掃除機など、多くのロボット装置が機能する方法である。問題は、そのような規則を書くのが難しいということだ。別のアプローチとしては、専門家にインタビューしたり観察したりして、彼らの振る舞いを使って規則を作り上げる方法がある。実験的医薬品の臨床試験に患者を受け入れるかどうかを承認するAIモデルは、この方法で機能している。しかし、専門家であっても、彼らがなぜそのような行動をとるのかを語ることはできない。人間の意思決定の根底には多くの直感があり、専門家であればあるほど、より多くの中間ステップをジャンプする。このようなアプローチの難しさが、AIが行き詰まった時期(1985年から2014年という緩やかな期間)を「AIの冬」と呼ぶようになった。
ML はAIの一分野であり(図10-1参照)、カスタムロジックの代わりにデータを使ってAIの問題を解決する。このため、ロジックを明確にできない場合や、ロジックをコンピュータ・プログラムとしてコード化するのが難しすぎる場合に特に有効である。例えば、釘とネジの違いをすべて把握する代わりに、MLシステムは何百もの釘を見せられ、釘だと言われ、何百ものネジを見せられ、ネジだと言われる。そしてMLモデルは、内部の非常に一般化された数学的関数を調整することで、それらを見分ける方法を見つけ出す。MLは何十年も前のものだが、2014年頃までは、データベースに格納できるような構造化データ( ...