WOT

Sunday, August 30, 2020

IIoT

El próximo 3 de septiembre, IIot World está organizando una conferencia virtual llamada "Cómo los actores industriales pueden responder de manera eficiente a la disrupción tecnológica impulsada por IIoT". Únase para conocer las soluciones y estrategias de IIoT de Gartner y Siemens SME

Regístrese AHORA GRATIS en: 
https://iiot-world.com/how-industrial-players-can-efficiently-respond-to-technology-disruption-driven-by-iiot/?utm_source=Sebi

Friday, August 28, 2020

Procesamiento acelerado de lenguaje natural: curso universitario gratuito de aprendizaje automático de Amazon - Accelerated Natural Language Processing: A Free Amazon Machine Learning University Course


Accelerated Natural Language Processing: A Free Amazon Machine Learning University Course



This article is a translation of the original that appears on KDnuggets: Accelerated Natural Language Processing: A Free Amazon Machine Learning University Course
 



Thank you very much for allowing its publication in Spanish.

Muchas gracias por permitir su publicación en español. 



 
 Procesamiento acelerado de lenguaje natural: curso universitario gratuito de aprendizaje automático de Amazon

Share19
Etiquetas: AmazonCoursesFreeMachine LearningNLP


La Universidad de aprendizaje automático de Amazon pone sus cursos online a disposición del público, comenzando con esta oferta de procesamiento acelerado de lenguaje natural.
https://www.kdnuggets.com/aps/e-sas-20m06.gif?ms289



Por Matthew Mayo, KDnuggets.



La Universidad de Aprendizaje Automático de Amazon ha decidido que sus cursos online, a los que anteriormente solo podían acceder los empleados de Amazon, estén disponibles gratuitamente para el público.
Uno de los primeros cursos de este tipo, puestos a disposición del todo el que desee acceder a ellos es Accelerated Natural Language Processing (procesamiento acelerado de lenguaje natural), una oferta orientada a la práctica que se describe a continuación:
Este contenido se basa en la clase de procesamiento acelerado de lenguaje natural de la Universidad de aprendizaje automático (MLU). Nuestra misión es hacer que el aprendizaje automático sea accesible para todos. Creemos que el aprendizaje automático será una herramienta para el éxito de muchas personas en sus carreras. Impartimos cursos de aprendizaje automático (Machine Learning) sobre diferentes temas. Esta clase está diseñada para ayudar a las persona interesadas a comenzar con el procesamiento de lenguaje natural, aprender técnicas que se utilizan frecuentemente y aplicarlas en problemas del mundo real.
El breve curso, como se mencionó anteriormente, está enfocado a tratar las técnicas que se utilizan frecuentemente para resolver problemas del mundo real. Impartido por Cem Sazara, un científico práctico de Amazon, el curso se compone de una lista de reproducción de conferencias en video, junto con un repositorio de GitHub de cuadernos, diapositivas y datos del curso.
A disposición del alumno hay una lista de reproducción de videos en su mayoría de un tamaño que varían entre 1 y 30 minutos aproximadamente, aunque la mayoría de ellos tiene una duración de alrededor de 5 minutos, y algunos otros con una mayor duración, si está justificado.
Si bien el curso y sus videoconferencias están dirigidos específicamente a personas que desean acceder rápidamente al procesamiento de lenguaje natural, se tratan en primer lugar los temas introductorios del aprendizaje automático, como el aprendizaje supervisado y no supervisado, las clases desequilibradas, los valores faltantes y la evaluación del modelo, antes de obtener la graduación en técnicas PNL.


Lista de reproducción de videos del procesamiento acelerado de lenguaje natural de la Universidad de Aprendizaje Automático de Amazon 

El repositorio de GitHub contiene las diapositivas que se utilizan en las videoconferencias que se recopilan en 3 conferencias principales, mientras que los cuadernos correspondientes cubren implementaciones prácticas de una combinación de algoritmos generales de aprendizaje automático útiles en aplicaciones de PNL, técnicas específicas de PNL y el uso de plataformas de Amazon para lograr los objetivos de implementación:
·         Bolsas de palabrs
·         Procesamiento de textos
·         Regresión lineal
·         Regresión logística
·         Modelos de árbol
·         Sagemaker
·         Redes neuronales
·         Redes neuronales recurrentes
·         Vectores de palabras

También hay algunos conjuntos de datos disponibles aquí que se utilizan en los cuadernos del curso, incluido el conjunto de datos IMDB y las revisiones de productos de Amazon cuando se produzcan.



Repositoro de GitHub del procesamiento acelerado de lenguaje natural de la Universidad de Aprendizaje Automático de Amazon 

