LepSnap: Entrenando una computadora para identificar polillas

Las guías de campo se acercan al aprendizaje automático en LepSnap

LepSnap es una aplicación creada por Fieldguide que utiliza tecnología de reconocimiento de imágenes para identificar a los lepidópteros (mariposas y polillas) en el rango científico que es posible con una foto, ubicación y fecha. Una de las preguntas más frecuentes que recibimos es: ¿Cómo funciona su sistema de reconocimiento de imágenes? Aquí está mi intento de desempacar esa pregunta...

¿Cómo reconoce LepSnap una especie?

La mayoría del trabajo para reconocer una especie en particular ocurre en realidad mucho antes de que la aplicación intente identificar esa especie en una foto enviada por un usuario final. Los píxeles de todas las imágenes en nuestra base de datos se convierten en un conjunto de descriptores visuales. Los descriptores visuales capturan muchos atributos diferentes, desde formas y colores geométricos simples, hasta características de alto nivel, como patrones de alas y formas de contorno. Luego, un clasificador intenta (y aprende) averiguar qué características son las más discriminatorias y aplica ponderaciones a cada una. Cuando LepSnap intenta identificar una polilla cuando se envía una foto nueva, primero convierte la imagen al mismo conjunto de descriptores visuales y determina a qué grupo pertenece comparando las ponderaciones. Por lo general, su predicción es bastante confiable, pero devolverá varias sugerencias de ID cuando la coincidencia sea baja.

¿LepSnap aprende en tiempo real?

Cuando se publica una nueva foto de polilla en LepSnap, la aplicación no analiza inmediatamente la imagen para mejorar sus capacidades de reconocimiento. La red neuronal subyacente que potencia el reconocimiento de imágenes no realiza un aprendizaje incremental de la misma manera en que nosotros los humanos procesamos nueva información. En cambio, una red neuronal es un sistema equilibrado de ponderaciones de características que debe compilarse a partir de un conjunto de datos fijo. Una vez al mes, un miembro del equipo de Fieldguide extrae todo el conjunto de datos de LepSnap y lo ejecuta a través de una serie de pasos que entrenan una red neuronal desde cero. El proceso de capacitación toma varios días y consume importantes recursos computacionales. Una vez completado, el clasificador existente se intercambia con el nuevo.

Nota rápida: Publicar polillas mal identificadas no tiene un efecto adverso inmediato en el sistema de reconocimiento de imagen. La mayoría de los envíos tienen tiempo para ser verificados por la comunidad antes de que se incluyan en el próximo ciclo de capacitación.

¿Qué está involucrado en el entrenamiento de la red neuronal?

El marco de aprendizaje automático que emplea Fieldguide requiere un árbol jerárquico de categorías con un mínimo de 20 fotos por categoría. El máximo suele estar limitado a 1000 fotos por categoría, pero en general, cuantas más fotos de entrenamiento por categoría, mejor. Además, cuanto más equitativamente estén distribuidas las cantidades de fotos en todas las categorías, mejor.

Por ejemplo, si LepSnap solo tenía 5 fotos de una polilla  IO, 25 fotos de una Cecropia Silkmoth y 50 fotos de una Polyphemus Silkmoth, A) la polilla IO no se consideraría una categoría en la red neuronal debido a ejemplos insuficientes, y por lo tanto, no se incluiría en ninguna de las sugerencias de identificación y B) las identificaciones se inclinarían hacia la categoría con la mayor cantidad de fotos, en otras palabras, habría más polillas identificadas incorrectamente como Polyphemus Silkmoths que las otras dos especies (si todas las fotos fueran de especímenes adultos).

Nota rápida: la publicación de fotos de una especie rara con pocos ejemplos es primordial, ya que ayuda a LepSnap a reconocer la existencia de esa especie. La publicación de fotos de una especie bien representada sigue siendo valiosa debido a la gran cantidad de ejemplos de capacitación requeridos.

¿Qué tan flexible es el reconocimiento de patrones dentro de una sola categoría?

Las polillas y las mariposas se ven muy diferentes a medida que avanzan en su ciclo de vida. Una oruga puede verse muy diferente entre las fases iniciales y pre-pupales. Algunas especies son sexualmente dimorfas y / o altamente polimórficas, donde las variaciones del patrón de color están influenciadas por la genética, la dieta, las condiciones ambientales, la estación y otros factores. ¿Cómo maneja una red neuronal toda esa variación?

No es problemático incluir fotos dentro de la misma categoría que se ven muy diferentes de otras fotos. Una categoría que contiene múltiples fotos de orugas no impide su capacidad para reconocer a los adultos, cuando también hay muchas fotos de adultos. En otras palabras, el modelo de reconocimiento es lo suficientemente flexible como para identificar larvas y adultos sin requerir dos categorías separadas. Sin embargo, las redes neuronales son más valiosas cuando las categorías son homogéneas, porque la clasificación puede ser más específica, por ejemplo. "Este es un adulto vivo, de una hembra de morfología melánica de una mariposa Tigre cola de golondrina". Por lo tanto, buscamos dividir una sola categoría en categorías secundarias más finas en cuanto haya suficientes fotos en un subgrupo para cumplir con los requisitos de capacitación de la representación de categorías.

