WOT

Sunday, February 3, 2019

Predicción del mercado de valores mediante una red neuronal recurrente

En el artículo de Aniruddha Choudhury

Predicción del mercado de valores mediante una red neuronal recurrente y de memoria a corto y largo plazo,

se introduce la arquitectura LSTM (Long Short Term Memory) como una potente herramienta para ayudar a pronosticar el precio de las acciones, para rentabilizar las inversiones.

Inteligencia artificial más barata

Intel y Facebook lanzarán un nuevo chip para aplicaciones de inteligencia artificial a un precio más asequible:

Artículo original: Chip de Intel y Facebook para inteligencia artificial


 Según el artículo de MIT Technology Review, con este nuevo chip se podrán ejecutar algoritmos de aprendizaje automático utilizando menos hardware y consumiendo menos energía de lo que necesitan hasta ahora.




Sunday, January 20, 2019

APRENDE ELECTRÓNICA CON ARDUINO

Libro APRENDE ELECTRÓNICA CON ARDUINO de la Editorial Marcombo. Para todos aquellos que se quieran iniciar en la electrónica de la mano de Arduino. Además de los conceptos básicos de electrónica, se introducen las herramientas básicas de programación. Se trata de un libro muy completo que ayuda a familiarizarse con los aspectos teóricos y prácticos del mundo de la programación y de la electrónica práctica al mismo tiempo. Un libro que tiene las ilustraciones como soporte fundamental para montar paso a paso los circuitos sobre una placa de pruebas.

Traductor: Francisco Martínez Carreño


APRENDE ELECTRÓNICA CON ARDUINO

Monday, February 5, 2018

El libro de la bicicleta

Os recomiendo leer El libro de la bicicleta, de Editorial Marcombo. Presenta de forma amena e instructiva todo lo referente a este interesante vehículo al que nunca se le han reconocido lo suficiente sus méritos, como facilitar la práctica de ejercicio físico, el respeto por el medio ambiente, el ocio del paseo, etc.

Para los que se inician en el mundo de la bicicleta, el libro presenta una introducción a los diferentes tipos y sus características, explicando las diferencias entre los distintos modelos, proporcionando una completa guía para facilitar su elección cuando decidamos comprar una o varias, dependiendo de las necesidades.

En un estilo sencillo y práctico, en sus apartados se desvela con todo lujo de detalles cada uno de los componentes que forman parte de los distintos tipos de bicicletas. Las ilustraciones, con fotos a todo color, complementan las explicaciones de los pasos a seguir, indicando las herramientas necesarias para su montaje y desmontaje.

Un libro imprescindible, no solamente para aquellos que se acercan por primera vez al mundo de la bicicleta, sino también para los profesionales que quieran estar al tanto de las novedades y de su mantenimiento.

Haz clic sobre la imagen para ver el índice del libro y el primer capítulo.

Thursday, August 24, 2017

Aplicación de la inteligencia artificial y el aprendizaje profundo al desarrollo de juegos


Se resume aquí un interesante artículo de Daniel Lange  sobre la aplicación de la inteligencia artificial y el aprendizaje profundo al desarrollo de juegos, cuyo título original es

Bringing gaming to life with AI and deep learning


cuyo autor es Danny Lange