En general, este parece ser un excelente curso de introducción para principiantes en el procesamiento de lenguaje natural. Amazon ha prestado un servicio a la comunidad al abrir sus cursos de la Universidad de Aprendizaje Automático al público, y la oferta inicial de PNL acelerado entre otras de su especialidad, parece que aquellos que deseen dominar el aprendizaje automático de la mano de una organización de aprendizaje automático de clase mundial, tienen ahora otra opción.

Trabajos relacionados:


Wednesday, August 26, 2020

Si tuviera que empezar a aprender sobre la ciencia de datos, ¿cómo lo haría?



If I had to start learning Data Science again, how would do it?


This article is a translation of the original that appears on KDnuggets: If I had to start learning Data Science again, how would do it?

Thank you very much for allowing its publication in Spanish.

Muchas gracias por permitir su publicación en español. 



Si tuviera que empezar a aprender sobre la ciencia de datos, ¿cómo lo haría?

Share
Etiquetas: AdviceCareerData ScienceKaggle


Si bien existen diferentes opciones para aprender desde el principio la ciencia de datos, el enfoque adecuado para cada persona debe basarse en cómo aprender mejor. Un método efectivo es hacer evolucionar el aprendizaje desde una práctica simple a bases complejas, como se describe en esta ruta de aprendizaje recomendada por un físico que se convirtió en un científico de datos.





Por Santiago Viquez, físico convertido en científico de datos, creador de  datasciencetrivia.com.

No hace mucho, me dio por pensar que si tuviera que empezar a aprender el aprendizaje automático y la ciencia de datos de nuevo, ¿por dónde empezaría? Lo curioso fue que el trayecto que imaginé era completamente diferente al que realmente hice cuando empecé a estudiarlos.
Soy consciente de que cada uno aprende a su manera. Algunos prefieren los videos, otros lo hacen mejor con los libros y muchas personas necesitan pagar por un curso para sentirse más motivadas. Y eso está bien porque lo importante es aprender y disfrutar haciéndolo.
Entonces, desde mi punto de vista y sabiendo cual es la forma en la que aprendo mejor, he diseñado este itinerario para el caso en el que tuviera que comenzar a aprender de nuevo la ciencia de datos.
Como se puede ver, mi forma favorita de aprender es ir de lo simple a lo complejo gradualmente. Esto significa comenzar con ejemplos prácticos y luego pasar a conceptos más abstractos.

Microcursos de Kaggle

Sé que puede parecer extraño comenzar de esta forma, ya que muchos preferirían empezar con fundamentos más sólidos y con videos de matemáticas para comprender completamente lo que está sucediendo detrás de cada modelo de aprendizaje automático. Pero desde mi perspectiva, comenzar con algo práctico y concreto ayuda a tener una mejor visión de la imagen completa.
Además, la duración de estos microcursos es de alrededor de 4 horas, por lo que cumplir con esos pequeños objetivos por adelantado agrega un impulso de motivación adicional.

Microcurso de Kaggle: Python

Si está familiarizado con Python, puede omitir esta parte. Aquí aprenderá conceptos básicos de Python que le ayudarán a comenzar a aprender la ciencia de datos. Habrá muchas cosas sobre Python que seguirán siendo un misterio. Pero a medida que avancemos, lo aprenderá con la práctica.
Precio: gratis

MIcrocurso de Kaggle: Pandas

Pandas nos dará las habilidades para comenzar a manipular datos en Python. Considero que un microcurso de 4 horas con ejemplos prácticos es suficiente para tener una noción de las cosas que se pueden hacer.
Precio: gratis

Microcurso de Kaggle: visualización de datos

La visualización de datos es quizás una de las habilidades más subestimadas, pero es una de las más importantes. Le permitirá comprender completamente los datos con los que esté trabajando.
Precio: gratis

Microcurso de Kaggle: introducción al aprendizaje automático

Aquí es donde comienza la parte emocionante. Se aprenden conceptos básicos, pero muy importantes para empezar a entrenar modelos de aprendizaje automático. Conceptos que luego será fundamental tenerlos muy claros.
Precio: Free
Microcurso de Kaggle: aprendizaje automático, nivel intermedio

