AIモデルとプラットフォーム

ジュリアン・レベッツ、ピクテラのリードマシンラーニングエンジニア – インタビューシリーズ

mm
Unite.AI を Google の優先ソースに追加

ジュリアン・レベッツは、ピクテラのリードソフトウェア&マシンラーニングエンジニアです。ピクテラは、ディープラーニングベースのデテクターを迅速かつ安全にトレーニングするための地理空間クラウドベースプラットフォームを提供しています。

コードを1行も書かず、人間が作成した注釈がわずかしかない状態で、ピクテラのユーザーはアクション可能なディープラーニングモデルをビルドしてデプロイできます。

ピクテラは、衛星画像や航空写真の分析を自動化し、ユーザーがオブジェクトやパターンを識別できるようにします。

あなたがマシンラーニングとAIに惹かれたのは何ですか?

私はビデオゲームを作るためにプログラミングを始めました。コンピューターグラフィックスに興味を持ったのです。そのことがコンピュータービジョンにつながりました。コンピュータービジョンは、コンピュータが仮想環境を作るのではなく、実際の環境を認識するプロセスです。研究期间中に、マシンラーニングのコースを受けたのです。マシンラーニングがソフトウェアエンジニアリング、アルゴリズム、数学の交差点にあることが興味深いと思いました。マシンラーニングはまだ少し魔法のような感じがします。

 

あなたは衛星画像を分析するためにマシンラーニングを使用するプロジェクトに何年も携わっています。最初のプロジェクトは何でしたか?

私の最初の衛星画像への取り組みは、Terra-iプロジェクト(森林破壊の検出)でした。研究期間中に私はこのプロジェクトに取り組みました。NASAやESAなどの宇宙機関が提供する無料の衛星データの量に驚きました。毎日、またはほぼ毎日、地球の画像が無料で入手できるのです。これは、多くの科学アプリケーションにとって素晴らしいリソースです。

 

Terra-iプロジェクトについてもっと詳しく教えてください。

