Delphi AI: 完全ガイド

今日、人工知能(AI: Artificial intelligence)は最も目覚ましく急成長しているコンピュータサイエンス分野のひとつです。まだ初期の段階にあるものの、AIは既に、私たちが住む世界に革命をもたらし、その応用は、自動運転自動車から医療診断まで、生活のあらゆる領域に及んでいます。本ガイドでは、AIとは何なのか、その機能とDelphiをベースとした使い方を説明し、未来への胸躍る可能性を探究します。本ガイドを読み進めながら、Delphiについて詳しく学んでいきましょう。この素晴らしいテクノロジーが実現できることの見事さに驚かれるかもしれませんね。

人工知能とは何なのか

近年、人工知能は、ソフトウェア開発業界ではホットな話題です。では、人工知能とはいったい何を指すのでしょう?その最も単純な形態では、人工知能とは、自然言語の理解や物体の認識といった、通常、人間の知能を必要とするタスクを遂行するコンピュータの能力をいいます。また、人工知能を利用し、使用を通じて学習し適応できる精巧なアプリケーションを作成することもできます。人工知能技術が進化し続けるにつれ、将来、このパワフルなツールからさらに驚くべきアプリケーションが誕生する可能性があります。

Little robot guy

ニューラルネットワークとは

What is a neural network

ニューラルネットワークは、人間の脳の働きを模した人工知能の一種です。ニューラルネットワークは、互いに結合したニューロンで構成されています。ニューロン間の結合に重みを付けて、⼀部の結合を他の結合よりも強力にすることができます。ニューラルネットワークは、ニューロン間の結合強度を調整することにより学習します。ニューラルネットワークは、画像認識や顔認識などのパターン認識によく用いられます。ニューラルネットワークは回帰にも使⽤でき、これは、ニューラルネットワークの出⼒が実数などの連続値である場合です。ニューラルネットワークは、⼈⼯ニューラルネットワークまたは並列分散処理システムと呼ばれることもあります。

ニューラルネットワーク:CAIニューラルAPI

CAIニューラルAPIとは

⾼度なハードウェア動作命令と OpenCL サポートを備えたニューラルネットワークをいいます。畳み込み層、全結合層、局所結合型層、min/max/avgプール、min/max/avgレイヤ、trainable/non-trainable正規化層、concatenation / summation / reshapingレイヤなどが含まれます。また、マルチパス アーキテクチャ サポート機能も備えています。GitHub プロジェクトの機能として、CIFAR-10 画像分類、DenseNetBC L40、分離可能な畳み込み、Shortcut ConnectionのIdentify関数、勾配上昇、AIアート、超解像、オートエンコーダなどが紹介されています。

画像分類の例:

Delphi向けCAIニューラルAPIの詳細はこちら

ニューラルネットワーク:Keras 4 Delphi

Kerasとは

Keras は、Python で記述された⾼レベルニューラルネットワーク API で、TensorFlow、CNTK、または Theano 上で実行可能です。迅速な実験を可能にすることに重点を置いて開発されました。発想から結果までの過程における遅延を最⼩限に抑えることが、優れた研究を⾏うための鍵となります。Keras の主要機能は、同一コードをCPU / GPUデバイス全域でシームレスに実⾏、畳み込みベースのネットワークと再帰型ネットワークの両⽅ (およびそれらの組み合わせ) をサポート、CPU及びGPU デバイス上でシームレスに実⾏することを可能にします。 Keras は Python 3.5-3.7 と互換性があり、MIT ライセンスの下で配布されています。Keras は、Google のエンジニアである François Chollet によって作成されました。

Keras4Delphi は、⽣産性の⾼いプロトタイピングを可能にするニューラルネットワーク API であり、畳み込みネットワークと再帰型ネットワークをサポートします。CPU と GPU の両⽅で動作します。TensorFlow、CNTK、または Theano上で実⾏可能です。

例:

Keras for Delphiの詳細はこちら

人工知能(AI)の活用

ソフトウェア開発における⼈⼯知能は、知的なコンピュータプログラムを作成するプロセスです。これは、⼈⼯ニューラルネットワーク、遺伝的アルゴリズム、⼈⼯⽣命など、さまざまな⽅法で⾏うことができます。ソフトウェア開発における⼈⼯知能の⽬的は、問題を解決し、他の⽅法では⼈間によって実⾏困難または不可能なタスクを遂行できるプログラムの作成です。これには多くの場合、新しい状況を学習して、適応できるプログラムの作成が必要となります。⼈⼯知能は、ゲーム、⾦融、医療、製造など、さまざまな⽤途で使⽤されています。⼈⼯知能には⼤きな可能性がある一方で、倫理的行動リスクや慎重に制御された⼈⼯環境の必要性など、多くの課題も提起します。

機械学習とは

