#AI – Multi-Task Deep Neural Networks para Natural Language Understanding

goku at keyboard

Buenas !

Un equipo de Microsoft Research ha lanzado una nueva Deep Neural Network para el aprendizaje de universal language embbedings: Multi-Task Deep Neural Networks for Natural Language Understanding (MT-DNN).  Language embbedings es un proceso que se utiliza para asignar elementos en sentencias o párrafos a representaciones vectoriales. Esto se utiliza principalmente en herramientas como LUIS (Language Understanding) para analizar texto e identificar intenciones, entidades y más.

Una descripción completa de MT-DNN se puede encontrar en el blog oficial de Microsoft Research (ver referencias). Me pareció interesante que el enfoque es añadir un modelo de lenguaje transformador bidireccional pre-entrenado, conocido como BERT, desarrollado por Google AI.

Como de costumbre, el código, basado en PyTorch, está disponible en GitHub: https://github.com/namisan/MT-DNN. El repositorio contiene los modelos previamente entrenados, el código fuente y el archivo Léame que describe paso a paso cómo reproducir los resultados notificados en el MT-DNN paper,

Más información: Towards universal language embeddings

Saludos @ Toronto

El Bruno

References

Advertisements

#AI – Multi-Task Deep Neural Networks for Natural Language Understanding

goku at keyboard

Hi !

One team in Microsoft Research have released a new Deep Neural Network for learning universal language embeddings: Multi-Task Deep Neural Networks for Natural Language Understanding (MT-DNN).  Language embeddings is a process used to map elements in sentences to vector representations. This is mostly used in tools like LUIS (Language Understanding) to analyze sentences and identify intentions, entities and more.

A complete description of MT-DNN could be found in the official Microsoft Research Blog. I found interesting that the approach is to add a pre-trained bidirectional transformer language model, known as BERT, developed by Google AI.

As usual, the code, based on PyTorch, is available in GitHub: https://github.com/namisan/mt-dnn. The repo contains the pretrained models, the source code and the Readme that describes step by step how to reproduce the results reported in the MT-DNN paper,

More information: Towards universal language embeddings

Greetings @ Toronto

El Bruno

References

#Personal – Learning to code with #Minecraft? start with Hour of Code, #MakeCode and Project Malmo

chickenrain-002

Hello!

December arrives and it’s time for one of my best moments of the year: Hour of Code. I have already written about this type of activities, and once again I recommend joining the community if you want to have a good time with children learning to program.

As always, Minecraft is an almost mandatory topic among the materials that have been created in recent years. As a parent, I can attest that all children have a special connection with the game and that when they see the possibilities of extending it, some people see a special shine in their eyes and want to begin to try this.

This year, I researched a little more and I’ve found a couple of other interesting options for this. In addition to the options we have on the Hour of Code page, we also have the possibility to use the materials created by the Microsoft MakeCode team. There is a special Minecraft mod in which we can interact with the Minecraft environment using visual tools such as Scratch.

I1

Note: Scratch is the flow definition environment created and shared by a team in MIT. I’ve already wrote a little about this.

In this flavor, the editor has the pixelated Minecraft look and feel, and allows coding with visual blocks, dragging and dropping them into a blank canvas to create special Minecraft activities flows. This type of tools are ideal to start learning basic programming notions including variables, control flow, if statements, loops and functions.

 

I2

We can also switch to some real and light programming scenarios using … Javascript !!! (yes, Javascript everywhere). IMHO it’s a nice option to describe how a visual flow will be written later in real source code (even if is Javascript)

I3

And this are kids tools, if you are looking for a real development environment in top of Minecraft, Project Malmo is one of the best ways to start. You can do some serious coding using real programming languages like C#, C++ or Python. In their official website, Project Malmo is described as

The Malmo platform is a sophisticated AI experimentation platform built on top of Minecraft, and designed to support fundamental research in artificial intelligence..

And that’s it for today, I’ll wrote more about Project Malmo and this tools during the next couple of days, so be ready for fun stuff !!!Greetings @ Burlington

El Bruno

References

 

#Personal – #HourOfCode, #Minecraft, #MakeCode y Project Malmo

chickenrain-002

Hola!

Llega diciembre y llega una vez más uno de los momentos que más espero del año: Hour of Code. Ya he escrito sobre este tipo de actividades, y una vez más recomiendo apuntarse a la comunidad si quieres pasar un buen rato con niños aprendiendo a programar.

Pues bien, Minecraft es un tópico casi obligatorio entre los materiales que se han creado en estos últimos años. Yo como padre, puedo atestiguar que todos los niños crean una conexión especial con el juego y que cuando ven las posibilidades de extensión del mismo, a algunos se les ve un brillo especial en los ojos y quieren comenzar a probar esto.