Es complementario al anterior, pero aquí se trabaja con variables categóricas por primera vez y hay que lidiar con campos nulos en los datos.
Precio: gratis
Detengámonos aquí por un momento. Debe quedar claro que estos 5 microcursos no van a ser un proceso lineal, ya que probablemente habrá que ir y venir entre ellos para refrescar conceptos. Cuando se trabaje con Pandas, es posible que haya que volver al curso de Python para recordar algunas de las cosas aprendidas o ir a la documentación de Pandas para comprender las nuevas funciones que vieron en el  en el curso de introducción al aprendizaje automático. Y todo esto está bien, así es como se producirá el verdadero aprendizaje.
Now, you will realize these first 5 courses will give you the necessary skills to do exploratory data analysis (EDA) and create baseline models that later you will be able to improve. So, now is the right time to start with simple Kaggle competitions and put into practice what you’ve learned. Ahora, se dará cuenta de que estos primeros 5 cursos le brindarán las habilidades necesarias para realizar análisis de datos exploratorios (EDA) y crear modelos de referencia que luego podrá mejorar. Entonces, este es el momento adecuado para comenzar con competencias simples de Kaggle y poner en práctica lo que ha aprendido.

Competición de juegos de Kaggle: Titanic

Aquí se pondrá en práctica lo aprendido en los cursos introductorios. Tal vez sea un poco intimidatorio al principio, pero no importa porque no se trata de ser el primero en la tabla de clasificación, se trata de aprender. En esta competencia, aprenderá sobre clasificación y métricas relevantes para este tipo de problemas, como precisión, recuperación y exactitud.


Competición de juegos Kaggle: precios de casas

En esta competencia, aplicará modelos de regresión y aprenderá sobre métricas relevantes como RMSE.

En este punto, ya tiene mucha experiencia práctica y sentirá que puede resolver muchos problemas, pero lo más probable es que no comprenda completamente lo que está sucediendo detrás de cada uno de los algoritmos de clasificación y regresión que utiliza. Entonces aquí es donde tenemos que estudiar los fundamentos de lo que estamos aprendiendo.
Muchos cursos comienzan aquí, pero al menos puedo absorber mejor esta información una vez que he trabajado en algo práctico antes.

Libro: Data Science from Scratch (La ciencia de datos desde cero)

En este punto, nos separaremos momentáneamente de pandas, scikit-learn y otras bibliotecas de Python para aprender de manera práctica lo que está sucediendo “detrás” de estos algoritmos.
Este libro de Joel Grus es bastante amigable de leer, trae ejemplos de Python de cada uno de los temas y no tiene mucha matemática pesada, que es fundamental para esta etapa. Queremos comprender el principio de los algoritmos, pero con una perspectiva práctica, no queremos desmotivarnos leyendo mucha notación de densas matemáticas.
Link: Amazon
Precio: $42 aproximadamente
Si ha conseguido llegar tan lejos, diría que es bastante capaz de trabajar en ciencia de datos y comprender los principios fundamentales detrás de las soluciones. Así que aquí le invito a que siga participando en competencias de Kaggle más complejas, a participar en los foros y a explorar nuevos métodos que encuentre en las soluciones de otros participantes.

Curso online: Machine Learning by Andrew Ng (Aprendizaje automático, de Andrew Ng)

Here we are going to see many of the things that we have already learned but we are going to watch it explained by one of the leaders in the field, and his approach is going to be more mathematical so it will be an excellent way to understand our models even more. Aquí vamos a ver muchas de las cosas que ya hemos aprendido pero las vamos a ver explicadas por uno de los líderes en este campo, y su enfoque va a ser más matemático por lo que será una excelente manera de entender aún más nuestros modelos.
Precio: gratis sin certificado — $79 con certificado

Libro: The Elements of Statistical Learning (Los elementos del aprendizaje estadístico)

Ahora comienza la parte pesada de las matemáticas. Imagínese si hubiéramos comenzado desde aquí, habría sido un camino cuesta arriba todo el tiempo y probablemente nos hubiéramos rendido más fácilmente.
Link: Amazon
Precio: $70, hay una versión oficial gratis en la página de Stanford.

Online Course: Deep Learning by Andrew Ng

A estas alturas, probablemente ya haya leído sobre el aprendizaje profundo y haya jugado con algunos modelos. Pero aquí vamos a conocer los fundamentos de redes neuronales, cómo funcionan y aprenderemos a implementar y aplicar las diferentes arquitecturas que existen.
Precio: $49/mes
En este punto, depende mucho de sus propios intereses, y puede concentrarse en los problemas de regresión y series de tiempo o tal vez profundizar más en el aprendizaje profundo.
Original. Publicado con permiso.

Trabajos relacionados:


Friday, August 21, 2020

A "Weird" Introduction to Deep Learning - Una "original" introducción al aprendizaje profundo



This article is a translation of the original that appears on KDnuggets: A “Weird” Introduction to Deep Learning

https://www.kdnuggets.com/2018/03/weird-introduction-deep-learning.html/2

Thank you very much for allowing its publication in Spanish.

