El ingeniero detrás de la aplicación Not Hotdog de 'Silicon Valley' pensó mucho en la IA

El ingeniero detrás de la aplicación Not Hotdog de ‘Silicon Valley’ pensó mucho en la IA

by

in

Habría sido fácil para un programa como Silicon Valley de HBO mostrar una aplicación de aprendizaje automático que clasifica los perritos calientes con un posprocesamiento inteligente: coloque algunas capturas de pantalla estáticas falsas y llámelo por día. Si el equipo hubiera querido crear una aplicación real con fines de marca, podrían haber encadenado algunas API al estilo de un hackatón y pasar al siguiente chiste tonto. Pero para su crédito, Tim Anglade, el ingeniero detrás de la aplicación de parodia viral Not Hotdog, probablemente puso más pensamiento en su IA que al menos una startup de “IA” para lanzar en Sand Hill esta semana.

En lugar de usar algo como la API Cloud Vision de Google, Anglade realmente se metió en la hierba y experimentó con TensorFlow y Keras. Debido a que Not Hotdog tenía que ejecutarse localmente en dispositivos móviles, Anglade enfrentó una serie de desafíos oportunos con los que cualquier desarrollador de aprendizaje automático que explorara aplicaciones en dispositivos móviles podría identificarse.

En una publicación mediana, Anglade explica cómo se puso a trabajar inicialmente para volver a entrenar la arquitectura de Inception con el aprendizaje de transferencia en unos miles de imágenes de perritos calientes usando una eGPU conectada a su computadora portátil. Pero aún así, su modelo estaba demasiado inflado para ejecutarse de manera confiable en dispositivos móviles.

Tim Anglade

Así que intentó usar SqueezeNet, una red más eficiente que requeriría mucha menos memoria para funcionar. Desafortunadamente, a pesar de su tamaño compacto, su rendimiento se vio obstaculizado por un ajuste excesivo o insuficiente.

Incluso cuando se le dio un gran conjunto de datos de imágenes de entrenamiento de perritos calientes y no de perritos calientes, el modelo no fue capaz de comprender los conceptos abstractos de lo que generalmente constituye un perrito caliente y, en cambio, pareció usar malas heurísticas como muletas (salsa roja = perrito caliente).

Afortunadamente, Google acababa de publicar su Papel de redes móviles, presentando una forma novedosa de ejecutar redes neuronales en dispositivos móviles. La solución presentada por Google ofrecía un término medio entre el inflado Inception y el frágil SqueezeNet. Y lo que es más importante, permitió a Anglade ajustar fácilmente la red para equilibrar la precisión y la disponibilidad informática.

Anglade usó una implementación Keras de código abierto de GitHub como punto de partida. Luego realizó una serie de cambios para simplificar el modelo y optimizarlo para un solo caso de uso especializado.

El modelo final se entrenó en un conjunto de datos de 150.000 imágenes. La mayoría, 147.000 imágenes, no eran perritos calientes, mientras que 3.000 de las imágenes eran de perritos calientes. Esta proporción fue intencional para reflejar el hecho de que la mayoría de los objetos en el mundo no son perritos calientes.

Puedes ver el resto de la historia aquí, donde Anglade analiza todo su enfoque en detalle. Continúa explicando una técnica divertida para usar CodePush para inyectar actualizaciones en vivo a su red neuronal después de enviarla a la tienda de aplicaciones. Y si bien esta aplicación se creó como una completa broma, Anglade ahorra tiempo al final para una discusión perspicaz sobre la importancia de UX/UI y los sesgos que tuvo que tener en cuenta durante el proceso de capacitación.


Source link