Pues bien, además de las opciones que tenemos en la página de Hour of Code, también tenemos la posibilidad de utiliza los materiales que crea el equipo de Microsoft MakeCode. Existe un mod especial en el que podemos interactuar con el entorno de Minecraft utilizando herramientas visuales como Scratch.

I1

Nota: Scratch es el entorno de definición de flujos que ha creado y compartido el MIT.

El editor tiene el aspecto pixelado de Minecraft y permite la codificación con bloques visuales, haciendo drag and drop de los mismos. Este tipo de herramientas son ideales para comenzar a aprender nociones básicas de programación incluyendo variables, flujo de control, sentencias if, bucles y funciones.

I2

Ademas podemos ir un paso mas adelante y comenzar a programar estos bloques de codigo o scripts completos con Javascript! (Javascript everywhere!)

I3

Si lo que quieres es algo más potente, donde se pueda interactuar con un mundo de Minecraft con lenguajes como C#, C++ o Python, lo ideal es probar Project Malmo. Aquí la definición oficial:

Project Malmo es una plataforma para la experimentación e investigación de Inteligencia Artificial construida sobre Minecraft.

Y hasta aquí el post, porque escribiré un poco sobre Project Malmo en los próximos días.

Saludos @ Burlington

El Bruno

References

 

AI – #CNTK, una solucion open source de inteligencia artificial de #MSResearch

Clipboard02

Hola !

Empecemos por CNTK que es la versión corta de “Computational Network Toolkit” (ya lo sé, es que la palabra acrónimo nunca me ha gustado). Este toolkit ha sido creado por el equipo de Microsoft Research, y su principal objetivo es describir redes neuronales como una serie de pasos procesados mediante un grafo dirigido (resumen muy corto, lo sé)

Durante los últimos días he pasado un par de horas jugando con el kit de herramientas. El primer paso es, como siempre la sección Get Started en GitHub.

A menos que seas un experto en C++, que quieras compilar los controladores gráficos, quieras aprender OpenCV y mucho mas, te recomiendo empezar directamente con la instalación local e ir a los ejemplos.

Importante: Si aun así quieres jugar con fuego, hay una sección de despliegue y compilación para Windows donde se describe todos los pasos necesarios para clonar, compilar y desplegar en modo local. Yo traté de hacer esto y básicamente tiré abajo otros proyectos locales en mi ordenador.

Por lo tanto, en este momento la sección de Ejemplos te puede dar algunas ideas para empezar a aprender a conocer el Toolkit. En la sección de ejemplos podemos encontrar

Como se puede ver en las muestras, el foco principal del CNTK está en speech recognition. Microsoft tiene una larga historia en esto, productos como Cortana, Skype TranslationProject Oxford Speech APIs son el resultado de años de investigación sobre reconocimiento de voz. (Realmente necesito escribir algunos posts sobre proyecto Oxford Audio API, hasta ahora mi enfoque estaba en video y detección de rostros)

Otro punto importante en el toolkit es el soporte de AZURE. Usando una combinación del CNTK y Azure GPU Lab, el equipo de investigación de MS Research creó una plataforma GPU distribuida que puede ser utilizada por la comunidad para avanzar en investigación de AI.

Por ejemplo, en un artículo de TechNet, se describe una comparación entre tres otras herramientas computacionales y CNTK. (Torch, TheanoCaffe, como recientemente abierto con herramientas de GoogleIBM). Los resultados se exponen debajo y CNTK ha demostrado para ser más eficaz que los otros.

image

Por último, esto no es (como siempre) un area donde sea un experto, pero es algo que me gusta mucho. También es un tema que pienso, que cada developer debe conocer un poco, empezando por a conocer las bases, la tecnología, la plataforma,

Saludos @ Toronto

-El Bruno

References

#AI – #CNTK the #opensource computational network toolkit from #MSResearch #Microsoft

Clipboard02

Hi !

CNTK stands for “Computational Network Toolkit”. This toolkit is a creation from the Microsoft Research team, which main focus is to describe neural networks as a series of computational steps via a directed graph (short resume I know)

So, during the past days I spend some hours playing around with the toolkit. First step is probably to read something about or go directly to the Get Started section on GitHub.

Unless you are an expert on C++, you like to compile graphics drivers, you want to learn about OpenCV and more, I strongly recommend to start directly with the local installation and go to the samples section.