https://www.kdnuggets.com/2018/03/weird-introduction-deep-learning.html/2

Muchas gracias por permitir su publicación en español. 

Una “original” introducción al aprendizaje profundo


 
Share
Etiquetas: Deep LearningDropoutNeural NetworksRepresentationTensorTensorFlow


Hay presentaciones increíbles, cursos y blogs sobre aprendizaje profundo, pero este es un tipo de introducción diferente.

Artículo de Favio Vazquez, fundador de Ciencia y Datos.




Hay presentaciones increíbles, cursos y blogs sobre aprendizaje profundo. En la sección de recursos voy a facilitar algunos de ellos, pero este es un tipo diferente de introducción al aprendizaje profundo.





¿Pero por qué es original? Tal vez porque no va a seguir la estructura "normal" de una publicación de aprendizaje profundo, en la que se empieza con las matemáticas, luego se pasa a la documentación, la implementación y finalmente a las aplicaciones.
Será más parecida a la publicación que hice de “My journey into Deep Learning”, ya que creo que contar una historia puede ser mucho más útil que sencillamente lanzar información y fórmulas a diestro y siniestro. Vamos a empezar.


NOTA: hay un seminario web complementario de este artículo. Se puede encontrar aquí: Webinars - DeepCognition.ai


¿Por qué hago esta introducción?



A veces es importante tomar notas de ideas que nos vengan a la mente. Yo tiendo a hablar mucho y a estar presente en numerosas presentaciones y conferencias, y esa es mi forma de contribuir con algo de conocimiento al público en general.

El aprendizaje profundo (Deep Learning (DL)) es, en este momento, un campo tan importante para la ciencia de datos, la inteligencia artificial, la tecnología y para nuestras vidas, que merece toda la atención que se le está prestando. Por favor, no digamos que el aprendizaje profundo consiste solo en agregar una capa a una red neuronal, y eso es todo, ¡magia! No. Espero que después de leer este artículo tengamos una perspectiva diferente de lo que es el aprendizaje profundo. 

Cronología del aprendizaje profundo


He elaborado esta cronología teniendo en cuenta determinados documentos y otras cronologías con el propósito de que todos veamos que el aprendizaje profundo es mucho más que redes neuronales. Se han producido avances a nivel teórico y mejoras de software y hardware que han sido necesarios para llegar al punto en el que nos encontramos hoy. Si alguien desea disponer de esta cronología puede pedírmela y se la enviaré. (Los datos de mi contacto aparecen al final del artículo).


¿Qué tiene de extraño el aprendizaje profundo?




El aprendizaje profundo existe desde hace bastante tiempo. Entonces, ¿por qué se ha vuelto tan importante de forma tan rápida en los últimos 5–7 años?
Como dije antes, hasta finales de la década de 2000, todavía carecíamos de una forma confiable de entrenar redes neuronales muy profundas. Hoy en día, con el desarrollo de algunas mejoras teóricas y algorítmicas simples pero importantes, los avances en hardware (en su mayoría GPU, ahora TPU) y la generación y acumulación exponencial de datos, el aprendizaje profundo ha llegado de forma natural a encajar en ese espacio que faltaba para transformar la forma en que llevamos a cabo el aprendizaje automático.
El aprendizaje profundo es también un campo en el que se sigue investigando, en el que nada está establecido o se da por terminado, todavía estamos buscando los mejores modelos, la topología de las redes y las mejores formas de optimizar sus hiperparámetros, entre otras cosas. Es muy difícil, como cualquier otro campo activo de la ciencia, mantenerse al día en los progresos que se hacen en investigación, pero no es imposible.

Una nota al margen sobre topología y aprendizaje automático (Deep Learning with Topological Signatures, de Hofer y otros):

Los métodos de la topología algebraica se han empezado a utilizar recientemente en la comunidad del aprendizaje automático, principalmente bajo el término de análisis de datos topológicos (TDA). Dado que TDA nos permite inferir información topológica y geométrica relevante de los datos, puede ofrecer una perspectiva novedosa y potencialmente beneficiosa en relación con determinados problemas de aprendizaje automático.
Afortunadamente para nosotros, hay muchas personas que nos ayudan a comprender y digerir toda esta información mediante la impartición de cursos, como el de Andrew Ng, y publicaciones de blogs entre otros recursos. 

Esto me resulta raro o poco corriente, porque normalmente hay que esperar algún tiempo (a veces años) para poder digerir información difícil y avanzada en documentos o revistas de investigación. Por supuesto, la mayoría de las áreas de la ciencia ahora actúan con rapidez a la hora de pasar de un artículo a una publicación de blog que te dice lo que necesitas saber, pero en mi opinión, el aprendizaje profundo tiene una connotación diferente.