機械学習とは、明⽰的にプログラムされていなくてもコンピュータがデータから学習することを可能にする⼈⼯知能の⼀種です。機械学習は、機械が経験を通じて⾃動的に改善する能⼒を強調したAI のサブセットです。機械学習アルゴリズムは、医療診断、株式取引、ロボット制御、⾃然⾔語処理など、さまざまな分野で利用されています。ソフトウェア開発では、コード補完、バグ検出、ソフトウェア レコメンデーションなど、さまざまなタスクに機械学習を活用できます。機械学習アルゴリズムは継続的に向上しており、洗練度が高くなるにつれて、人とコンピュータや周囲の世界との関わり方に変化をもたらし続けるでしょう。

Python4Delphiを介したTensorflow+Delphiによる機械学習とディープラーニング

Tensorflowとは

TensorFlow は、⾼性能数値計算⽤のオープンソース ソフトウェア ライブラリです。その柔軟なアーキテクチャにより、さまざまなプラットフォーム(CPU、GPU、TPU)にわたって、また、デスクトップから複数のサーバークラスタ、モバイル及びエッジ デバイスまで、計算処理を容易に実装できます。

もともと Google の AI 組織内の Google Brain チームの研究者とエンジニアによって開発されたもので、機械学習とディープラーニングを強⼒にサポートし、柔軟な数値計算コアは他の多くの科学分野で利用されています。

Delphiコード例:

Pythonコード例:

Delphiを用いたTensorflowの詳細

機械学習:DelphiによるTensorflow Liteの使用

TensorFlow Liteとは

TensorFlow Lite は、開発者がモバイル、組み込み、そしてIoTまでの各端末でTensorFlow モデルを実行する際に役⽴つツールセットです。低レイテンシーかつ小型バイナリで、オンデバイスでの機械学習推論を可能にします。TensorFlow Lite は、完全な TensorFlow API の演算のサブセットをサポートしています。これにより、計算リソースが非常に限られているデバイスでも機械学習モデルを実装できます。例えば、TensorFlow Lite は、搭載RAMが僅か1GBのRAM Raspberry Pi でも実⾏できます。さらに、TensorFlow Liteは多くのハードウェア アクセラレータをサポートするため、パフォーマンスの一層の向上が可能です。全体として、TensorFlow Liteは、リソースに制約のあるデバイスで機械学習モデルを実⾏する強⼒で効率的な⽅法を提供します。

TensorFlow Lite for Delphi は、Windows 11/10/8/7を含む多種多様なデバイスで機械学習を可能にするツールセットを備えたライブラリです。TensorFlow Lite ライブラリの活用事例として、Delphi でビルドした3つのデモを紹介します。デモには、数字分類器、顔検出、物体検出が含まれています。

例:

DelphiによるTensorFlow Lite使用の詳細

ディープラーニングとは

ディープラーニング(深層学習)は、⼈⼯ニューラルネットワークと呼ばれる、脳の構造と機能に着想を得たアルゴリズムを扱う機械学習の⼀分野です。ニューラルネットワークは、パターンの認識、データのクラスタリングと分類、データに基づく予測に用いられます。深層学習は、徐々に抽象度が上がるデータ表現を学習できる、複数の階層を持つニューラルネットワークです。深層学習ネットワークの最初の層は、エッジなどの低レベルの特徴を学習し、最後の層は、形状やオブジェクトなどの⾼レベルの特徴を学習します。多くの深層学習ネットワークは、⼤量のデータを取り込み、データ⾃体から学習できるようにすることでトレーニングされます。これは、データから学習するために⼈間による⼊⼒を必要とする従来の機械学習アルゴリズムとは異なります。多くの場合、ディープラーニングは、画像認識、⾳声認識、自然言語処理タスクに利用されています。

ディープラーニング:DelphiによるPyTorchの使用

PyTorchとは

PyTorch は、ディープラーニング⽤のPython向けのオープンソース科学計算パッケージで、機械学習及び⼈⼯知能研究を推進します。Pytorch は 2つの⾼レベル機能を提供します。

  • GPU を介した強⼒なアクセラレーションによるTensor計算 (NumPy など)
  • テープ・ベースの autograd システム上でのディープニューラルネットワークの構築、トレーニング及び実装

Tesla Autopilot、Uber の Pyro、HuggingFace の Transformers、PyTorch Lightning、Catalystなど、数々のディープラーニングソフトウェアがPyTorch 上に構築されています。必要に応じて、NumPy、SciPy、Cython など、好みのPythonパッケージを再利⽤して、PyTorch を拡張できます。

Delphiコード例:

Pythonコード例:

DelphiによるPyTorch使用の詳細

人工知能の実用化

多くの⼈は、⼈⼯知能 (AI) を、映画やテレビ番組の中で描かれる、感覚のある生き物に進化したコンピュータとしてイメージします。⼈⼯知能は既に、ソフトウェア開発の分野で広く活用されています。AI を使って、新しい状況を学習して適応できるソフトウェアを作成したり、反復的タスクを⾃動化することができます。多くの場合、AIを活⽤したソフトウェアは、⼈間より高いパフォーマンスを実現することが可能です。例えば、Google社 の⼈⼯知能システム AlphaGo は、2016 年に5つの対局でプロの囲碁棋⼠を打ち負かしました。⼈⼯知能が進化し続けるにつれて、ソフトウェア開発の分野でさらに驚くべき偉業が達成される可能性があります。