El desarrollo de juegos es un proceso complejo en el que artistas gráficos, narradores y ingenieros de software deben trabajar de forma coordinada. Existen ahora nuevas técnicas que proceden del desarrollo de aspectos de la inteligencia artificial como el aprendizaje profundo y hay grandes esperanzas puestas en el aprendizaje automático.
Como siempre, el desarrollo se alimenta de la necesidad de aumentar los ingresos. El aprendizaje automático lo empezó a utilizar Amazon en el año 2000, desarrollando algoritmos para descubrir las preferencias de los usuarios, lo que supone un aumento de ventas. Amazon había estado trabajando duro en sus propios algoritmos de recomendación, tratando de descubrir las preferencias de los usuarios y a su vez convertir esas preferencias en ventas más altas.
Los algoritmos de recomendación, por ejemplo, han evolucionado desde la recomendación hasta aplicar una mezcla de exploración y explotación para obtener una visión más completa sobre las preferencias de los usuarios. Algoritmos como los bandidos utilizan esta capacidad de explorar y explotar. Estos algoritmos tienen presencia en muchas páginas cuando se visita Amazon.
DeepMind en 2015 introdujo en los juegos el concepto de aprendizaje profundo de refuerzo, capaz de aprender las secuencias de acciones necesarias para maximizar una recompensa acumulativa futura.
Es muy ilustrativo el video que aparece en el artículo sobre el juego en el que un pollo aprende a cruzar una carretera muy concurrida sin que acabe aplastado por un camión que se acerca mientras recoge paquetes de regalo. Se proporciona al pollo una recompensa positiva cuando recoge un paquete de regalo y una recompensa negativa cuando lo golpea un camión. Con cuatro movimientos del pollo, izquierda, derecha, hacia adelante y hacia atrás, los píxeles en bruto y una puntuación como entrada, y estas instrucciones muy sencillas, el pollo logra capacidades extraordinarias.
Para conseguirlo  se utilizó un API de Python que permitió conectar el juego Unity a un servicio TensorFlow que se ejecuta en Amazon Web Services (AWS). Cuando se inicia el proceso de entrenamiento, el pollo se dedica a explorar, pero a medida que avanza el proceso de aprendizaje, gradualmente cambia al proceso de explotación. Este mismo procedimiento es el que pueden utilizar Amazon, Netflix y Uber para mejorar el servicio a sus clientes.
Las posibilidades con respecto a los primeros pasos de aprendizaje automático, han aumentado con el desarrollo de redes neuronales recurrentes expresivas (RNN) tales como la memoria a largo plazo (LSTM) para el aprendizaje secuencial y las redes neuronales convolucionales (CNNs) para el aprendizaje espacial de rasgos, así como una potencia computacional combinada y el software escalable y sofisticado.
Si bien el uso del aprendizaje de refuerzo profundo en el desarrollo de juegos aún se encuentra en su fase inicial, será una tecnología de juego disruptiva. Los entornos de aprendizaje automático como TensorFlow que se ejecuta en la nube junto con API de integración están facilitando el acceso a los desarrolladores de juegos y a los investigadores de aprendizaje automático.

Friday, August 11, 2017

La costosa eficiencia de los aceleradores de aprendizaje profundo personalizados

Nota: Este artículo es una traducción del original que aparece en THE NEXT PLATFORM: Wrenching Efficiency Out of Custom Deep Learning Accelerators

Muchas gracias a la autora Nicole Hemsoth por permitir su publicación en español.


La costosa eficiencia de los aceleradores de aprendizaje profundo personalizados
7 de Agosto 7 de 2017. Nicole Hemsoth
Los aceleradores personalizados para el entrenamiento de redes neuronales han sido objeto de una gran atención en los últimos años, pero al no tener un software lo suficientemente ágil, la programación de muchos de ellos resulta difícil dando lugar a un funcionamiento poco eficiente. Esta dificultad se puede resolver mediante diferentes optimizaciones del modelo, pero como otras fuentes argumentan, la eficiencia y los ciclos de reposo  también se pueden abordar con un compilador a medida.
Eugenio Culurciello, ingeniero eléctrico de la Universidad de Purdue, afirma que es difícil conseguir una eficiencia total de cálculo de los aceleradores de aprendizaje profundo personalizados. Esta consideración ha impulsado a su equipo en Purdue a construir un acelerador basado en FPGA al que podrían no afectar las cargas de trabajo de redes neuronales convolucionales (CNN) y que podría conseguir la máxima utilización y eficiencia en una serie de tareas de aprendizaje profundo, incluyendo ResNet y AlexNet.
Snowflake es un acelerador escalable y programable de bajo consumo para aprendizaje profundo con un conjunto de instrucciones personalizadas basado en RISC. Lleva a cabo el control de la fuente de información para un conjunto personalizado de instrucciones a través de un compilador personalizado que genera instrucciones y administra los datos en la memoria principal. La estructura del software entrena la representación del modelo de alto nivel de Torch7, que alimenta un flujo de instrucciones que se ejecutan en Snowflake. El esquema del software Snowball permite la usabilidad y la utilización del hardware.