Avances del aprendizaje profundo y del aprendizaje de representación





Trabajamos con algo que es muy emocionante. La mayoría de las personas de este campo dicen que las últimas ideas presentadas de aprendizaje profundo (específicamente nuevas topologías y configuraciones para redes neuronales (NN) o algoritmos para mejorar su uso) son las mejores ideas en aprendizaje automático que se han producido en décadas (recuerde que el aprendizaje profundo (DL) es una parte del aprendizaje automático (ML)).
Hasta ahora he usado mucho la palabra aprendizaje en este artículo. ¿Pero qué es aprender?
En el contexto del aprendizaje automático, la palabra "aprendizaje" describe un proceso de búsqueda automática para obtener mejores representaciones de los datos que estamos analizando y estudiando (hay que tener esto en cuenta, no es hacer que una computadora aprenda).
Hay una palabra muy importante en este campo, RE-PRE-SEN-TA-CIÓN. No olvidemos eso. ¿Qué es una representación? Es la forma de ver los datos.
Pongamos un ejemplo. Digamos que le pido que trace una línea que separe los círculos azules de los triángulos verdes en el siguiente diagrama:




                                                      Ian Goodfellow et al. (Deep Learning, 2016)


Este ejemplo es del libro de aprendizaje profundo de Ian Goodfellow, y otros autores (2016).
Entonces, si queremos utilizar una línea, esto es lo que dice el autor:
“… representamos los datos en coordenadas cartesianas, y vemos que resulta imposible.”
Es imposible si tenemos en cuenta en concepto de línea:
Según Wolfram MathWorld, una línea es una figura recta unidimensional que no tiene grosor y que se extiende infinitamente en ambas direcciones..

Entonces, ¿no podemos hacer nada? En realidad si. Si encontramos una forma de representar estos datos de una manera diferente, de alguna manera podemos trazar una línea recta para separar los tipos de datos. Esto es algo que las matemáticas nos enseñaron hace cientos de años. En este caso, lo que necesitamos es una transformación de coordenadas, para que podamos trazar o representar estos datos de una manera que podamos trazar esta línea. Si  transformamos la representación a coordenadas polares, tenemos la solución:
                                 


Ian Goodfellow et al. (Deep Learning, 2016)

And that’s it now we can draw a line:


Así, en este sencillo ejemplo, hemos encontrado la transformación de coordenadas con la que obtenemos una mejor representación para manejar los datos. Pero si creamos un sistema, un programa que pueda buscar diferentes representaciones (en este caso un cambio de coordenadas), y luego encontramos una forma de calcular el porcentaje de categorías que se clasifican correctamente con este nuevo enfoque, en ese momento estamos haciendo aprendizaje automático.
Esto es algo muy importante a tener en cuenta. El aprendizaje profundo es el aprendizaje de la representación utilizando diferentes tipos de redes neuronales y la optimización de los hiperparámetros de la red para obtener (aprender) la mejor representación de nuestros datos.
Esto no sería posible sin los asombrosos avances que nos llevaron al estado actual del aprendizaje profundo. Aquí cito algunos de ellos:


1. Idea: propagación hacia atrás.

Learning representations by back-propagating errors de David E. Rumelhart, Geoffrey E. Hinton & Ronald J. Williams.


2. Idea: mejor iniciaización de los parámetros de redes. Algo que debemos recordar: la estrategia de inicialización se debe seleccionar de acuerdo con la función de activación que se utilice (siguiente).

Weight Initialization for Deep Networks - Practical aspects of Deep Learning | Coursera
Este curso le enseñará la "magia" de hacer que el aprendizaje profundo funcione bien. En lugar del proceso del aprendizaje profundo ...

How to train your Deep Neural Network
Hay ciertas prácticas en aprendizaje profundo que son muy recomendables, para entrenar de manera eficiente redes neuronales profundas ...

CS231n Convolutional Neural Networks for Visual Recognition
Materiales y notas del curso para la clase CS231n de Stanford: Redes neuronales convolucionales para reconocimiento visual.

3. Idea: mejores funciones de activación. Esto significa mejores formas de aproximar las funciones más rápidamente, lo que conduce a un proceso de entrenamiento más rápido.

Understanding Activation Functions in Neural Networks
Recientemente, un colega me hizo algunas preguntas como "¿por qué tenemos tantas funciones de activación?", "¿Por qué ...

Activation Functions: Neural Networks
Sigmoid, tanh, Softmax, ReLU, Leaky ReLU EXPLICADAS !!!

