このシリーズの前回の記事では、行列と線形代数についてさらに詳しく説明し、JupyterLab を使用して Python コードを実行する方法を学びました。その他の便利なライブラリについても簡単に紹介します。後ほど、確率、理論、コードについて説明します。いつものように、AI に対する理解を深めるトピックについて話し合うことから始めます。 これまでは、技術的な観点からのみ人工知能について説明してきました。 AI 製品がますます普及する中、AI が社会に及ぼす影響を分析する時期が来ています。あなたの応募が人間によって処理され、応募が拒否されたときに拒否の理由などのフィードバックを人間から受け取ることができる求職シナリオを想像してみてください。求職の応募が AI プログラムによって処理される場合、応募が拒否されたときに AI ソフトウェア システムにフィードバックを求めることはできません。この場合、申請の却下が本当に事実のみに基づいた決定であったかどうかさえ確信が持てません。これは、長期的には魔法のような結果だけではなく、説明責任と保証を備えた AI が必要であることを明確に示しています。 (LCTT 翻訳注: 責任とは、主にシステムの意思決定プロセスが透明で説明可能であり、システムの動作に責任があることを保証することを指します。保証とは、システムのパフォーマンス指標と動作に対するコミットメントまたは期待を指します。) 現在、これらの質問に答えようとする研究が数多く行われています。 人工知能の応用は多くの道徳的、倫理的問題も引き起こすでしょう。強力な人工知能(人工汎用知能とも呼ばれる)が誕生するまで待つ必要はない。 同じシナリオで、車が人工知能ソフトウェアによって運転されたらどうなるでしょうか?あなたは車の所有者なので、人工知能ソフトウェアは他の乗客の安全を考慮しなくても、あなたの安全を最優先に考えるべきです。世界中のすべての車がこのようなソフトウェアで制御されたら、どのような大混乱が起こるかは容易に想像できます。さらに、自動運転車の乗客が末期の病気にかかっていると仮定しましょう。したがって、数学的な機械にとっては、歩行者のために乗客を犠牲にするのは論理的です。しかし、これは必ずしも私たち生身の人間には当てはまりません。少し時間を取って、他のシナリオについて考えてみましょう。論理的なマシンと情熱的な人間がどのような決定を下すかを考えてみましょう。 人工知能が完全に機能するようになったときに生じる政治的、社会的、倫理的な問題について議論する書籍や記事は数多くあります。しかし、私たち一般人やコンピュータエンジニアにとっては、すべての本を読む必要はありません。しかし、人工知能の社会的意義は非常に重要であるため、この問題を簡単に無視することはできません。 AI の社会政治的側面を理解するには、AI (強い AI) が私たち全員にどのような影響を与えるかを理解するために、いくつかの映画を見ることをお勧めします。スタンリー・キューブリックの傑作『2001年宇宙の旅』は、超知能を持った存在が私たち人間を見下す様子を描いた最初の映画の一つです。この映画では、人工知能は人間が世界にとって最大の脅威であると信じ、人類を滅ぼすことを決意します。実際、このプロットを探求する映画は数多くあります。偉大な芸術の巨匠スティーブン・スピルバーグ自身が監督した「人工知能」は、人工知能マシンが人間とどのように相互作用するかを探求します。 『エクス・マキナ』という別の映画では、人工知能を備えた機械についてのこのアイデアが詳しく説明されています。私の意見では、これらは AI の影響を理解するために必見の映画です。 最後に、道路を走る車がメーカーごとに異なる自動運転ルールと人工知能を採用していたらどうなるか想像してみてください。これは完全な混乱を招くでしょう。 TensorFlow を使い始めるTensorFlow は、Apache 2.0 ライセンスを使用して Google Brain チームによって開発された無料のオープンソース ライブラリです。 TensorFlow は、人工知能および機械学習プログラムを開発するための重量級のライブラリです。 TensorFlow は、Python に加えて、C++、Java、JavaScript などのプログラミング言語用のインターフェースも提供します。先に進む前に、テンソルについて説明することが重要である。 まず、JupyterLab に TensorFlow をインストールする必要があります。 TensorFlow には、GPU バージョンと CPU バージョンの 2 つのインストール タイプから選択できます。これは主に、システムに適切な GPU があるかどうかによって決まります。 GPU は並列処理を使用して画像処理を高速化する回路です。ゲームやデザインの分野で広く使用されており、人工知能や機械学習のプログラムを開発する際にも欠かせないハードウェアです。しかし残念なことに、TensorFlow は NVIDIA GPU とのみ互換性があります。さらに、CUDA (Compute Unified Device Architecture) と呼ばれる並列コンピューティング プラットフォームをシステムにインストールする必要があります。システムがこれらの要件を満たしている場合は、JupyterLab で 図1: TensorFlowを使用した最初のPythonスクリプト それでは、最初の TensorFlow を利用した Python コードを実行してみましょう。図 1 は、JupyterLab で実行された単純な Python スクリプトとその出力を示しています。コードの最初の 2 行は、NumPy ライブラリと TensorFlow ライブラリを Python スクリプトにインポートします。ちなみに、Jupyter Notebook のセルに行番号を表示したい場合は、メニューの [表示] > [行番号を表示] をクリックします。 3 行目では、NumPy を使用して、3 つの要素を持つ TensorFlow は多くの操作と計算をサポートしています。処理されるデータの量が増加するにつれて、これらの操作はますます複雑になります。 TensorFlow は、乗算、減算、除算、累乗、剰余演算などの一般的な算術演算をサポートしています。リストまたはタプルに対して操作を実行する場合、TensorFlow は要素ごとに操作を実行します。 図2: TensorFlowにおける要素ごとの演算 TensorFlow は、論理演算、リレーショナル演算、ビット演算もサポートしています。ここでも操作は要素ごとに実行されます。図 2 は、これらの要素ごとの操作を実行する Python スクリプトを示しています。 1 行目はリストからテンソルを作成し、それを変数 図3: TensorFlow行列乗算 図 3 は TensorFlow 処理マトリックスの例を示しています。 1 行目と 3 行目ではそれぞれ 2 つの行列 したがって、5 行目では行列 TensorFlow を紹介したので、Keras についても触れておく必要があると思いました。 TensorFlow 用の Python インターフェースを提供します。次回の記事では、Keras について具体的に紹介します。 Nvidia 以外の GPU のパワーをどのように活用すればよいでしょうか?これを実行できる強力なソフトウェア パッケージは数多くあります。たとえば、PyOpenCL は Python で並列プログラムを記述するためのフレームワークです。 OpenCL (オープン コンピューティング言語) を使用できるようになります。 OpenCL は、AMD、Arm、NVIDIA などのメーカーの GPU と対話できます。もちろん、Numba などの他のオプションもあります。コード実行中に Python コードをマシン コードにコンパイルする JIT コンパイラです。 GPU が利用可能な場合、Numba はコードが GPU の機能を使用できるようにします。図 4 は、Numba を使用した Python コードを示しています。 関数 図4: Numbaを使用した並列化 SymPyを使い始めるSymPy は、シンボリックコンピューティング用の Python ライブラリです。図 5 の例を使用して、記号計算とは何かを理解してみましょう。積分を計算するために、SymPy が提供する 図5: 記号計算の例 このシリーズの次の記事では、Theano について説明します。 Theano は、数式を評価するための Python ライブラリおよび最適化コンパイラです。 確率論入門次は、人工知能と機械学習におけるもう一つの重要なトピックである確率論について説明します。確率論の詳細な議論はこのシリーズの範囲を超えています。先に進む前に、「確率」、「ベイズの定理」、「標準偏差」に関する Wikipedia の記事を読んで、確率、独立した事象、相互に排他的な事象、条件付き確率、ベイズの定理、平均、標準偏差などの重要な用語と概念に慣れることを強くお勧めします。これを学習すると、その後の確率に関する議論が簡単に理解できるようになります。 確率分布から始めましょう。 Wikipedia によると、「確率分布とは、実験においてさまざまな結果が発生する確率を与える数学的関数です。」さて、確率分布関数とは何かを理解してみましょう。最も有名な確率分布関数は正規分布であり、偉大な数学者ガウスにちなんでガウス分布とも呼ばれます。正規分布関数のグラフは釣り鐘型の曲線になります。図 6 はベル曲線の例です。ベル曲線の正確な形状は、平均と標準偏差によって決まります。自然現象を分析してベル曲線を理解してみましょう。インターネットによると、中国人男性の平均身長は約1.7メートルだそうです。私たちの周りの男性のほとんどはこの身長に非常に近いです。身長が 1.4 メートル未満または 2 メートルを超える男性を目にする可能性は低いです。 100 万人の身長を記録し、横軸に身長、縦軸にその身長の人の数をとって結果をプロットすると、結果として得られるグラフは、わずかな傾きと曲がりがあるベル曲線に近いことがわかります。したがって、正規分布は自然現象の確率的特性を容易に捉えることができます。 図 6: ベル曲線 (画像出典: Wikipedia) ここで、正規分布を使用した例を見てみましょう。図 7 のコードでは、NumPy の正規分布の 図7: ベル曲線のプロット これでこの記事は終わりです。次の記事では、確率と統計のいくつかの概念について引き続き探っていきます。また、人工知能、機械学習、データ サイエンス プログラムの開発に特に役立つ科学計算用の Python ディストリビューションである Anaconda をインストールして使用します。前述したように、人工知能と機械学習の分野で頻繁に使用される Theano という別の Python ライブラリについても学習します。 図8: より優れたベル曲線 |
<<: コーディングが ChatGPT を圧倒します! UIUCと清華大学が共同で7BパラメータのMagicorderをリリース、コードデータの重みは完全にオープンソース
>>: 「AIGC+」|新たなマーケティングパラダイム:AIGCは海外進出企業にとって「新たな武器」となり得るか?
導入自然言語処理の分野では、膨大なテキストファイルを処理する上で、ユーザーが最も関心を持っている問題...
近年、民生用ドローンの急速な発展と5G商用化の段階的な深化に伴い、ドローンと5Gの関係はますます密接...
導入機械学習モデルは、複数の業界にわたる意思決定プロセスの不可欠な要素となっていますが、ノイズの多い...
最近では、AI テクノロジーがさまざまな業界に大きな影響を与えていることがニュースで頻繁に紹介されて...
[[236501]] 「彼はただ生き残りたいだけ。どんな罪を犯したのか?」黄茂さんが亡くなった後、...
GPT4 などの現在の大規模言語モデル (LLM) は、画像が与えられた場合にオープンエンドの指示...
Facebook では、応用機械学習チームがソーシャル ネットワークの視覚、会話、理解を支援してお...
[[389010]]消費者の行動が変化し、企業の業務ニーズが変化するにつれて、人工知能は徐々に企業...
1. 要件の説明Linux システムの複数のディレクトリに、同じプレフィックスとサフィックスを持つフ...
困難な一年であったにもかかわらず、世界中の多くの企業が、ビジネスを最大化するために人工知能(AI)を...
今日、世界中がインダストリー4.0とそれがもたらすテクノロジーに注目しています。人工知能 (AI) ...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...