이 페이지의 예에서는 Earth Engine에서 Vertex AI를 사용하는 방법을 보여줍니다. 자세한 내용은 호스팅된 모델 페이지를 참고하세요. 이 예에서는 Colab 노트북에서 실행되는 Earth Engine Python API를 사용합니다.
비용
AutoML
로우 코드 작물 분류
AutoML을 사용하면 최소한의 기술적 노력으로 모델을 만들고 학습시킬 수 있습니다. 이 예에서는 Vertex AI Python SDK를 사용하여 AutoML 테이블 형식 모델을 학습 및 배포한 후 Earth Engine에서 이 모델에 연결하여 National Agriculture Imagery Program (NAIP) 항공 이미지의 작물 유형을 분류하는 방법을 보여줍니다.
PyTorch
CNN을 사용한 토지 피복 분류
이 예에서는 여러 스펙트럼 벡터를 입력으로(즉, 한 번에 하나의 픽셀) 받아 픽셀당 단일 클래스 라벨을 출력하는 간단한 CNN을 보여줍니다. Colab 노트북에서는 CNN을 만들고, Earth Engine의 데이터로 학습시키고, 모델을 Vertex AI에 배포하고, Earth Engine에서 모델의 예측을 가져오는 방법을 보여줍니다.
TensorFlow
DNN을 사용하여 처음부터 다중 클래스 예측
'심층' 신경망 (DNN)은 하나 이상의 히든 레이어가 있는 인공 신경망 (ANN)입니다. 이 예에서는 숨겨진 레이어가 하나인 간단한 DNN을 보여줍니다. DNN은 스펙트럼 벡터 (즉, 한 번에 하나의 픽셀)를 입력으로 받아 픽셀당 단일 클래스 라벨과 클래스 확률을 출력합니다. Colab 노트북에서는 DNN을 만들고, Earth Engine의 데이터로 학습시키고, 내보낸 이미지에 대해 예측하고, 예측을 Earth Engine으로 가져오는 방법을 보여줍니다.
Vertex AI에 호스팅된 DNN을 사용한 다중 클래스 예측
Earth Engine(예: 코드 편집기)에서 직접 Vertex AI에 호스팅된 모델의 예측을 가져올 수 있습니다. 이 가이드에서는 TensorFlow 모델을 학습, 저장, 준비하고 호스팅을 위해 준비한 모델을 Vertex AI 엔드포인트에 배포하고 Earth Engine에서 대화형 모델 예측 맵을 가져오는 방법을 보여줍니다.
Vertex AI에서 학습되고 호스팅되는 FCNN을 사용한 시맨틱 세분화
이 가이드에서는 토지 피복 매핑을 위한 시맨틱 세분화를 보여줍니다. 입력 또는 학습 데이터에 관한 자세한 내용은 이 2022 Geo for Good 세션을 참고하세요. 이 가이드에서는 Earth Engine의 데이터를 기반으로 커스텀 머신을 사용하여 Vertex AI에서 모델을 학습시키고, 호스팅을 위해 모델을 준비하고, 모델을 엔드포인트에 배포하고, Earth Engine에서 대화형 모델 예측 맵을 가져오는 방법을 보여줍니다.
선행 학습된 나무 숲 꼭대기 세분화 모델 호스팅
사전 학습된 모델을 호스팅하여 Earth Engine에서 대화형 예측을 얻을 수 있습니다. 예를 들어 Li et al. (2023)은 TensorFlow로 구현된 여러 나무 숲 구분 모델을 발표했습니다. 입력과 출력이 적절하게 형성되면 이러한 모델을 직접 호스팅하고 입력 이미지가 있는 곳이면 어디서나 Earth Engine에서 예측을 얻는 데 사용할 수 있습니다. 이 가이드에서는 사전 학습된 모델을 다운로드하고 Vertex AI에서 호스팅할 수 있도록 준비하고 Earth Engine 공개 카탈로그에서 이미지에 대한 예측을 가져오는 방법을 보여줍니다.
Yggdrasil 결정 포레스트 (YDF)
Yggdrasil 결정 포레스트 (YDF)는 TensorFlow와 호환되는 널리 사용되는 트리 기반 머신러닝 모델의 구현입니다. 이러한 모델은 신경망과 마찬가지로 Vertex AI에서 학습, 저장, 호스팅할 수 있습니다. 이 노트북에서는 YDF를 설치하고, 간단한 모델을 학습하고, Vertex AI에서 모델을 호스팅하고, Earth Engine에서 대화형 예측을 가져오는 방법을 보여줍니다.
지원 중단됨
TensorFlow 결정 포레스트
TensorFlow 결정 포레스트 (TF-DF)는 TensorFlow에서 널리 사용되는 트리 기반 머신러닝 모델을 구현한 것입니다. 이러한 모델은 TensorFlow 신경망과 마찬가지로 Vertex AI에서 학습, 저장, 호스팅할 수 있습니다. 이 노트북에서는 TF-DF를 설치하고, 랜덤 포레스트 모델을 학습시키고, Vertex AI에서 모델을 호스팅하고, Earth Engine에서 대화형 예측을 가져오는 방법을 보여줍니다.
FCNN을 사용한 회귀
'컨볼루션' 신경망 (CNN)에는 하나 이상의 컨볼루션 레이어가 포함되며, 여기서 입력은 픽셀의 이웃이므로 완전히 연결되지는 않지만 공간 패턴을 식별하는 데 적합한 네트워크가 됩니다. 완전 컨볼루션 신경망 (FCNN)에는 완전 연결 레이어가 출력으로 포함되지 않습니다. 즉, 전역 출력 (예: 이미지당 단일 출력)이 아닌 현지화된 출력 (예: 픽셀당)을 학습합니다.
이 Colab 노트북에서는 의학 이미지 세분화를 위해 개발된 FCNN인 UNET 모델을 사용하여 256x256 픽셀 이웃에서 각 픽셀의 연속 [0,1] 출력을 예측하는 방법을 보여줍니다. 특히 이 예에서는 네트워크를 학습시키기 위해 데이터 패치를 내보내는 방법과 추론을 위해 이미지 패치를 오버타일하여 타일 경계 아티팩트를 제거하는 방법을 보여줍니다.
AI Platform에서 학습
FCNN 예와 같이 비교적 큰 모델의 경우 Colab 노트북이 실행되는 무료 가상 머신의 수명이 장기 실행 학습 작업에 충분하지 않을 수 있습니다. 특히 평가 데이터 세트에서 예상 예측 오류가 최소화되지 않으면 학습 반복 횟수를 늘리는 것이 좋습니다. Cloud에서 대규모 학습 작업을 실행하기 위해 이 Colab 노트북에서는 학습 코드를 패키징하고, 학습 작업을 시작하고, earthengine model prepare
명령어로 SavedModel
를 준비하고, ee.Model.fromAiPlatformPredictor
를 사용하여 Earth Engine에서 대화형으로 예측을 가져오는 방법을 보여줍니다.