4. Idea: retiro. Una forma de evitar el sobreajuste y más.

Learning Less to Learn Better — Dropout in (Deep) Machine learning
En esta publicación, discutiré principalmente el concepto de retiro en las redes neuronales, específicamente las redes profundas, seguido de ...
Dropout: A Simple Way to Prevent Neural Networks from Overfitting, un gran artículo de Srivastava, Hinton y otros.

5. Idea: redes neuronales convolucionales (CNNs).
 


6. Idea: redes residuales (ResNets).

[1512.03385v1] Deep Residual Learning for Image Recognition
Resumen: las redes neuronales más profundas son más difíciles de entrenar. Presentamos un marco de aprendizaje residual para facilitar el ...

[1608.02908] Residual Networks of Residual Networks: Multilevel Residual Networks
Resumen: una familia de redes residuales con cientos o incluso miles de capas domina las principales tareas de reconocimiento de imágenes ...

7. Idea: CNN basadas en la región. Uutiliza entre otras cosas oara detectar objetos.

[1311.2524v5] Rich feature hierarchies for accurate object detection and semantic segmentation
Resumen: el rendimiento de detección de objetos, medido en el conjunto de datos canónico PASCAL VOC, se ha estancado en los últimos ...

[1703.06870] Mask R-CNN
Resumen: presentamos un marco conceptual simple, flexible y general para la segmentación de instancias de objetos. Nuestra…

facebookresearch/Detectron
Detectron: la plataforma de investigación de FAIR para la investigación de detección de objetos, que implementa algoritmos populares como Mask R-CNN y ...

8. Idea: redes neuronales recurrentes (RNNs) y LSTM.

A Beginner's Guide to Recurrent Networks and LSTMs
Contenido: el propósito de este artículo es proporcionar a los estudiantes de redes neuronales una base intuitiva sobre el funcionamiento de ...

Understanding LSTM Networks -- colah's blog
Estos bucles hacen que las redes neuronales recurrentes parezcan algo misteriosas. Sin embargo, si pensamos un poco más, resulta que ...

Recurrent Layers - Keras Documentation
input_length: longitud de las secuencias de entrada, que se especificará cuando sea constante. Este argumento es obligatorio si está ...
Por cierto: Liao y Poggio (2016) demostraron que ResNets == RNNs, arXiv: 1604.03640v1.

9. Idea: redes generativas antagónicas (GANs).

[1406.2661v1] Generative Adversarial Networks
Resumen: proponemos un nuevo marco para estimar modelos generativos a través de un proceso contradictorio, en el que…

nashory/gans-awesome-applications
gans-awesome-applications: lista seleccionada de increíbles aplicaciones y demos GAN.

10. Idea: redes de cápsulas.


What is a CapsNet or Capsule Network?
¿Qué es una red de cápsulas? ¿Qué es la cápsula? ¿Es CapsNet mejor que la red neuronal convolucional (CNN)? Este artículo es ...

Understanding Hinton’s Capsule Networks. Part I: Intuition.
Serie de las partes para comprender las redes de cápsulas de Hinton:

gram-ai/capsule-networks
Una implementación de PyTorch del documento NIPS 2017 "Enrutamiento dinámico entre cápsulas".

Y hay muchas otras aportaciones, pero creo que esos son avances teóricos y algorítmicos realmente importantes que están cambiando el mundo y que dieron impulso a la revolución del aprendizaje profundo.


¿Cómo empezar con aprendizaje profundo?




No es fácil comenzar, pero haré todo lo posible para que avancemos juntos en este proceso. Consulte los recursos, pero recuerde, no se trata solo de ver videos y leer artículos, sino de comprender, programar, codificar, fallar y luego hacer que suceda.


1. Aprendizaje de Python y R ;)

0. 
Andrew Ng y Coursera (ya lo conoces, no necesita introducción):>
Deep Learning | Coursera
Aprendizaje profundo de deeplearning.ai. Si desea tener acceso a la inteligencia artificial, esta especialización le ayudará a hacerlo. Profundo…


1. Siraj Raval: es increíble. Tiene la capacidad de explicar conceptos difíciles de una manera fácil y divertida. Se puede seguir en su canal de YouTube. Específicamente estas listas de reproducción:

The Math of Intelligence:





2. Intro to Deep Learning:





3. Libro de François Chollet: Deep Learning with Python (and R):

Deep Learning with Python
La explicación más clara del aprendizaje profundo que he encontrado ... fue un placer leerla.
Deep Learning with R
La explicación más clara del aprendizaje profundo que he encontrado ... fue un placer leerla.