La arquitectura hardware de Snowflake se basa en una matriz de 16 bits para multiplicar y acumular unidades (MACs). Un vector MAC (vMAC) está compuesto de una MACs 16 que procesa 256 bits en un ciclo. Una unidad de cálculo (CU) tiene cuatro vMAC (y cada uno de ellos tiene su propio nucleo con buffer de memoria transitoria). El tiempo de transferencia de datos se superpone con el tiempo de cálculo MAC utilizando una estrategia de doble memoria intermedia. Estos grupos se asocian en racimos con su propia fuente de información basada en RISC. Dos procesadores ARM Cortex A9 sirven de hosts.

‘La arquitectura se ha diseñado para proporcionar un alto rendimiento dada la secuencia óptima de instrucciones. Sin embargo, la elaboración manual de instrucciones del tipo ensamblador puede ser engorrosa y propensa a errores, especialmente en el caso de modelos formados por varias capas, como ocurre con ResNet', explican sus creadores. 'Incluso si se es lo suficientemente paciente como para escribir código manualmente para algunos modelos de aprendizaje profundo de última generación, una mayor personalización, tanto en el hardware como en el software, requeriría modificar miles de líneas de código ensamblador, para evitar la experimentación en sistemas personalizados de aprendizaje profundo.'
'Snowflake es capaz de lograr una eficiencia de cálculo de más del 91% de la totalidad del modelo en modernos modelos CNN, y el 99% en algunas capas individuales', declara Culurciello. 'Implementado sobre un Xilinx Zynq XC7Z045 SoC es capaz de conseguir un rendimiento máximo de 128 Giga operaciones/s y un rendimiento medido de 100 tramas por segundo y 120 Giga operaciones/s sobre el modelo CNN AlexNet, 36 tramas por segundo y 116 Giga operaciones/s en el modelo CNN GoogLeNet y 17 tramas por segundo y 122 Giga operaciones/s en el modelo CNN ResNet-50. Hasta donde sabemos, Snowflake es el único sistema implementado capaz de conseguir una eficiencia superior al 91% en CNNs modernas y el único sistema implementado con GoogLeNet y ResNet como parte de la suite de aplicaciones de medidas de rendimiento.’


Esta es una comparación interesante con la TPU de Google en el rendimiento por vatio. El equipo de trabajo no explica los resultados de la TPU, pero indica que ' mantuvo una cifra optimista para la TPU, con un porcentaje de utilización mucho menor que el 100% cuando se ejecutan modelos para los que no está optimizada.' Culurciello señala que el Snowflake SoC 1k tendrá la misma capacidad de cómputo que la última versión de GPU Nvidia Titan X.
Culurciello concluye que Snowflake y el esquema de Snowball abordan algunos de los principales puntos de diseño de software que llevan a muchos aceleradores de hardware a tener lagunas en cuanto a la eficiencia. Estos incluyen análisis de estructura de modelo, desglose de carga de la trabajo, reordenamiento de bucle y equilibrio del acceso a memoria. Estos se han probado con resultados positivos en su propio acelerador de Snowflake, pero el equipo confía en que estos puedan aplicarse a otros aceleradores personalizados. Puede encontrar  aquí una descripción en profundidad  tanto de la arquitectura Snowflake como del esquema de software de Snowball.
Los problemas técnicos con los aceleradores personalizados representan un desafío. La otra gran cuestión en el horizonte es hasta qué punto se habrán hecho imprescindibles estos chips personalizados a medida que las grandes empresas trabajen para integrar funciones valiosas en en ámbito de aprendizaje profundo en chips estándar (como lo está haciendo Intel con su familia de procesadores Knights, por ejemplo). Con funciones de aprendizaje profundo de mayor alcance en entornos de software común, la necesidad y el uso de aceleradores personalizados para estas tareas podrían comenzar a desaparecer. Sin embargo, el trabajo para hacer que los FPGAs se acerquen más a esa línea de partida es interesante ya que aumenta la amalgama arquitectónica.