Important: The setup on Windows section describes all the necessary steps to clone, build and deploy all in local mode. However, I tried to do this, and basically broke other local projects from my own.

So, at this moment the Samples section can give you some ideas to start learning the toolkit. In the Examples section we can find

So, as you can see in the samples, the main focus of CNTK is Speech. And Microsoft has a long story on this, products like Cortana, Skype Translation or Project Oxford Speech APIs are the final result of years of investigation on Speech recognition. (I really need to write some posts about Project Oxford Audio APIs, so far my focus was on video and face detection)

Another important point in the toolkit is the Azure support. Using a combination of CNTK and Azure GPU Lab, the research team created a distributed GPU platform to be used by the community to advance AI research.

As an example, in a TechNet article, they describe a comparison between four other popular computational toolkits and CNTK. (Torch, Theano and Caffe, as just recently open sourced toolkits from Google and IBM). The results are exposed in below chart and, CNTK has proved to be more efficient than the others.

image

Finally, this is not (by far) my main expertise but is something which I really like and also where I really think, every developer must play around and start to know the basis / technology / platform.

Greetings @ Toronto

-El Bruno

References

#AZURE – Pegasus Mission: #AzureIot en la nube ! (si, en la nube y con un globo !)

Hola !

El camino que están tomando las diferentes iniciativas de IoT es genial. Yo conozco bastante la plataforma de Microsoft y sin embargo, conocer también un poco de las otras hace que uno encuentre cosas muy buenas. Hace poco escribí un par de post donde mostraba como utilizar Azure IoT, my Garmin Smartwatch y Windows Universal Apps. Después de algunas pruebas pude comprobar que las capacidades de Azure IoT son muy buenas.

Hoy me encuentro con un proyecto de Microsoft Research: “Pegasus Mission”, que tiene un objetivo muy simple: enviar un globo a la estratosfera cargado de sensores, capturar datos con los mismos y enviarlos a un Azure IoT Hub. (El chiste de un globo, la nube, etc, es fácil, no lo haré). Y eso no es todo, además han puesto 6 cámaras en el globo y realizarán un streaming de las mismas en tiempo real. Menudo ejemplo.

Si quieres saber como está montado, además de leer su blog, puedes ver la página de Facebook del proyecto. En la misma han dejado un diagrama de arquitectura de alto nivel que muestra todos los componentes que son parte de este proyecto.

Clipboard01

En flick también hay bastantes fotos del equipo probado el globo (el lanzamiento tuve que ser suspendido por problemas con uno de los sensores).

image

Y finalmente para el seguimiento en tiempo real del globo durante su misión, hay un par de mobile apps. Por ejemplo, puedes suscribirte via SMS para conocer el estado del vuelo.

Si te ha interesado, no dudes en Apoyar la Pegasus Mission en uno de estos links!

Text Message Flight Notifications: http://bit.ly/1ouLOjc
Twitter: @PegasusMission
Web site: https://www.pegasusmission.io
Blog: http://www.pegasusmission.com
Facebook: http://www.facebook.com/pegasusmission
Mobile Apps: Search for “Pegasus Mission” in your app store

Saludos @ Toronto

-El Bruno

References

#AZURE – Pegasus Mission: #AzureIot on the cloud ! (yes, on the cloud with a baloon!)

Hi !

The road to the IoT is amazing. Even if I’m not in other platforms, only knowing the stuff which Microsoft have develop during the past years is great. I was playing around with Azure IoT, my Garmin Smartwatch and Windows Universal Apps. The result was great, the power behind the complete platform is amazing.

Today I found a Microsoft Research project named “Pegasus Mission”, which objective is basically send a balloon full of sensors to the stratosphere and collect and send data to the IoT cloud. (I know the joke is easy here, I won’t make it). But they won’t only send sensors data like pressure or altitude, there will be also 6 cameras with Live Stream from the balloon. And, everything supported by Azure IoT.

The main components of the project can be described as in the following diagram, shared in their Facebook page.

Clipboard01

There are also tons of pics of the team working on the balloon, like this one.

image

There are also a couple of mobile apps, to get the information in real time in your phone during the mission. You can get SMS messages from the status of the flight, and much more ways to analyze and view the information collected by the sensors and cameras in the balloon.

So, go for one or more of this channels and support the Pegasus Mission!

Text Message Flight Notifications: http://bit.ly/1ouLOjc
Twitter: @PegasusMission
Web site: https://www.pegasusmission.io
Blog: http://www.pegasusmission.com
Facebook: http://www.facebook.com/pegasusmission
Mobile Apps: Search for “Pegasus Mission” in your app store

Greetings @ Toronto

-El Bruno

References