Deep Learning Fundamentals
Sobre este curso: obtenga un curso intesivo sobre lo que hay que aprender y cómo aprender más. El aprendizaje profundo…

Deep Learning with TensorFlow
Este curso de Deep Learning con TensorFlow se centra en TensorFlow. Si es nuevo en el tema del aprendizaje profundo ...

5. 
DataCamp:

Deep Learning in Python
El aprendizaje profundo es la técnica de aprendizaje automático que está detrás de las capacidades más interesantes en diversas áreas como la robótica ...

keras: Deep Learning in R
Como ya sabe, el aprendizaje automático es un subcampo de la informática (CS). El aprendizaje profundo, entonces, es un subcampo de… www.datacamp.com


Aprendizaje profundo distribuido

                   




El aprendizaje profundo es una de las herramientas y de las teorías más importantes que debe aprender un científico de datos. Somos muy afortunados de tener a personas increíbles que hacen investigación, crean software, herramientas y hardware específicos para tareas de aprendizaje profundo. 


La DL es costosa desde el punto de vista de la computación y, aunque ha habido avances en la teoría, el software y el hardware, necesitamos los desarrollos en Big Data y aprendizaje automático distribuido para mejorar el rendimiento y la eficiencia. Importantes personas y empresas están realizando esfuerzos increíbles para unirse a los marcos distribuidos (Spark) y las bibliotecas de aprendizaje profundo (TF y Keras).

Aquí hay una descripción general:

1. 
Databricks: Pipelines de aprendizaje profundo (pronto se fusionarán con Spark)
Overview - Deep Learning Pipelines 0.2.0 Documentation
Página de inicio de la documentación de Deep Learning Pipelines 0.2.0

2. Elephas: aprendizaje profundo distribuido con Keras & PySpark:
maxpumperla/elephas
elephas – Aprendizaje profundo distribuido con Keras & Spark

3. 
Yahoo! Inc.: TensorFlowOnSpark:
yahoo/TensorFlowOnSpark
TensorFlowOnSpark lleva los programas de TensorFlow a los clústeres de Apache Spark

4. 
CERN Keras distribuido (Keras + Spark):
cerndb/dist-keras
dist-keras – Aprendizaje profundo distribuido con un enfoque sobre el entrenamiento distribuido, utilizando Keras y Apache Spark.

5. 
Qubole (tutorial Keras + Spark):
Distributed Deep Learning with Keras on Apache Spark | Qubole
Se ha demostrado que el aprendizaje profundo produce modelos de aprendizaje automático altamente efectivos en muy variados campos. Algunos de…

6. 
Intel Corporation: BigDL (biblioteca de aprendizaje profundo distribuido para Apache Spark)
intel-analytics/BigDL
BigDL: biblioteca de aprendizaje profundo distribuido para Apache Spark



7. TensorFlow y Spark en Google Cloud:

Using Apache Spark with TensorFlow on Google Cloud Platform | Google Cloud Big Data and Machine…
Apache Spark y TensorFlow son proyectos de código abierto que han tenido un impacto importante en el mundo empresarial ...


Hacer cosas con aprendizaje profundo

                             

Como he dicho antes, uno de los momentos más importantes para este campo fue la creación y el código abierto de TensorFlow.

TensorFlow es una biblioteca de software de código abierto para el cálculo numérico mediante gráficos de flujo de datos. Los nodos en el gráfico representan operaciones matemáticas, mientras que los bordes del gráfico representan las matrices de datos multidimensionales (tensores) comunicadas entre ellos.

                     


Lo que se ve en la imagen superior son manipulaciones tensoriales trabajando en el tensor de Riemann en relatividad general.

Los tensores, definidos matemáticamente, son sencillamente matrices de números, o funciones, que se transforman según ciertas reglas bajo un cambio de coordenadas.
Pero en el ámbito del aprendizaje automático y el aprendizaje profundo, un tensor es una generalización de vectores y matrices a dimensiones potencialmente superiores. Internamente, TensorFlow representa tensores como matrices n-dimensionales de tipos de datos básicos.

En aprendizaje profundo utilizamos tensores  todo el tiempo, pero no es necesario ser un experto para usarlos. Es posible que deba comprender un poco sobre ellos, así que aquí enumero algunos buenos recursos:

Los tensores y las nuevas herramientas de aprendizaje automático, como TensorFlow, son temas candentes en estos días, especialmente entre las personas que buscan ...

Learning AI if You Suck at Math — P4 — Tensors Illustrated (with Cats!)
Bienvenido a la cuarta parte de Learning AI if You Suck at Math. Si se perdió las partes 1, 2, 3, 5, 6 y 7, asegúrese de revisarlas ...

