Advertisement
  1. Code
  2. Machine Learning
Code

¿Qué Hay Nuevo en Core ML 2?

by
Length:MediumLanguages:

Spanish (Español) translation by Alfonso Mora (you can also view the original English article)

El año pasado, Apple lanzó Core ML — una transición en el mundo del aprender de máquina para desarrolladores de Apple. Antes de eso, que ya estábamos usando el aprender de máquina con tecnologías como la Autocorrección, Siri y un teclado predictivo, pero Core ML trajo un nuevo nivel de poder y la flexibilidad en las manos de los desarrolladores. Durante 18 de WWDC, Apple anunció 2 ML de base, y en este artículo que va aprendiendo sobre lo que es nuevo.

De un Vistazo

Antes de profundizar en los cambios que trae Core ML 2, Analicemos brevemente lo que es realmente la Core ML. Más concretamente, vamos a aprender un poco sobre los matices del aprender de máquina. Core ML es un marco que permite iOS y macOS desarrolladores fácilmente y eficientemente implementan en sus aplicaciones el aprender de máquina.

¿Qué es el Aprendizaje Automático?

El aprendizaje automático es el uso de análisis estadísticos para ayudar a los equipos a tomar decisiones y predicciones basadas en las características encontradas en los datos. En otras palabras, es el acto de tener una ordenador forma una comprensión abstracta de un conjunto de datos existente (llamado un "modelo") y usar ese modelo para analizar los datos más recientes.

¿Cómo Funciona?

Utilizando tecnologías de bajo nivel en plataformas Apple, Core ML es capaz de ofrecer máquina rápida y eficiente de herramientas para implementar en sus aplicaciones para el aprendizaje automático. Esto funciona mediante el uso de Metal y acelerar para aprovechar al máximo la GPU y la CPU del dispositivo, lo que para velocidad perfecta. Esto también permite la máquina de aprender a trabajar en el dispositivo en lugar de necesidad de acceso a internet para cada solicitud.

1. Lote Predicción

Predice valores de característica de salida de la dado un lote de valores de la función de ingreso. – Documentación de Apple
Figure 1 Batch Prediction

Predicción del lote es de destacar puesto que Apple no lo teníamos en la primera versión de Core ML. De un vistazo, predicción por lotes le permite ejecutar el modelo en un conjunto de datos y un conjunto de salidas.

Si tuvieras un modelo Core ML para clasificar imágenes de si contenían flores o árboles y quería clasificar varias imágenes de, digamos 300, tendría que escribir un for-loop para recorrer cada una de las imágenes y clasificar periódicamente cada usando el modelo.

En Core ML 2, sin embargo, obtenemos lo que Apple llama a la API de Predecir por Lotes. Esto nos permite hacer varias predicciones sobre un conjunto de datos sin tener que utilizar para bucles. Si desea utilizarlo, sólo llamaría:

modelInputs, en este ejemplo, es el conjunto de entradas que desea ejecutar el modelo en, pero que no cubriendo Cuáles son las opciones en este artículo. Si quieres aprender más sobre cómo utilizar la API de predecir por lotes, no dude consulte la Documentación de Apple. Mientras que esto no puede parecer gran cosa al principio, realmente mejora el desempeño del modelo por un 30%!

2. Formación de Modelos

Utilizar Crear ML con herramientas conocidas como patios de Swift y macOS para crear y formar modelos de aprendizaje automático personalizado en tu Mac. Usted puede entrenar a modelos para realizar tareas como reconocimiento de imágenes, extraer significado del texto o buscar las relaciones entre valores numéricos. — Documentación de Apple
Figure 2 Create ML

Mientras que los ML de base siempre ha sido una plataforma potente, no fue siempre fácil de crear sus propios modelos. En el pasado, era casi necesario estar familiarizado con Python para crear incluso los modelos más básicos. Con 2 ML de base, también conseguimos crear ML, una manera fácil para que usted pueda crear sus propios modelos de Core ML.

Crear ML no es solamente limitados basada en imágenes modelos, sin embargo. Sin incluso la creación de un verdadero proyecto de Xcode, puede formar diferentes tipos de modelos en un patio. Además, también puede probar estos modelos y exportarlos para su uso en cualquier aplicación.

Clasificador de Imagen

Con un patrón como una red neuronal convolucional, Crear ML puede ayudar a crear un clasificador de imagen personalizada para identificar ciertas características de una imagen. Por ejemplo, podría entrenar a distinguir entre un árbol y una flor.

