Loading article…
歴史的に、一部のプログラミング言語は人工知能(AI)アプリケーション専用に設計されてきました。今日では、多くの汎用プログラミング言語にも、AI アプリケーションの開発に使用できる ライブラリが備わっています。
汎用言語
- Pythonは、人工知能で人気のある高水準の汎用プログラミング言語です。[1] Pythonは、シンプルで柔軟性があり、読みやすい構文を持っています。[2]その人気により、 PyTorch、TensorFlow、Keras、Google JAXなど、ディープラーニングを含むライブラリの広大なエコシステムが生まれました。ライブラリNumPyは配列の操作に、SciPyは科学的および数学的分析に、Pandasはテーブルデータの分析に、Scikit-learnはさまざまな機械学習タスクに、NLTKとspaCyは自然言語処理に、OpenCVはコンピュータービジョンに、Matplotlibはデータ視覚化に使用できます。[3] Hugging Faceのトランスフォーマーライブラリは、大規模な言語モデルを操作できます。[4] Jupyterノートブックは、セルの実行間のコンテキストを保持しながらPythonコードのセルを実行できるため、対話型のデータ探索が容易になります。[5]
- Elixir は、Erlang VMに基づく高水準関数型プログラミング言語です。その機械学習エコシステムには、CPU および GPU でのコンピューティング用の Nx、モデルの提供とトレーニング用の Bumblebee と Axon、分散処理パイプライン用の Broadway、画像とビデオの処理用の Membrane、ノートブックのプロトタイプ作成と公開用の Livebook、デバイスへの埋め込み用の Nerves が含まれます。
- R は、統計計算、数値解析、ベイズ推論の使用、ニューラル ネットワーク、一般的な機械学習など、新しいスタイルの人工知能で広く使用されています。金融、生物学、社会学、医学などの分野では、主要な標準言語の 1 つと見なされています。ベクトル計算、関数型プログラミング、オブジェクト指向プログラミングなど、いくつかのプログラミング パラダイムを提供します。
- Lisp は、人工知能のために開発された最初の言語です。Lisp には、リスト、関連付け、スキーマ (フレーム)、動的メモリ割り当て、データ型、再帰、連想検索、引数としての関数、ジェネレーター (ストリーム)、協調型マルチタスクなど、一般的な問題解決を実行できるプログラムをサポートすることを目的とした機能が含まれています。
- MATLAB は、MathWorksが開発した独自の数値計算言語です。MATLAB には、Statistics and Machine Learning Toolbox や Deep Learning Toolbox など、AI 開発専用のツールボックスが多数あります。これらのツールボックスは、 MATLAB エコシステムの他の部分と統合できるさまざまなタイプの機械学習モデルの高レベルおよび低レベルの実装と使用のための API を提供します。これらのライブラリは、組み込みハードウェアのコード生成もサポートしています。
- C++は、低レベルのハードウェアと対話できるコンパイル言語です。AIの分野では、特に組み込みシステムやロボット工学に使用されています。TensorFlow C ++ 、 Caffe 、 Shogunなどのライブラリを使用できます。[1]
- JavaScriptはウェブアプリケーションに広く使用されており、特にウェブブラウザで実行できます。AI用のライブラリにはTensorFlow.js、Synaptic、Brain.jsなどがあります。[6]
- Juliaは2012年にリリースされた言語で、使いやすさとパフォーマンスの両立を目指しています。主に数値解析、計算科学、機械学習に使用されています。[6]
- C# は、 Microsoftの.NETスイートを使用して高レベルの機械学習モデルを開発するために使用できます。ML.NET は、既存の .NET プロジェクトとの統合を支援し、.NET プラットフォームを使用する既存のソフトウェアのプロセスを簡素化するために開発されました。
- Smalltalk は、シミュレーション、ニューラル ネットワーク、機械学習、遺伝的アルゴリズムに広く使用されています。メッセージ パッシングを使用して、純粋でエレガントな形式のオブジェクト指向プログラミングを実装します。
- Haskell は純粋に関数型のプログラミング言語です。遅延評価とリストおよび LogicTモナドにより、多くの場合、非決定論的なアルゴリズムを簡単に表現できます。無限データ構造は、検索ツリーに役立ちます。この言語の機能により、アルゴリズムを合成的に表現できます。ただし、関数の純粋さのため、グラフの操作は最初は少し難しくなります。
- Wolfram言語には、予測や分類などの高度に自動化された機能から、特定の方法や診断に基づく機能まで、幅広い統合機械学習機能が含まれています。これらの機能は、数値、カテゴリ、時系列、テキスト、画像など、多くの種類のデータで機能します。[7]
- MojoはいくつかのPythonプログラムを実行でき、AIハードウェアのプログラミングをサポートします。Pythonの使いやすさとC++やRustなどの低レベルプログラミング言語のパフォーマンスを組み合わせることを目指しています。[8]
専門言語
- Prolog [9] [10]は、プログラムが関係で表現され、これらの関係に対してクエリを実行することで実行される宣言型言語です。Prologは、記号推論、データベース、言語解析アプリケーションに特に役立ちます。
- 人工知能マークアップ言語(AIML)[11]は、人工言語インターネットコンピュータエンティティ(ALICE)タイプのチャットボットで使用されるXML方言[12]です。
- Planner は、手続き型言語と論理型言語のハイブリッドです。パターン指向推論で含意を解釈する論理文に手続き型の解釈を与えます。
- スタンフォード研究所問題解決ツール(STRIPS) は、自動計画問題インスタンスを表現する言語です。初期状態、目標状態、および一連のアクションを表現します。各アクションには、前提条件 (アクションを実行する前に確立する必要があるもの) と事後条件 (アクションを実行した後に確立されるもの) が指定されます。
- POP-11 は、インタプリタ言語の多くの機能を備えた、リフレクション型の増分コンパイル プログラミング言語です。これは、もともとサセックス大学で開発され、最近ではPoplog Web サイトをホストしているバーミンガム大学のコンピューター サイエンス学部で使用されているPoplogプログラミング環境のコア言語です。これは、 Lispよりも POP 構文に馴染みがあるPascalなどの従来の言語のプログラマーに、シンボリック プログラミング手法を紹介するためによく使用されます。POP-11 の機能の 1 つは、ファーストクラス関数をサポートしていることです。
- CycL はCyc専用の言語です。
参照
注記
- ^ ab Wodecki, Ben (2023年5月5日). 「知っておくべき7つのAIプログラミング言語」. AIビジネス.
- ^ Lopez, Matthew (2021年1月11日). 「Pythonが人工知能に適している10の理由」. Technology sumo .
- ^ Kanade, Vijay (2022 年 5 月 6 日). 「Best Python ML Libraries 2022」. Spiceworks . 2024 年 2 月 3 日閲覧。
- ^ Chauhan, Nagesh Singh (2021年2月16日). 「Hugging Face Transformers Package - What Is It and How To Use It」KDnuggets . 2024年2月3日閲覧。
- ^ Perkel, Jeffrey M. (2018-10-30). 「Jupyter がデータ サイエンティストの計算ノートブックとして選ばれる理由」. Nature . 563 (7729): 145–146. Bibcode :2018Natur.563..145P. doi :10.1038/d41586-018-07196-1. PMID 30375502.
- ^ ab Wodecki, Ben (2023年5月5日). 「知っておくべき7つのAIプログラミング言語」. AIビジネス.
- ^ ウルフラム言語
- ^ Yegulalp, Serdar (2023年6月7日). 「Mojo言語の初見」. InfoWorld .
- ^
論理プログラミングの歴史:
- クレヴィエ1993、190-196頁。
- ^ プロローグ:
- プール、マックワース、ゲーベル、1998 年、477 ~ 491 ページ
- ルガー&スタブルフィールド 2004、pp. 641–676、575–581
- ^ AIML リポジトリ (紹介ページ) によると、Wayback Machineの nlp-addiction.comに 2015-04-14 にアーカイブされています
- ^ AIML「Intro」(ウェブ)ページを参照。2013年10月29日アーカイブ、Wayback Machine、www.alicebot.org
参考文献
主要なAI教科書
- AI教科書調査も参照
- ルガー、ジョージ、スタブルフィールド、ウィリアム(2004)、人工知能:複雑な問題解決のための構造と戦略(第5版)、ベンジャミン/カミングス出版社、ISBN 0-8053-4780-1
- ニルソン、ニルス(1998)、人工知能:新しい統合、モルガンカウフマン出版社、ISBN 978-1-55860-467-4
- ラッセル、スチュアート J. ;ノーヴィグ、ピーター(2003)、人工知能: 現代的アプローチ (第 2 版)、アッパー サドル リバー、ニュージャージー: プレンティス ホール、ISBN 0-13-790395-2
- プール、デイビッド、マックワース、アラン、ゲーベル、ランディ(1998)、計算知能:論理的アプローチ、ニューヨーク:オックスフォード大学出版局、ISBN 0-19-510270-3
- ウィンストン、パトリック・ヘンリー(1984年)、人工知能、マサチューセッツ州レディング:アディソン・ウェスリー、ISBN 0-201-08259-4
AIの歴史
- クレヴィエ、ダニエル(1993) 。AI: 人工知能への激動の探求。ニューヨーク、NY: BasicBooks。ISBN 0-465-02997-3。
- マコーダック、パメラ(2004)、考える機械(第2版)、マサチューセッツ州ネイティック:AKピーターズ、ISBN 1-5688-1205-1
