Los bosques de manglares son una parte importante de un ecosistema saludable, y las actividades humanas son una de las principales razones de su desaparición gradual de las costas de todo el mundo. El uso de un modelo de aprendizaje automático (ML) para identificar regiones de manglares a partir de una imagen satelital brinda a los investigadores una forma efectiva de monitorear el tamaño de los bosques a lo largo del tiempo. En Parte 1 de esta serie, mostramos cómo recopilar datos satelitales de manera automatizada y analizarlos en Estudio Amazon SageMaker con visualización interactiva. En esta publicación, mostramos cómo usar Piloto automático Amazon SageMaker para automatizar el proceso de construcción de un clasificador personalizado de manglares.
Entrenar un modelo con Autopilot
El piloto automático proporciona una forma equilibrada de construir varios modelos y seleccionar el mejor. Al crear múltiples combinaciones de diferentes técnicas de preprocesamiento de datos y modelos de ML con un esfuerzo mínimo, Autopilot proporciona un control completo sobre estos pasos de componentes al científico de datos, si así lo desea.
Puede usar Autopilot usando uno de los SDK de AWS (detalles disponibles en el Guía de referencia de API para Autopilot) o a través de Studio. Utilizamos Autopilot en nuestra solución Studio siguiendo los pasos descritos en esta sección:
- En la página de Studio Launcher, elija el signo más para Nuevo experimento de piloto automático.
- Conecta tus datos, seleccione Buscar depósito S3e ingrese el nombre del depósito donde guardó los conjuntos de datos de entrenamiento y prueba.
- Nombre de archivo del conjunto de datos, ingresa el nombre del archivo de datos de entrenamiento que creaste en el Preparar los datos de entrenamiento sección en Parte 1.
- Ubicación de los datos de salida (depósito de S3), ingrese el mismo nombre de depósito que usó en el paso 2.
- Nombre del directorio del conjunto de datos, ingrese un nombre de carpeta debajo del depósito donde desea que Autopilot almacene los artefactos.
- ¿Es su entrada S3 un archivo de manifiesto?, escoger DESC.
- Target, escoger Label.
- Implementación automática, escoger DESC.
- Bajo la Configuración avanzada, Para Tipo de problema de aprendizaje automático, escoger Clasificación binaria.
- Métrica objetiva, escoger AUC.
- Elija cómo ejecutar su experimento, escoger No, ejecute una prueba piloto para crear un cuaderno con definiciones de candidatos.
- Elige Crear experimento.
Para obtener más información sobre cómo crear un experimento, consulte Cree un experimento de piloto automático de Amazon SageMaker.Puede tardar unos 15 minutos en ejecutar este paso. - Cuando termine, elija Cuaderno de generación de candidatos abierto, que abre un nuevo bloc de notas en modo de solo lectura.
- Elige Importar libreta para hacer que el bloc de notas sea editable.
- Para Imagen, elija Data science.
- Núcleo, escoger 3 Python.
- Elige Seleccione.
Este cuaderno generado automáticamente tiene explicaciones detalladas y proporciona un control completo sobre la tarea de construcción del modelo real a seguir. Una versión personalizada del cuaderno, donde se entrena a un clasificador utilizando las bandas de satélite Landsat desde 2013, está disponible en el repositorio de códigos bajo notebooks/mangrove-2013.ipynb
.
El marco de creación de modelos consta de dos partes: la transformación de características como parte del paso de procesamiento de datos y la optimización de hiperparámetros (HPO) como parte del paso de selección del modelo. Todos los artefactos necesarios para estas tareas se crearon durante el experimento de Autopilot y se guardaron en Servicio de almacenamiento simple de Amazon (Amazon S3). La primera celda de la notebook descarga esos artefactos de Amazon S3 al local Amazon SageMaker sistema de archivo para inspección y cualquier modificación necesaria. Hay dos carpetas: generated_module
y sagemaker_automl
, donde se almacenan todos los módulos y scripts de Python necesarios para ejecutar el cuaderno. Los diversos pasos de transformación de características, como imputación, escalado y PCA, se guardan como generated_modules/candidate_data_processors/dpp*.py.
Autopilot crea tres modelos diferentes basados en los algoritmos XGBoost, aprendizaje lineal y perceptrón multicapa (MLP). Una tubería candidata consta de una de las opciones de transformación de características, conocida como data_transformer
y un algoritmo. Una canalización es un diccionario de Python y se puede definir de la siguiente manera:
En este ejemplo, la canalización transforma los datos de entrenamiento de acuerdo con el script en generated_modules/candidate_data_processors/dpp5.py
y construye un modelo XGBoost. Aquí es donde Autopilot proporciona un control completo al científico de datos, que puede elegir los pasos de selección de modelo y transformación de características generados automáticamente o crear su propia combinación.
Ahora puede agregar la canalización a un grupo para que Autopilot ejecute el experimento de la siguiente manera:
Este es un paso importante en el que puede decidir mantener solo un subconjunto de candidatos sugeridos por Autopilot, en función de la experiencia en la materia, para reducir el tiempo de ejecución total. Por ahora, conserve todas las sugerencias de Autopilot, que puede enumerar de la siguiente manera:
Nombre del candidato | Algoritmo | Transformador de funciones |
dpp0-xgboost | xgboost | dpp0.py |
dpp1-xgboost | xgboost | dpp1.py |
dpp2-aprendiz lineal | aprendiz lineal | dpp2.py |
dpp3-xgboost | xgboost | dpp3.py |
dpp4-xgboost | xgboost | dpp4.py |
dpp5-xgboost | xgboost | dpp5.py |
dpp6-mlp | MLP | dpp6.py |
El experimento completo de Autopilot se realiza en dos partes. Primero, debe ejecutar los trabajos de transformación de datos:
Este paso debe completarse en aproximadamente 30 minutos para todos los candidatos, si no realiza más modificaciones en el dpp*.py
archivos.
El siguiente paso es construir el mejor conjunto de modelos ajustando los hiperparámetros para los respectivos algoritmos. Los hiperparámetros se suelen dividir en dos partes: estáticos y sintonizables. Los hiperparámetros estáticos permanecen sin cambios durante todo el experimento para todos los candidatos que comparten el mismo algoritmo. Estos hiperparámetros se pasan al experimento como un diccionario. Si elige elegir el mejor modelo XGBoost maximizando el AUC de tres rondas de un esquema de validación cruzada quíntuple, el diccionario tiene el siguiente código:
Para los hiperparámetros ajustables, debe pasar otro diccionario con rangos y tipo de escala:
El conjunto completo de hiperparámetros está disponible en el mangrove-2013.ipynb
cuaderno.
Para crear un experimento en el que los siete candidatos se puedan probar en paralelo, cree un sintonizador HPO de varios algoritmos:
Las métricas objetivas se definen de forma independiente para cada algoritmo:
Probar todos los valores posibles de hiperparámetros para todos los experimentos es un desperdicio; puede adoptar una estrategia bayesiana para crear un sintonizador HPO:
En la configuración predeterminada, Autopilot elige 250 trabajos en el sintonizador para elegir el mejor modelo. Para este caso de uso, es suficiente establecer max_jobs=50
para ahorrar tiempo y recursos, sin ninguna penalización significativa en términos de elegir el mejor conjunto de hiperparámetros. Finalmente, envíe el trabajo de HPO de la siguiente manera:
El proceso tarda unos 80 minutos en instancias ml.m5.4xlarge. Puede monitorear el progreso en la consola de SageMaker eligiendo Trabajos de ajuste de hiperparámetros bajo Formación en el panel de navegación.
Puede visualizar una gran cantidad de información útil, incluido el desempeño de cada candidato, eligiendo el nombre del trabajo en curso.
Finalmente, compare el rendimiento del modelo de los mejores candidatos de la siguiente manera:
candidato | AUC | tiempo de ejecución (s) |
dpp6-mlp | 0.96008 | 2711.0 |
dpp4-xgboost | 0.95236 | 385.0 |
dpp3-xgboost | 0.95095 | 202.0 |
dpp4-xgboost | 0.95069 | 458.0 |
dpp3-xgboost | 0.95015 | 361.0 |
El modelo de mayor rendimiento basado en MLP, aunque marginalmente mejor que los modelos XGBoost con varias opciones de pasos de procesamiento de datos, también requiere mucho más tiempo para entrenar. Puede encontrar detalles importantes sobre el entrenamiento del modelo MLP, incluida la combinación de hiperparámetros utilizados, de la siguiente manera:
Nombre del trabajo de formación | mangrove-2-notebook–211021-2016-012-500271c8 |
EntrenamientoTrabajoEstado | Completado |
ValorObjetivoFinal | 0.96008 |
Hora de inicio del entrenamiento | 2021-10-21 20:22:55+00:00 |
Hora de finalización del entrenamiento | 2021-10-21 21:08:06+00:00 |
EntrenamientoTiempo transcurridoSegundos | 2711 |
FormaciónTrabajoDefiniciónNombre | dpp6-mlp |
abandono_prob | 0.415778 |
incrustar_tamaño_factor | 0.849226 |
ponedoras | 256 |
tasa de aprendizaje | 0.00013862 |
tamaño_mini_lote | 317 |
tipo de red | avance |
peso_decay | 1.29323e-12 |
Crear una canalización de inferencia
Para generar inferencias sobre nuevos datos, debe construir una canalización de inferencias en SageMaker para alojar el mejor modelo al que se pueda llamar más adelante para generar inferencias. El modelo de canalización de SageMaker requiere tres contenedores como componentes: transformación de datos, algoritmo y transformación de etiqueta inversa (si es necesario asignar predicciones numéricas a etiquetas no numéricas). Para abreviar, solo se muestra una parte del código requerido en el siguiente fragmento; el código completo está disponible en el mangrove-2013.ipynb
cuaderno:
Una vez que se construyen los contenedores del modelo, puede construir e implementar la canalización de la siguiente manera:
La implementación del punto final tarda unos 10 minutos en completarse.
Obtener inferencias sobre el conjunto de datos de prueba mediante un punto final
Después de implementar el punto final, puede invocarlo con una carga de características B1–B7 para clasificar cada píxel en una imagen como manglar (1) u otro (0):
Los detalles completos sobre el posprocesamiento de las predicciones del modelo para la evaluación y el trazado están disponibles en notebooks/model_performance.ipynb
.
Obtenga inferencias sobre el conjunto de datos de prueba mediante una transformación por lotes
Ahora que ha creado el modelo de mejor rendimiento con Autopilot, podemos usar el modelo para la inferencia. Para obtener inferencias sobre grandes conjuntos de datos, es más eficiente usar una transformación por lotes. Generemos predicciones en todo el conjunto de datos (entrenamiento y prueba) y agreguemos los resultados a las características, de modo que podamos realizar un análisis más detallado para, por ejemplo, verificar la predicción frente a los datos reales y la distribución de características entre las clases previstas.
Primero, creamos un archivo de manifiesto en Amazon S3 que apunta a las ubicaciones de los datos de prueba y entrenamiento de los pasos de procesamiento de datos anteriores:
Ahora podemos crear un trabajo de transformación por lotes. Debido a que nuestro tren de entrada y nuestro conjunto de datos de prueba tienen label
como última columna, debemos soltarla durante la inferencia. Para ello, pasamos InputFilter
existentes DataProcessing
argumento. El código "$[:-2]"
indica que se suelte la última columna. La salida pronosticada luego se une con los datos de origen para un análisis más detallado.
En el siguiente código, construimos los argumentos para el trabajo de transformación por lotes y luego los pasamos al create_transform_job
función:
Puede monitorear el estado del trabajo en la consola de SageMaker.
Visualice el rendimiento del modelo
Ahora puede visualizar el rendimiento del mejor modelo en el conjunto de datos de prueba, que consta de regiones de India, Myanmar, Cuba y Vietnam, como una matriz de confusión. El modelo tiene un alto valor de recuperación para los píxeles que representan manglares, pero solo alrededor del 75 % de precisión. La precisión de los píxeles que no son manglares u otros píxeles es del 99 % con una recuperación del 85 %. Puede ajustar el límite de probabilidad de las predicciones del modelo para ajustar los valores respectivos según el caso de uso particular.
Vale la pena señalar que los resultados son una mejora significativa con respecto al modelo integrado smileCart.
Visualice las predicciones del modelo
Por último, es útil observar el rendimiento del modelo en regiones específicas del mapa. En la siguiente imagen, el área de manglares en la frontera entre India y Bangladesh se representa en rojo. Los puntos muestreados del parche de imagen de Landsat que pertenecen al conjunto de datos de prueba se superponen a la región, donde cada punto es un píxel que el modelo determina que representa manglares. Los puntos azules están clasificados correctamente por el modelo, mientras que los puntos negros representan errores del modelo.
La siguiente imagen muestra solo los puntos que el modelo predijo que no representarían manglares, con el mismo esquema de color que el ejemplo anterior. El contorno gris es la parte del parche Landsat que no incluye manglares. Como se desprende de la imagen, el modelo no comete ningún error al clasificar puntos en el agua, pero se enfrenta a un desafío al distinguir los píxeles que representan manglares de los que representan follaje normal.
La siguiente imagen muestra el rendimiento del modelo en la región de manglares de Myanmar.
En la siguiente imagen, el modelo identifica mejor los píxeles de los manglares.
Limpiar
El extremo de inferencia de SageMaker continúa incurriendo en costos si se deja en ejecución. Elimine el punto final de la siguiente manera cuando haya terminado:
Conclusión
Esta serie de publicaciones proporcionó un marco integral para que los científicos de datos resuelvan problemas de SIG. Parte 1 mostró el proceso ETL y una forma conveniente de interactuar visualmente con los datos. La Parte 2 mostró cómo usar Autopilot para automatizar la construcción de un clasificador de manglares personalizado.
Puede usar este marco para explorar nuevos conjuntos de datos satelitales que contienen un conjunto más rico de bandas útiles para la clasificación de manglares y explorar la ingeniería de características incorporando conocimiento del dominio.
Acerca de los autores
andréi ivanovic es un estudiante entrante de Maestría en Ciencias de la Computación en la Universidad de Toronto y recién graduado del programa de Ciencias de la Ingeniería en la Universidad de Toronto, con especialización en Inteligencia de Máquinas con especialización en Robótica/Mecatrónica. Está interesado en la visión artificial, el aprendizaje profundo y la robótica. Hizo el trabajo presentado en esta publicación durante su pasantía de verano en Amazon.
david dong es científico de datos en Amazon Web Services.
Arkajyoti misra es científico de datos en Amazon LastMile Transportation. Le apasiona aplicar técnicas de Visión por Computador para resolver problemas que ayuden a la tierra. Le encanta trabajar con organizaciones sin fines de lucro y es miembro fundador de ekipi.org.
- Coinsmart. El mejor intercambio de Bitcoin y criptografía de Europa.
- Platoblockchain. Inteligencia del Metaverso Web3. Conocimiento amplificado. ACCESO LIBRE.
- CriptoHawk. Radar de altcoins. Prueba gratis.
- Fuente: https://aws.amazon.com/blogs/machine-learning/part-2-identify-mangrove-forests-using-satellite-image-features-using-amazon-sagemaker-studio-and-amazon-sagemaker- piloto automático/
- "
- 10
- 100
- a
- Nuestra Empresa
- Conforme
- actividades
- algoritmo
- algoritmos
- Todos
- Amazon
- Amazon Web Services
- entre
- análisis
- Analytics
- analizar
- Otra
- La aplicación de
- Reservada
- argumentos
- en torno a
- automatizado
- Confirmación de Viaje
- automáticamente
- Hoy Disponibles
- AWS
- porque
- MEJOR
- Negro
- cuerpo
- frontera
- build
- Construir la
- construye
- incorporado
- candidato
- candidatos
- case
- Reto
- opciones
- Elige
- privadas
- clasificación
- clasificado
- código
- Columna
- combinación
- combinaciones
- completar
- componente
- componentes
- computadora
- Ciencias de la Computación
- confusión
- Consola
- Contenedores
- continúa
- control
- Conveniente
- Para crear
- creado
- crea
- Creamos
- Cuba
- personalizado
- datos
- proceso de datos
- científico de datos
- profundo
- Dependiente
- desplegar
- desplegado
- despliegue
- detallado
- detalles
- HIZO
- una experiencia diferente
- Pantalla
- No
- dominio
- Descargas
- Soltar
- durante
- cada una
- tierra
- ecosistema
- Eficaz
- eficiente
- esfuerzo
- de extremo a extremo
- Punto final
- Ingeniería
- Participar
- evaluación
- ejemplo
- experimento
- Experiencia
- explorar
- caras
- Moda
- Feature
- Caracteristicas
- Finalmente
- Nombre
- seguir
- siguiendo
- siguiente
- la fundación de
- Marco conceptual
- en
- ser completados
- función
- promover
- generar
- generado
- generación de AHSS
- graduados
- gris
- guía
- altura
- ayuda
- Alta
- Cómo
- Como Hacer
- HTTPS
- humana
- Identifique
- identificar
- imagen
- importante
- es la mejora continua
- incluir
- Incluye
- independientemente
- India
- información
- Las opciones de entrada
- ejemplo
- Intelligence
- interactivo
- interesado
- IT
- Trabajos
- Empleo
- se unió a
- Guardar
- especialistas
- conocido
- Label
- Etiquetas
- large
- aprendizaje
- línea
- Lista
- local
- Ubicación
- .
- máquina
- máquina de aprendizaje
- gran
- para lograr
- mapa
- Máster
- Matrix
- Materia
- miembro
- Métrica
- errores
- ML
- modelo
- modelos
- Monitorear
- más,
- múltiples
- Myanmar
- Navegación
- necesario
- Next
- sin fines de lucro
- cuaderno
- abre
- optimización
- Opciones
- para las fiestas.
- Otro
- EL DESARROLLADOR
- parte
- particular
- apasionado
- Patch
- actuación
- actuaciones
- realizar
- piloto
- punto
- puntos
- alberca
- posible
- Artículos
- Predicciones
- anterior
- Problema
- problemas
- tratamiento
- Programa
- previsto
- proporciona un
- razones
- reciente
- reducir
- región
- regular
- permanecer
- repositorio
- representar
- que representa
- solicita
- Requisitos
- requiere
- investigadores
- Recursos
- Resultados
- robótica
- Función
- rondas
- Ejecutar
- correr
- mismo
- satélite
- Guardar
- la ampliación
- esquema
- Ciencia:
- Científico
- los científicos
- selección
- Serie
- Servicios
- set
- pólipo
- Varios
- Compartir
- Mostrar
- mostrado
- firmar
- importante
- sencillos
- Tamaño
- So
- sólido
- a medida
- RESOLVER
- soluciones y
- stand
- Estado
- STORAGE
- tienda
- Estrategia
- Estudiante
- estudio
- sujeto
- verano
- te
- tareas
- técnicas
- términos
- test
- El
- La Fuente
- el mundo
- Tres
- A través de esta formación, el personal docente y administrativo de escuelas y universidades estará preparado para manejar los recursos disponibles que derivan de la diversidad cultural de sus estudiantes. Además, un mejor y mayor entendimiento sobre estas diferencias y similitudes culturales permitirá alcanzar los objetivos de inclusión previstos.
- a lo largo de
- equipo
- parte superior
- top 5
- Toronto
- Formación
- Transformar
- transformaciones
- de transporte
- bajo
- universidad
- utilizan el
- generalmente
- validación
- propuesta de
- diversos
- versión
- visión
- visualización
- Agua
- web
- servicios web
- mientras
- QUIENES
- sin
- Actividades:
- mundo
- valor
- X
- tú