Terra-iプロジェクト(http://terra-i.org/terra-i.html)は、スイスのHEIG-VDのAndrez Perez-Uribe教授によって始められ、現在はコロンビアのCIATのLouis Reymondinによって率いられています。このプロジェクトのアイデアは、無料の衛星画像を使用して森林破壊を検出することです。当時、私たちはMODIS画像(250mピクセル解像度)を使用しました。MODIS画像は、空間的および時間的に一貫したカバレッジを提供しました。数日ごとに各ピクセルに対して測定値を取得し、この時間シリーズの測定値から、異常や新規性を検出することができました。

このプロジェクトは、当時のデータ量が課題であったことと、多くのコンピュータ上で動作させるためのソフトウェアエンジニアリングが必要であったことから、非常に興味深いものでした。ベイジアンニューラルネットワーク(当時は深くなかった)を使用して、各ピクセルの時間シリーズを予測しました。測定値が予測値と一致しない場合、異常が発生しました。

このプロジェクトの一環として、クラウド除去にも取り組みました。伝統的な信号処理アプローチを使用し、Fourierベースのアプローチ(HANTS)を使用して、時間シリーズをクリーンアップしました。ただし、時間シリーズを強くクリーンアップすると、異常も除去される可能性があるため、適切なパラメータを見つけるための実験が必要でした。

 

あなたは、ドローン画像から農地の作物タイプを自動的に分類するディープラーニングシステムも設計して実装しました。当時の主な課題は何でしたか?

これは私の最初のディープラーニングへの取り組みでした。当時の主な課題は、フレームワークを実行してGPUを適切に使用することよりも、ディープラーニング自体でした。Theanoを使用しました。これはTensorFlowの祖先の一つです。

プロジェクトの目的は、ドローン画像から農地の作物タイプを分類することでした。ディープラーニングモデルに色ヒストグラムを入力として使用するアプローチを試みました。カスタムTheanoレイヤーを実装し、CUDAコードを書く必要がありました。これは、ディープラーニングの技術的な詳細を掘り下げるための素晴らしい学習経験でした。

 

ピクテラのリードソフトウェア&マシンラーニングエンジニアとしてのあなたの日常業務について教えてください。

私の業務は、システムと製品全体のアーキテクチャを監視し、さまざまなステークホルダーとコミュニケーションをとることです。マシンラーニングは私たちのビジネスの核心ですが、実際の業務時間のほとんどはマシンラーニング自体ではなく、データ管理、インフラストラクチャ、UI/UX、プロトタイピング、ユーザー理解など、周辺のものに費やされることが多いです。これは、アカデミアや以前の大企業での経験と大きく異なります。アカデミアや大企業では、特定の問題に集中することが多かったです。

ピクテラの興味深い点は、ディープラーニングモデルをユーザーがトレーニングできるようにすることです。これは、典型的なマシンラーニングワークフローと異なります。典型的なワークフローでは、マシンラーニングエンジニアがモデルをトレーニングしてプロダクションに公開します。ピクテラでは、ユーザーがモデルをトレーニングできるようにするため、手動でトレーニングパラメータを調整することはできません。代わりに、すべてのユーザーに対して機能するトレーニング方法を見つける必要があります。これにより、私たちは「実験フレームワーク」と呼ばれる大規模なデータセットリポジトリを作成しました。このリポジトリを使用して、トレーニング方法の変更をテストし、変更が有益かどうかを評価できます。したがって、単一のモデルを評価するのではなく、アーキテクチャとトレーニング方法を評価しています。

もう1つの課題は、ユーザーがマシンラーニングの専門家ではないことです。したがって、ユーザーがデータセットをビルドしてマシンラーニングモデルをトレーニングできるように、UIを構築する必要があります。これは、UXチームとマシンラーニングチームの間で継続的な課題です。ユーザーを正しい方向に導くために、UIを設計する必要があります。

 

ピクテラで行っているその他の興味深いプロジェクトについて教えてください。

ピクテラでは、1.5年前にカスタムデテクタープロトタイプを開発しました。カスタムデテクターとは、ユーザーがプラットフォーム上で独自のモデルをトレーニングできる機能です。当初、プラットフォーム上に事前にトレーニングされたデテクターを備えていました。たとえば、建物デテクター、車デテクターなどでした。これは、典型的なマシンラーニングワークフローです。マシンラーニングエンジニアが特定のケース用にモデルを開発し、モデルをクライアントに提供します。

しかし、ピクテラでは、ユーザーが独自のモデルをトレーニングできるようにすることで、境界を少し押し広げたいと思いました。ユーザーがプラットフォーム上で独自のモデルをトレーニングできるようにするには、2つの課題がありました。まず、トレーニングに数時間かからないようにする必要がありました。ユーザーが数時間待つことはできません。2つ目は、数千の注釈が必要にならないようにする必要がありました。通常、大規模なディープラーニングモデルでは、数千の注釈が必要です。

私たちは、非常にシンプルなモデルから始め、テストを行い、プラットフォームに統合し、基本的なUIを作成しました。最初はうまくいかなかったのですが、数か月間、トレーニング方法とモデルを繰り返し改良しました。最終的に、うまく機能するまでに到達しました。現在、ユーザーがこの機能を頻繁に使用しています。

このプロジェクトで面白かったのは、トレーニングを速く保ちながら(現在は数分)、モデルを複雑にしすぎないようにするという二重の課題でした。さらに、ユーザーの問題を解決するのに十分な複雑さを持たせながら、数百個以下のラベルで機能するようにする必要がありました。

また、Googleの「マシンラーニングのルール」を多く適用しました。特に、パイプラインとメトリクスを最適化する前に実装するというルールを適用しました。これにより、私たちはシステム全体の思考モードに入り、すべての問題がマシンラーニングの核心で解決できるわけではないことを理解しました。問題の一部は、UI、事前/事後処理など、他の場所に押し出されることができます。

 

ピクテラで使用されているマシンラーニング技術について教えてください。

本番環境では、PyTorchを使用してモデルをトレーニングおよび実行しています。時折、特定のモデルを開発するためにTensorFlowも使用しています。他には、標準的な科学Pythonスタック(numpy、scipy)と地理空間ライブラリ(gdal)が使用されています。

 

画像をアップロードしてニューラルネットワークをトレーニングする際のピクテラのバックエンドプロセスについて教えてください。

画像をアップロードすると、画像を処理して「Cloud-Optimized-Geotiff」(COG)形式でBlobストレージ(Google Cloud Storage)に保存します。COG形式を使用することで、画像全体をダウンロードすることなく、画像のブロックに迅速にアクセスできます。これは重要な点です。地理空間画像は非常に大きく、ユーザーは50000×50000の画像で作業することがよくあります。

モデルをトレーニングするには、Web UIを使用してトレーニングデータセットを作成します。3種類のエリアを定義します。

  1. 「トレーニングエリア」でトレーニングラベルを描きます
  2. 「テストエリア」でモデルが予測し、結果を視覚化します
  3. 「精度エリア」でラベルを描きますが、これはトレーニングには使用されず、スコアリングのみに使用されます

データセットを作成したら、「トレーニング」をクリックしてモデルをトレーニングできます。トレーニングジョブをキューに入れ、GPUワーカーがジョブを拾います。モデルをトレーニングし、重みをBlobストレージに保存し、最後に「テストエリア」で予測してUIに表示します。ここから、モデルを繰り返し改良できます。通常、テストエリアで間違いを発見し、トレーニングエリアを追加してモデルを改善する必要があります。

モデルが満足のいくスコアになるまで繰り返します。満足のいくスコアになると、モデルを大規模に実行できます。ユーザーから見ると、単に「検出」をクリックするだけですが、バックエンドでは少し複雑です。画像が大きい場合、検出を高速化し、障害を処理し、数時間かからないようにするために、検出をグリッドセルに分割して、各セルで独立した検出ジョブを実行します。これにより、大規模な検出を実行できます。たとえば、デンマーク全域の25cm画像で検出を実行したことがあります。これは、1つのプロジェクトでTBのデータを処理することになります。このようなプロジェクトについては、Mediumの投稿で説明しています。

 

ピクテラについてさらに教えてください。

ピクテラの素晴らしい点は、ユニークな製品であり、マシンラーニングと地理空間の交差点に位置していることです。地理空間データを処理する他の企業と異なり、ピクテラはユーザーにセルフサービスプラットフォームを提供しています。ユーザーは、簡単に場所を特定し、パターンを分析し、地球観測画像でオブジェクトを検出して数えることができます。これは、マシンラーニングがなければ不可能です。ユーザーは、基本的なコーディングスキルも必要としません。プラットフォームが、わずかな人間の注釈に基づいて作業します。地理空間ドメインのマシンラーニングの基本概念を学びたいユーザー向けに、包括的なオンラインコースも提供しています。

ピクテラの可能な応用は無限です。プラットフォーム上で構築されたデテクターは、都市管理、精密農業、森林管理、人道的災害リスク管理、農業など、さまざまな分野で使用されています。ユーザーがプラットフォームを使用して何をするかについて、毎日驚かされています。ぜひ一度試してみてください。ソーシャルメディアで結果を共有してください。

素晴らしいインタビューをありがとうございました。ピクテラの強力さを共有してくださり、感謝します。ピクテラについてもっと知りたい読者は、ピクテラのウェブサイトを訪れてください。

アントワーヌは、Unite.AIのビジョナリーレーダーであり共同創設者です。彼は、AIとロボティクスの未来を形作り、推進するための不屈の情熱に駆り立てられています。シリアルエントレプレナーである彼は、AIが電気と同様に社会に大きな変革をもたらすと信じており、破壊的な技術とAGIの可能性について語ることがよくあります。

彼はフューチャリストとして、これらのイノベーションが私たちの世界をどのように形作るかを探求することに尽力しています。さらに、彼はSecurities.ioの創設者であり、未来を再定義し、全セクターを再構築する最先端技術への投資に焦点を当てたプラットフォームです。