O se podría utilizar para usos más complejos tales como identificar el tipo de planta o de una raza específica de perro. Basado en el número de imágenes, la precisión aumenta, al igual que con cualquier modelo de aprendizaje automático.

Pásate por mi post aquí en Envato Tuts+ para aprender a crear un clasificador de imagen en Crear ML.

Clasificador de Texto (NLP)

Además de ser una herramienta para la clasificación de la imagen, crear ML puede también ayudarle a crear modelos de aprendizaje de máquina basado en texto. Por ejemplo, puede crear un modelo que te dice el sentimiento en una frase determinada. O usted podría hacer un filtro de spam que utiliza las características del texto (es decir, las palabras utilizadas) para comprobar si una cadena es "spam" o "no spam".

Clasificador de Datos Tabulares

A veces, varios puntos de datos o características pueden ser útiles cuando se intenta clasificar los datos. Hojas de cálculo son un ejemplo muy fuerte, y ML crear puede crear modelos ML base basados en archivos CSV así.

Ahora, tus hojas de cálculo de Excel se pueden utilizar para hacer un modelo que predice el mercado de valores basado en compra y venta de patrones; o tal vez, predice el género del libro basado en el nombre del autor, el título y el número de páginas.

3. Reducciones de Tamaño de Modelo

Liar su máquina modelo en su aplicación de aprendizaje es la forma más sencilla de empezar con los Core ML. Como modelos más avanzados, pueden llegar a ser grandes y ocupan espacio de almacenamiento significativo. Para una base de red neuronal del modelo, considere reducir su huella utilizando una representación inferior de precisión para sus parámetros de peso. — Documentación de Apple
Figure 3 Neural Network Size Reductions

Con la introducción de Core ML 2 y iOS 12, los desarrolladores pueden ahora reducir el tamaño de sus modelos ya capacitados por más del 70% del tamaño original. Tamaño del modelo puede ser un verdadero problema, usted puede haber notado que algunas de sus aplicaciones Obtén más y más con cada actualización!

Esto viene como ninguna sorpresa porque los desarrolladores constantemente están haciendo su mejor los modelos de aprendizaje de máquina, y por supuesto, como se indica en la documentación del desarrollador, modelos más avanzados toman más espacio de almacenamiento, hacer la aplicación actual más grande. Si la aplicación es demasiado grande, algunos usuarios pueden dejar descargando actualizaciones y pueden interrumpir el uso de estas aplicaciones.

Afortunadamente, sin embargo, ahora tienes la posibilidad de cuantificar un modelo, que permite su tamaño a reducir de forma significativa, basada en la cantidad de calidad que estás dispuesto a renunciar. Cuantificación no es el único camino a seguir; ¡hay otras maneras, también!

Figure 4 Weight Quantization

Convertir con Precisión Media

Core ML Tools proporciona a los desarrolladores una manera de reducir el peso a la mitad. Si no sabes lo que los pesos son todavía, es aceptable; todo lo que necesitas saber es que están directamente relacionados con la precisión del modelo. Como puede haber adivinado, tamaño medio equivale a la mitad-precisión.

Modelos antes de Core ML 2 sólo tenía la opción de ser representado con 32 bits, que es de gran precisión, pero no es lo ideal para el tamaño de almacenamiento. Media precisión reduce a sólo 16 bits y puede reducir el tamaño del modelo. Si quieres hacerlo a tus modelos, visita la documentación para una guía completa.

Descarga y Compilación

Es genial tener tus modelos en tu dispositivo porque resulta en una mayor seguridad y rendimiento, y no depende de una buena conexión de internet. Sin embargo, si su aplicación utiliza varios modelos para crear una experiencia para el usuario, todos estos modelos pueden no ser necesarios a la vez.

También puedes descargar estos modelos sobre una base como-necesaria y compilarlos en el lugar en vez de liarse con su aplicación y aumentar la cantidad de espacio su aplicación toma el dispositivo del usuario. Incluso puedes descargar estos modelos y almacenarlos en el dispositivo del usuario temporalmente para evitar descargar el mismo modelo varias veces.

Conclusión

En este artículo, usted aprendió acerca de las tecnologías más recientes y más en Core ML y cómo acumula contra la versión del año anterior de la API. Mientras estés aquí en Envato Tuts+, revisa algunos de nuestro otros máquina gran contenido de aprendizaje!

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.