Delphi AIライブラリ:IntelligenceLab

IntelligenceLabとは

IntelligenceLab は、データのグループ化、スパム フィルタ、コンピュータ視覚及び音声認識、その他のタスクに利用できる、エンバカデロのテクノロジーパートナーが提供する商⽤ AI ライブラリです。

サポート対象:

  • ニューラルネットワーク
  • ⾃⼰組織化マップ
  • 単純ベイズ
  • K近傍法
  • 誤差逆伝播法
  • データプレパレーション(データ準備)

例:

DelphiによるIntelligenceLab使用の詳細

機械学習: Windows アプリで機械学習を使⽤する 5つの⽅法

Windowsで機械学習機能を使い始めるには

機械学習は、データから学習して、データに対する予測を⾏うことができるアルゴリズムの設計と開発を扱う、⼈⼯知能の⼀部⾨です。機械学習アルゴリズムは、スパム検出、顔認識、病気の診断など、さまざまなアプリケーションで使⽤されています。近年、⼤規模なデータセットの利⽤が可能となり、計算能⼒の進化により、機械学習への関⼼が⾼まっています。

Windows は、パーソナルコンピュータ、ラップトップ及びサーバー用の人気のあるオペレーティングシステムです。Orange、WEKA、Microsoft Azure Machine Learning Studio など、Windows で利⽤できる機械学習ソフトウェアパッケージが多数あります。Windowsで機械学習機能を使い始めるには、ソフトウェアパッケージを選び、コンピュータにインストールする必要があります。ソフトウェアをインストール後、機械学習アルゴリズムのトレーニングに使⽤するデータを収集する必要があります。データ形式は、テキスト、画像、または動画が可能です。データを収集後、データセットをトレーニング用とテスト用に分割する必要があります。トレーニングセットは機械学習アルゴリズムのトレーニングに使われ、テストセットはアルゴリズムのパフォーマンス評価に使われます。

トレーニングセットでアルゴリズムのトレーニングを終了後、そのアルゴリズムを使ってテストセットで予測を⾏うことができます。機械学習は、多種多様な問題を解決するために使⽤できる強⼒なツールです。Windowsで機械学習機能を使用することにより、⾼価なクラウドソリューションを購⼊する必要なく、この技術を活用できます。

Python4Delphi(P4D)は、受賞歴のある DelphiのWindows向け機能であるVCLをPythonユーザーに提供し、ネイティブWindowsアプリの構築を5倍の生産性で実現します。この統合により、Python 機械学習アプリケーション⽤に、Windows 10 の外観とレスポンシブ コントロールを備えたモダンなGUI を作成できます。

Delphi を使⽤した Windows での機械学習に関するブログ記事全文

DeepAI API

DeepAI APIとは

AI ソリューションを設計する主な動機は、データを研究し、データから有意義なインサイトを予測することです。企業が⼤量のデータを⽣成し、読み込む今⽇の世界では、AIは、企業にさまざまな種類の予測結果を提供することで、その最たる目的を果たします。

DeepAI API のサンプルには、Colorizer、Image Similarity、Super Resolution、Fast Style Transfer、DenseCap、 Toonify、Content Moderation などが含まれています。

例:

DelphiによるDeeperAI API使用に関するブログ記事全文

コンピュータビジョン:Microsoft Cognitive Services

Microsoft Cognitive Servicesとは

MicrosoftのFaceAPI サービスを実装。性別、年齢、感情、髪型及び光のあたりかたから顔属性を検出、1枚の写真で最⼤10⼈の顔を判別する機能です。また、以前に追加された⼈物であれば、その⼈物を特定することもできます。

MicrosoftのAzure は、使いやすい API を介してアクセスできる広範なサービスを取り揃えています。

Azure は、200 を超えるさまざまな製品のカタログを備えた Microsoft のクラウド ホスティング/コンピューティングプラットフォームです。また、機械学習サービスを実装できる製品も含まれています。これらのサービスにはすべて、クライアントアクセスライブラリまたは RESTクライアントを介してアクセスできるAPIが用意されています。 Delphi は、これらの任意のサービスを最⼩のコード量で迅速に実装できる TAzureConnectionInfo を提供し、この使いやすさをさらに⼀歩前進させています。

Microsoft Cognitive Servicesを使⽤したコンピュータビジョンに関するブログ記事全文

強力なDelphi AIサポートを用いてAIソリューション構築にチャレンジ

⼈⼯知能のアプリケーションとサービスを構築するためのプラットフォームを探している方であれば、Delphi は検討する価値のある選択肢です。開発ツールとライブラリを搭載したスイート製品として、そして成⻑し続ける開発者コミュニティのサポートにより、Delphi は AI の容易な導入を可能にします。AI を開発プロジェクトに組み込むための準備はできましたか? このパワフルなテクノロジーを最⼤限に活⽤するために、ぜひ、詳細をお問い合わせください。

jaJapanese