Después de comprobar lo anterior, los avances que mencioné antes y los marcos de programación como TensorFlow o Keras (para más información sobre Keras pinchar aquí), ahora creo que nos permiten tener una idea de lo que necesitamos para comprender el aprendizaje profundo y trabajar con él.

Pero, ¿qué hemos logrado hasta ahora con el aprendizaje profundo? Por nombrar algunos (del libro de François Chollet):
·         Clasificación de imágenes a nivel casi humano.
·         Reconocimiento de voz a nivel casi humano.
·         Transcripción de escritura a mano a nivel casi humano.
·         Traducción automática mejorada.
·         Conversión de texto a voz mejorada.
·         Asistentes digitales como Google Now o Amazon Alexa.
·         Conducción autónoma a nivel casi humano.
·         Mejora de la segmentación de anuncios, como la utilizan Google, Baidu, y Bing.
·         Resultados de búsqueda en la web mejorados.
·         Responder preguntas de lenguaje natural.
·         Juego del Go a un nivel superior al humano.
Y mucho más. A continuación se presenta una lista de 30 aplicaciones geniales y divertidas de aprendizaje automático:
30 amazing applications of deep learning

En los últimos años, el aprendizaje profundo se aplicó a cientos de problemas, que van desde la visión por computadora hasta ...
Pensando en el futuro del aprendizaje profundo (para la programación o la creación de aplicaciones), repetiré lo que dije en otras publicaciones.
Para hacer cosas con aprendizaje profundo, realmente creo que las GUI y AutoML son el futuro cercano. No me gustaría que se me interpretase mal, me encanta codificar, pero creo que la cantidad de código que escribiremos los próximos años se deteriorará.



No podemos consumir tantas horas en todo el mundo programando las mismas cosas una y otra vez, así que creo que estas dos funciones (GUI y AutoML) ayudarán a los científicos de datos a ser más productivos y a resolver más problemas.

Una de las mejores plataformas gratuitas para realizar estas tareas en una GUI simple es Deep Cognition. Su sencilla interfaz de arrastrar y soltar nos ayuda a diseñar modelos de aprendizaje profundo con facilidad. Deep Learning Studio puede diseñar automáticamente un modelo de aprendizaje profundo para su conjunto de datos personalizado gracias a su característica avanzada AutoML casi con un clic.

En los siguientes enlaces se puede aprender más sobre ellos:
DeepCognition - Become an AI-Powered Organization Today
Diseñe, entrene e implemente modelos de aprendizaje profundo sin tener que codificar. Deep Learning Studio simplifica y acelera el…
Eche un vistazo a los precios: es gratissss :)

                  

Una de las cosas que me gustan de esa plataforma es que aún puedes codificar, interactuar con TensorFlow, Keras, Caffe, MXNet y muchos más con la línea de comandos o el Notebook sin tener que instalar nada. ¡Tenemos tanto el portátil como la CLI!
Me quito el sombrero ante ellos y su contribución a la sociedad.
Otras aplicaciones interesantes de aprendizaje profundo que se pueden probar gratis o por poco coste son (algunas de ellas en betas privadas):

Si es en el futuro, está en Skejul ... Usando la plataforma Context Aware Predictive ComputingTM de Skejul ESTABLEZCA sus reuniones ...

Seeing AI | Talking camera app for those with a visual impairment
Una aplicación gratuita que narra el mundo que te rodea. Diseñado para la comunidad de personas que padecen  visión deficiente, este proyecto de investigación aprovecha ...

Dialogflow
Una plataforma de experiencia de usuario conversacional.










Gracias por leer esta extraña introducción al aprendizaje profundo. Espero que le haya ayudado a iniciarte en esta increíble área, o tal vez simplemente a descubrir algo nuevo.

Si tiene preguntas, añádame en LinkedIn y charlaremos allí:


Bio:  Favio Vazquez es físico e ingeniero informático que trabaja en ciencia de datos y cosmología computacional. Tiene pasión por la ciencia, la filosofía, la programación y la música. En este momento, trabaja en ciencia de datos, aprendizaje automático y big data como científico principal de datos en Oxxo. Además, es el creador de Ciencia y Datos, una publicación de Data Science en español. Le encantan los nuevos retos, trabajar con un buen equipo y tener problemas interesantes que resolver. Es parte de la colaboración de Apache Spark, colabora en MLlib, Core and the Documentation. Le encanta aplicar su conocimiento y experiencia a la ciencia, análisis de datos, visualización y aprendizaje automático para ayudar al mundo para que se convierta en unlugar mejor.

Original. Publicado de nuevo con permiso.
Artículos relacionados:
·         My Journey into Deep Learning