用語集

JSON

シームレスなデータ交換、モデル設定、リアルタイムアプリケーションにより、JSONがどのようにAIとMLのワークフローを簡素化するかをご覧ください。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

JSON(JavaScriptObject Notation)は、軽量で人間が読めるデータ形式で、特にウェブアプリケーションやデータ駆動型システムでデータ交換に広く使用されている。JSONはシンプルで機械による解析が容易なため、人工知能(AI)や機械学習(ML)の分野を含め、最新のプログラミングの基礎となっている。JSONは、シームレスなデータ交換、モデル構成、効率的なリアルタイム・アプリケーションを容易にし、開発者や研究者にとって不可欠なツールとなっている。JSONは、公式のECMA-404 JSON Data Interchange Standardで定義されているように、人間とコンピュータの両方が容易に理解できる、標準化されたデータ構造化方法を提供する。詳細はJSON.orgでもご覧いただけます。

主な特徴

JSONの構造は、2つの基本要素で成り立っている:

  1. キーと値のペア:名前と値のペアのコレクションで、異なるプログラミング言語ではオブジェクト、辞書、連想配列と呼ばれることが多い。キーは常に文字列で、値は文字列、数値、ブーリアン、配列、または別のJSONオブジェクトです。
  2. 順序付きリスト:配列またはリストとして知られている値の順序付けられたシーケンス。配列の値は、有効な JSON データ型であれば何でもかまいません。

このわかりやすい構造により、JSONファイルは簡単に作成、読み取り、変更できる。JSONファイルは言語にとらわれない。 Pythonなどの異なるプログラミング言語やプラットフォーム間で互換性の問題なく使用できるため、分散システムやマイクロサービスにとって非常に汎用性が高い。

AIとMLの応用

JSONは、AIやMLのワークフローのさまざまな局面で重要な役割を果たしている:

実例

AIやMLにおけるJSONの実用的な応用例をいくつか紹介しよう:

  1. 自律走行車:自動運転車のカメラ、ライダー、レーダーからのセンサーデータは、多くの場合、処理され、異なるシステムコンポーネント間で通信される必要があります。JSONは、このデータを構造化するために使用され、検出された物体をそのタイプ、位置、速度、および信頼レベルで表現してから、多くの場合ディープラーニングモデルを搭載した意思決定アルゴリズムに供給します。Waymoのような企業は、その複雑なシステムのために堅牢なデータフォーマットに依存している。
  2. Ultralytics HUB:APIを介してプログラムでUltralytics HUBとやり取りする場合、トレーニングジョブの開始、データセットのアップロード、モデルのパフォーマンスメトリクスの取得などのリクエストには、JSONとしてフォーマットされたデータの送受信が含まれることがよくあります。これにより、HUBの機能をカスタムワークフローやアプリケーションにシームレスに統合することができます。

JSONと他のデータフォーマット

JSONを他の一般的なデータ・シリアライズ形式と比較することは有益である:

  • YAML(YAML Ain't Markup Language)YAMLは人間の読みやすさを優先し、設定ファイル(モデルアーキテクチャやトレーニングパラメータの定義など)によく使われる。JSONもコンフィギュレーションに使用できるが、YAMLのシンタックス(インデントを使用)は一般的に、複雑な入れ子構造に対してよりクリーンで読みやすいと考えられている。JSONは、より単純な構文解析ルールと広範なサポートにより、APIを介したデータ交換に一般的に好まれている。
  • XML(eXtensible Markup Language)XMLは、人間が読め、かつ機械が読めるフォーマットで文書をエンコードするために使用されるもう一つのマークアップ言語である。JSONと比較して、XMLは閉じタグを使用するため、より冗長であり、解析が複雑になる傾向があります。企業システムやSOAPのような特定の標準ではまだ使用されていますが、JSONはシンプルでオーバーヘッドが少ないため、ウェブアプリケーションや最新のAPIではXMLに取って代わられています。

要約すると、JSONの軽量性、人間による可読性、および解析の容易さは、AIおよびMLシステムにおけるデータの構造化と交換、特にAPI通信と構造化された結果の保存のために、非常に効果的で広く採用されているフォーマットとなっている。プログラミング言語間で互換性があるため、データ注釈やデータの前処理段階から、以下のようなツールを使用した最終的なモデルの展開まで、多様なテクノロジースタック内でのスムーズな統合が保証されます。 Ultralytics YOLO.

すべて読む