Nota rápida: Con suficientes fotos que abarquen todo el ciclo de vida, LepSnap puede ser un experto clasificador de orugas tanto como puede ayudar a identificar a los adultos.

¿Qué pasa cuando una polilla permanece mal identificada?

Las imágenes mal identificadas son un problema de calidad de los datos que es inevitable pero manejable. Las imágenes mal identificadas pueden debilitar el modelo de clasificación, pero solo en la medida en que sea proporcional a la cantidad de fotos correctamente identificadas. Una categoría grande con muchas fotos verificadas no se corrompe tan fácilmente por algunos errores, especialmente cuando la ID correcta también es una categoría fuerte. Fieldguide emplea una secuencia de comandos automática que escanea constantemente los datos para generar posibles identificaciones erróneas para la revisión de expertos.

Nota rápida: No hay que dudar a la hora de publicar identificaciones provisionales. LepSnap aprovecha el aprendizaje automático para sacar a la luz fotos de baja confianza en categorías fuertes, mientras trabaja con expertos para curar las categorías que son más susceptibles a los falsos sesgos.

¿Cómo se corrige el color del entrenamiento?

El entrenamiento explica el rango de color como un índice de probabilidad que es uno de los muchos "niveles" en el proceso de aprendizaje profundo. No hay "corrección de color" en sí. Si alimentamos los algoritmos con imágenes de muestra en blanco y negro, temperatura de color de tungsteno y colores ajustados a la luz del día, cada una de estas imágenes influirá en las ponderaciones de color y, como tal, mejorará la capacidad del sistema para reconocer futuros tungsteno en blanco y negro. Imágenes en color, ajustadas a la luz del día.

Nota rápida: LepSnap asigna menor importancia al color a menos que el entrenamiento sugiera que es un atributo vital.

¿Cómo se corrige el entrenamiento para la escala, si no hay un marcador de escala obvio?

La escala del objeto en la foto se deduce aproximadamente probabilísticamente por la densidad del patrón en comparación con otras categorías similares, pero por lo demás no es un factor en sí mismo. Por ejemplo, un ser humano podría buscar marcas de campo reveladoras que distinguen dos especies casi idénticas, pero la máquina tiene en cuenta todo al mismo tiempo: grosor y espaciamiento de las venas de las alas, escamas de las alas, proporciones de abdomen a alas, etc. Mejor en la evaluación matemática de la "proporcionalidad" que nosotros. Sin embargo, la máquina no puede usar la densidad del patrón para calcular un tamaño preciso de la muestra, debido a la variabilidad del atributo.

Nota rápida: Incluir barras de escala en las fotos es útil como referencia, pero no es necesario para la capacitación.

Algunas especies no pueden identificarse solo con una foto, ¿cómo maneja LepSnap esto?

Las polillas adultas de Sycamore y Banded Tussockson son dos especies de polillas tigre de América del Norte que, dentro del rango de superposición de sus respectivas plantas huésped, no se pueden separar al ver fotos de los animales. Queda por verse si una computadora puede ser entrenada para diferenciar estas especies casi idénticas mediante pequeñas diferencias, quizás demasiado sutiles para la percepción humana. Mientras tanto, LepSnap ofrece "categorías de grupo" que describen dos o más especies que requieren disección u otros métodos para identificar la especie.

Nota rápida: Si no existe una categoría de grupo, pero es necesaria, hay que hacerlo saber al equipo de LepSnap y lo agregaran lo más pronto posible.

¿Cuántas clases puede manejar una red neuronal?

Desafortunadamente, existen limitaciones en cuanto a la cantidad de categorías que puede manejar una sola red neuronal. La mayoría no excede de 10 a 20,000 categorías debido a un aumento exponencial en el tiempo de entrenamiento combinado con un límite en la capacidad de cálculo. Por lo tanto, las redes especializadas como LepSnap están equipadas para proporcionar identificaciones más granulares que una sola red capacitada en toda la flora y fauna.

¡Todo se trata de los datos!

No importa cuán sofisticado sea nuestro sistema de aprendizaje automático, sería inútil sin una curación continua por parte de una gran red de expertos. Nadie podría haberlo dicho mejor que John Morgan, un naturalista y compañero amante de los lepidópteros:

“Todo esto me recuerda el viejo axioma: entrada de basura, salida de basura, lo que significa que no importa qué tan sofisticado sea un sistema de procesamiento de información, la calidad (precisión, integridad, relevancia, puntualidad, etc.) de la información que sale de no puede ser mejor que la calidad de la información que entró.”

Nuestra misión es involucrar a tantas personas en el proceso de capacitación como sea posible. Nos encantaría saber de usted si tiene experiencia para compartir con la comunidad de Fieldguide.

Conoce LepSnap:
iPhone app · Android app · Website

Fuente de consulta:
Poremski, André. (19/07/2018) " Training a Computer to Identify Moths. Fieldguide’s approach to machine learning in LepSnap". Recuperado de: https://medium.com/@andrporemski/training-a-computer-to-identify-moths-99f00329b719?fbclid=IwAR3eqy2a7EU9D7qCmQdZj3djKIkU08YsXb0WHyKQ4jnXCabI91taKZVHqGI

Traducción: Eduardo Axel Recillas B.

Deja un comentario