Alexander Savsunenko lleva seis años desarrollando sistemas inteligentes, dos de los cuales son investigadores senior de la Universidad del Estado de Nueva York en Stony Brook. Desarrolló sistemas inteligentes para análisis de ADN, imágenes y marketing.
Ahora Alexander dirige el laboratorio de IA en Skylum Software, donde se dedica a editores gráficos basados en redes neuronales. Le preguntamos de cuál de los servicios creados estaba particularmente orgulloso y por qué usar redes neuronales en las pruebas A / B.
Alexander, cuéntanos sobre tu trabajo de investigación en la Universidad de Nueva York en Stony Brook. ¿Qué proyectos tenía allí y estaban relacionados con la inteligencia artificial o el aprendizaje automático?No, no estaban directamente relacionados con la IA y el aprendizaje automático. Estaba investigando nuevos materiales basados en grafeno. Desarrollamos nuevo material para impresión 3D que conduciría electricidad. Luego, utilizando una impresora con dos boquillas, sería posible imprimir tanto la carcasa como el cableado electrónico de la placa a la vez. Eventualmente creamos el material, y ahora está a la venta.
Después de tener un proyecto interesante en el campo del aprendizaje automático: Let's Enhance, un servicio para mejorar la calidad de las fotos. Cuéntanos, ¿cómo lograste enseñarle a la máquina cómo recuperar imágenes comprimidas?Tomamos las imágenes en buena calidad, nos comprimimos y hicimos ruido, y luego capacitamos a la red neuronal para que pudiera aprender cómo restaurar la imagen en buena calidad. Después de entrenar en tales pares, la red neuronal pudo mejorar independientemente la calidad de las imágenes: eliminar pixelación, artefactos de compresión y otros defectos.
Fuente de la foto¿Qué fue lo más difícil en este proyecto?Creo apoyar este sistema en producción. Cuando aparecieron artículos en TechCrunch, Mashable sobre nuestro servicio, fluyó mucho tráfico hacia nosotros y en un día procesamos unas 200 mil imágenes. Tuve que trabajar para asegurarme de que nuestros servidores resistieran todo esto.
El año pasado, Let's Enhance 2.0 fue lanzado. ¿Qué había de nuevo en él?Hemos cambiado la metodología de entrenamiento, la función de pérdida, la arquitectura de red. Si desea mejorar la calidad del producto, estos aspectos se pueden cambiar sin cesar.
¿Cuál es la audiencia de servicio hoy? ¿Lograste monetizarlo?Dejé Let's Enhance.io hace casi un año. Después de eso, en julio de 2018, la startup entró en el programa Techstars London y recibió inversiones del acelerador. El proyecto monetizó casi de inmediato y obtuvo ganancias.
¿En qué desarrollos de IA participaste? ¿De cuáles están especialmente orgullosos?Mis colegas y yo tuvimos un proyecto de nutrigenética Titanovo que analizaba el ADN. Mediante el aprendizaje automático, aprendimos a predecir marcadores fisiológicos y predisposiciones basadas en el análisis del genoma completo y el genotipado de chips. Recopilamos datos de artículos científicos, estadísticas, conjuntos de datos formados, modelos enseñados, basados en ellos, formulamos recomendaciones para personas y predicciones sobre su salud futura; todo esto se basó en una lógica difusa, diferentes clasificadores. Ahora hay muchos proyectos que usan IA y ML en nutrigenética, en genética deportiva. Pero estábamos entre los primeros. Los materiales sobre estos desarrollos se pueden encontrar en mi blog en Medium.
Experimenté con la optimización dinámica de las páginas de destino para los equipos de marketing, cambiando la teoría de los bandidos multibrazos a redes neuronales. Realizó scripts de aprendizaje automático para optimizar las compras de tráfico. Y el trabajo de imagen que estoy haciendo ahora también está relacionado con la inteligencia artificial. Y también estoy orgulloso de ella.
Actualmente estás trabajando en servicios de edición de imágenes. ¿Cuáles son las funciones de la red neuronal aquí?En primer lugar, el reconocimiento de patrones. El papel más importante que juega la IA en el programa Photolemur de Skylum Software: gracias a la visión artificial, este programa puede mejorar las fotos con un solo clic.
¿Cómo va esto?Subimos una foto y el servicio la mejora automáticamente, solo necesita guardarla. No hay ventanas emergentes, controles deslizantes o modos.
Para hacer esto, antes que nada, el programa necesita reconocer el tipo de imagen: retrato, paisaje, paisaje urbano. Y también personas en la imagen, edificios y otros objetos, hora del día, época del año (si la foto fue tomada en la calle). Luego debe segmentar la imagen, seleccionar las zonas correspondientes. En el retrato, por ejemplo, se destacan ciertas partes de la cara: ojos, oídos, fosas nasales y otros.
Entonces todo esto necesita ser mejorado, y aquí la inteligencia artificial ya no se usa. La imagen se mejora mediante algoritmos cableados, siguiendo la forma en que los fotógrafos procesan dichas imágenes. Por ejemplo, alisar la piel, aumentar el contraste para el paladar, aclarar el blanco de los ojos. Pero todo esto es secundario. En primer lugar, debe segmentar la imagen.
¿Qué bases de datos y algoritmos se usaron para entrenar el sistema?Hablando de un marco para desarrollar redes neuronales, prefiero MXNet, una opción bastante exótica para hoy, pero que gradualmente está ganando popularidad. La ventaja principal es la velocidad de los cálculos y el modo híbrido de cambiar entre los modos imperativo y simbólico de programación de redes neuronales, esto es conveniente. Pero los nombres de los conjuntos de datos y algoritmos, no puedo decirte, este es un secreto comercial del proyecto.
¿Qué dificultades encontraste al crear un editor de gráficos inteligente?
La tecnología aún no ha madurado, las redes neuronales a menudo cometen errores: en el reconocimiento de patrones y especialmente en la segmentación cuando se trata de una imagen compleja. Por lo tanto, tuve que analizar los resultados y editarlos usando métodos tradicionales y algoritmos estándar. Todavía no es posible construir un sistema que, de principio a fin, haga todo exclusivamente con una red neuronal. Bueno, por supuesto, cuando se trabaja en el dispositivo final del usuario, debe tener en cuenta la complejidad de la red: los cálculos de la CPU son bastante lentos, no todos tienen una GPU habilitada para CUDA y OpenCL no es compatible.
¿Qué imagen se toma para la opción perfecta?Nuestro equipo de control de calidad trabaja en esto y presta especial atención a la calidad final de las imágenes. Dado que tanto nuestros editores de fotos como nuestras cámaras cambian constantemente, es imposible arreglar alguna opción ideal, porque está cambiando constantemente.
¿Cuál es la audiencia de estos productos? ¿Eres capaz de "atraer" a los usuarios de Adobe?Nuestro producto estrella Luminar es una nueva alternativa a Adobe Lightroom. Debido al equipo pequeño y unido, es posible introducir nuevas tecnologías en el producto mucho más rápido y atraer constantemente nuevos usuarios. Luminar es ideal tanto para fotógrafos principiantes como profesionales, ya que combina herramientas de edición con un solo clic y una gama completa de funciones para un trabajo más detallado con fotos.
Interfaz Luminar El artículo compara el trabajo en Luminar y Photoshop.Pero Photolemur es un producto único y bastante joven, tiene poco más de un año. Su público objetivo son las personas que no quieren entender todos los controles deslizantes y botones de Photoshop, sino que simplemente quieren que sus fotos de vacaciones se vuelvan hermosas rápidamente. Logramos encontrar nuestra audiencia: las ventas están en marcha y el producto se utiliza activamente.
También participa en proyectos que desarrollan redes neuronales para optimizar las páginas de destino. Cuéntanos más sobre este trabajo.Esta es una tarea clásica cuando necesita realizar pruebas A / B de una página de destino. Si genera páginas separadas para todas las opciones elementales posibles, pueden producir millones de versiones. Y para obtener un resultado estadísticamente significativo con el enfoque clásico, debe realizar pruebas A / B por parejas de todas estas opciones. Esto requiere una cantidad increíble de tráfico. Dichas pruebas a gran escala solo pueden permitirse a empresas con recursos muy grandes, Amazon, por ejemplo.
Y si una empresa pequeña quiere probar muchas opciones, puede hacer pruebas A / B utilizando redes neuronales que funcionan con entrenamiento de refuerzo. Luego, de hecho, llenar la página con elementos se entrega a las manos de una red neuronal y se lo asigna como una tarea para aumentar la conversión de la página. En esta versión del trabajo, la red neuronal gira en el servidor y aprende en paralelo a cómo va el tráfico. Y al final, encuentra la opción de aterrizaje óptima mucho más rápido.
Si es un poco más complicado, la IA aprenderá a mostrar versiones de páginas de destino personalizadas para un usuario en particular. Porque también proporcionamos información adicional: navegador, hora del día, sistema operativo. En consecuencia, el usuario ve la página que le muestra la red neuronal y el tráfico con este método debe atraerse significativamente menos. Por supuesto, no se garantiza un éxito perfecto, pero la página dará buenos resultados mucho más rápido.
Alexander hablará sobre el uso de redes neuronales para el contenido visual y la optimización de la página de destino el 14 de noviembre en AI Conference Kyiv . La lista de otros oradores y el programa del evento están en el sitio web oficial .