この記事は、インテル® デベロッパー・ゾーンに公開されている「AI Examples: A Step-By-Step Guide to Hunting Dinosaurs with Intel® AI」の日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。
2022年8月8日 – 7月12日に開催された oneAPI DevSummit for AI のワークショップ「Hunting Dinosaurs with Intel AI (インテル® AI ツールで恐竜を見つけよう)」を見逃した方のために、この記事ではワークショップの概要を紹介します。ぜひ試してみてください。
恐竜の骨のマップが化石の発見につながった? ネタバレはしませんが、きっと驚くような発見があるはずです。
インテル® AI ツールを使った恐竜の骨探しの背景については、以前のブログ「インテル® AI ツールで恐竜を見つけよう」 (英語) を参照してください。
目標: 恐竜の骨の尤度マップを作成し、新しい恐竜の化石発掘に役立てよう
図 1 は、ワークショップで作成された恐竜の骨のマップの一例です。これは、アメリカ西部の有名な恐竜骨層であるモリソン層の航空写真と、そこで発見された小骨片の GPS 座標のデータを用いて作成した尤度マップです。畳み込みニューラル・ネットワーク (CNN) に画像を入力してコンピューター・ビジョン (英語) モデルをトレーニングし、骨がある可能性の高い画像を分類して、この「恐竜の骨の尤度マップ」を作成ました。緑色の部分は、恐竜の骨が見つかりやすい場所を示しており、骨の探索を絞り込むことができます。
図 1. 恐竜の骨の尤度マップの例
恐竜の骨の尤度マップの作成手順
ReadMe ファイル (英語)
ワークショップの演習は Jupyter* Notebook を使用しています。
- 02_ContextMattersClustering.ipynb
- 07_BuildTrainScorePyTorchModel.ipynb
- 09_Dino_bone_find_OpenVINO.ipynb
残りのノートブックは情報提供を目的としています。
ベースカーネルは、Python* 3.7 (インテル® oneAPI) です。
ブラウザーはシークレット モードで使用することを推奨します。
notebooks and assets、data、および models フォルダーが必要です。これらのフォルダーが表示されない場合は、最新の情報に更新してください。
図 2 は、恐竜の骨の尤度マップを作成する手順を示しています。
図 2. 恐竜の骨の尤度マップを作成する手順
尤度マップを作成するには、次の操作を行います。
- データの収集: 化石のある場所の緯度と経度のデータを収集します。
- 表形式データのクラスタリングと分類 (02_ContextMattersClustering.ipynb を使用した演習): このステップでは、scikit-learn* 向けインテル® エクステンションの K 平均法を使用して、化石のサンプルを互いの近接度 (GPS 座標) に基づいてクラスタリングします。クラスタリングにより、類似した性質を持つ化石が一緒に発見されることが明らかになります。
- 半教師ありラベル表形式: このステップでは、2D ガウスカーネル密度推定を使用し、骨の密度を調べ、その場所に骨があるかないかを推定するのに役立つヒストグラムを作成します。骨があるかないかという 2 値分類ではなく、骨がない、骨がある可能性、骨がある、に分類します。
- ニューメキシコ州のトレーニング・データの作成: ニューメキシコ州の航空写真を入手し、画像タイルを準備し、タイルに点数を付けます。これにより、恐竜の骨の尤度マップにたどり着くための地理的領域のラベル付きマップが作成されます。
- モデルの構築、トレーニング、スコア付け (07_BuildTrainScorePyTorchModel.ipynb を使用した演習): このステップでは、航空写真をテンソルに変換し、トレーニング・データ分布のバランスをチェックします。PyTorch* の ResNet* 18 モデルを使って、各画像を以下のように分類します。
0 確実に骨なし
1 骨がある可能性がある
2 骨がある - ユタ州の写真のスコア付け (09_Dino_bone_find_OpenVINO.ipynb を使用した演習): このステップでは、ユタ州の写真をスコア付けし、恐竜国定公園の骨のマップを作成します。まず、PyTorch* の ResNet* 18 モデルを ONNX* (Open Neural Network Exchange) に変換し、次に OpenVINO™ ツールキット・モデルに変換します。パフォーマンスを向上するため、推論は OpenVINO™ の中間表現とモデル・オプティマイザーを使って行います。
結果が出ました! この手順に従って作成した恐竜の骨の尤度マップを使って、ユタ州で恐竜の骨が発見されました。
以下のコマンドを使用して、ワークショップからデータを取得できます。
Download data $ mkdir Jurassic $ cd Jurassic $ cp –r /data/oneapi_workshop/big_datasets/Jurassic . $ mv Jurassic data
ワークショップのビデオとプレゼンテーション
以下は、ワークショップのビデオです。必要な手順や情報に簡単にアクセスできるようにアウトラインを追加しています。プレゼンテーションはこちら (英語) からダウンロードできます。
インテル® AI ツールのダウンロード
インテル® DevCloud (英語) を使用してワークショップを完了するか、これらのツールをダウンロードしてマシンにインストールすることができます。
- インテル® AI アナリティクス・ツールキットのダウンロード (英語): すべてまたは個々のコンポーネントをダウンロードできます。
- インテル® AI アナリティクス・ツールキットの入手方法の導入ガイド (英語)
- scikit-learn* 向けインテル® エクステンション (K 平均法、DBSCAN、K 近傍法分類器) のダウンロード (https://intel.github.io/scikit-learn-intelex/installation.html): conda*、PIP*、Docker* などからダウンロードできます。
- PyTorch* 向けインテル® エクステンションのダウンロード (英語)
- インテル® ディストリビューションの OpenVINO™ ツールキットのダウンロード (英語)
恐竜の骨を見つけたら…
掘り起こさないでください。通常、恐竜の骨は、発見された場所で保護されています (例えば、アメリカの連邦政府の土地では保護されています)。
写真を撮り、その場所を記録し、地元の自然史博物館を通じて古生物学者に連絡してください。
インテル® AI ツールおよびトレーニング
AI とマシンラーニング・ページ (英語) では、恐竜探しからその他さまざまな AI ニーズの解決に役立つソフトウェア開発ツール (英語)、言語、フレームワーク、その他のリソースを見つけることができます。
この記事では、ワークショップに参加するために必要なものを紹介しました。恐竜の骨探しをお楽しみください。
関連情報
関連記事
- インテル® oneAPI ディープ・ニューラル・ネットワーク・ライブラリー (インテル® oneDNN) で AI ディープラーニングを高速化 (英語)
- インテルがコンピューター・グラフィックスの制作にマシンラーニングを採用
オンデマンド・ウェビナー