WOT

Friday, November 4, 2016

Aprenda la ciencia de datos en 8 (sencillos) pasos

Nota: Este artículo es una traducción del original que aparece en el sitio de KDnuggets: Learn Data Science in 8 (Easy) Steps

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


Aprenda la ciencia de datos en 8 (sencillos) pasos

  
     


¿Quiere aprender la ciencia de datos? ¡Eche un vistazo a estos 8 pasos (fáciles) que le ayudarán a orientarse en la dirección adecuada!

Por Karlijn Willems, periodista experto en ciencia de datos y colaborador de DataCamp.

Una de las preguntas más frecuentes en el campo de la ciencia de datos, además de la de ‘¿qué es la ciencia de datos?', es '¿cómo puedo aprender la ciencia de datos?'. Es una pregunta que no sólo formulan los que se acercan por primera vez a esta disciplina, sino que también la hacen algunos que ya están  familiarizados con el tema desde hace algún tiempo. El camino hacia lo que llaman el 'trabajo más sexy del siglo 21' o el 'mejor trabajo del año 2016’ no es evidentemente tan agradable o tan sencillo como se podría pensar.
En DataCamp, los estudiantes aprenden la ciencia de datos practicándola. Pero también nos hemos dado cuenta de que siguen haciendo estas preguntas. Es posible encontrar una gran cantidad de opiniones y asesoramiento de expertos en Internet, pero esta jungla de información no les está poniendo las cosas más fáciles a los principiantes. Esta entrada tiene la intención de presentar una visión general de los ocho pasos que hay que tener en cuenta para aprender la ciencia de datos.

El objetivo no es el de proporcionar una lista exhaustiva, sino más bien elaborar una guía para todo el mundo que esté interesado en el aprendizaje de la ciencia de datos, o para aquellos que ya son científicos de datos o forman parte de un equipo dedicado a esta actividad, pero quieren disponer de algunos recursos adicionales para perfeccionarse en el tema.
Si prefiere una representación visual de esta entrada del blog, asegúrese de revisar la infografía correspondiente de 'Aprenda la ciencia de datos en 8 (sencillosl) pasos'.



¿Qué es la ciencia de datos?

La ciencia de datos es todavía un concepto difuso. Hay y ha habido muchas definiciones o intentos de definiciones aproximadas, y no tiene por qué sorprender que algunas de ellas se hayan representado de forma visual. El inicio más importante de esta tendencia se produjo en 2010, cuando Drew Conway presentó un diagrama de Venn para definir el concepto de 'ciencia de datos'. En el centro de la imagen está la ciencia de datos, resultado de la combinación de tener habilidades en piratería informática, tener conocimientos de matemáticas y de estadística y poseer una dilatada experiencia.




Con los años, se han publicado muchos diagramas de Venn así como otros tipos de representaciones visuales que se prodigaron en la ciencia de datos, unos con más éxito que otros. Para tener una visión cronológica de los más importantes, ver el artículo Battle of the Data Science Venn Diagrams.

Para abreviar una larga historia, en 2016 conseguimos una imagen ligeramente diferente de lo que es la ciencia de datos. Matthew Mayo publicó en un blog la representación visual de un trabajo de Gregory Piatetsky-Shapiro. Hay muchas cosas que han cambiado. Hay dos cosas que destacan entre todas: el hecho de que la ciencia de datos ya no está en el centro de la imagen, y que el enfoque para definir la ciencia de datos es diferente. La ciencia de datos se define ahora a través de su relación con otras disciplinas, como la inteligencia artificial (IA), el aprendizaje automático (AA), el aprendizaje profundo (AP), Big Data (BD) y la minería de datos (MD). La ciencia de datos es una la intersección de la IA, AA y BD y tiene una relación intrínseca con la MD, pues se considera el superconjunto formado por la minería de datos y como pueda llamarse en el futuro la ciencia de datos.
Estas dos imágenes pueden parecer completamente diferentes, pero comparten muchas similitudes: las disciplinas que se visualizan en el cuadro de  Piatetsky-Shapiro requieren habilidades de hacker, tener conocimientos de matemáticas y estadística y una gran experiencia o conocimiento del medio.

Antecedentes educativos de los científicos de datos

Se han llevado a cabo numerosas encuestas en los últimos años sobre la formación académica de los científicos de datos. Como consecuencia, también ha habido muchos resultados diferentes. En una encuesta del año 2014 de O'reilly, alrededor del 28% de los consultados tenían una licenciatura, mientras que el 44% tenían un máster y el 20% tenían un doctorado. Campos comunes que los científicos de datos tienen como formación son las  matemáticas / estadística, la informática, y la ingeniería. Los resultados representados en la infografía son del año 2016 son muy similares a los de la encuesta O'Reilly.


En general, se puede concluir que el título que es necesario haber completado para convertirse en un científico de datos es normalmente un título de maestría o doctorado. El campo de procedencia es de menor importancia, pero presenta ventajas si tiene un fondo cuantitativo.


Paso 1. Tener un buen nivel de conocimientos en estadística, en matemáticas y en aprendizaje automático

Con los años podría haber cambiado la perspectiva sobre el concepto de ciencia de datos, pero en esencia se ha mantenido como una ocupación de tipo técnico. Un buen conocimiento de estadística, matemáticas y de aprendizaje automático se consideran todavía requisitos esenciales para poder tener acceso a la ciencia de datos.
Ponerse al día en estas tres disciplinas puede suponer una tortura, especialmente para aquellas personas que no tienen conocimientos técnicos de ningún tipo. Por suerte, existen recursos cualitativos más que suficientes para ayudar al futuro científico de datos a salir de esto: La Khan Academy ofrece cursos online con una gran variedad de temas matemáticos que sin duda serán de gran valor para usted, pero asegúrese también de echar un vistazo al curso de Álgebra Lineal del MIT Open Courseware. Para estadística, los materiales de DataCamp, Udacity y OpenIntro podrían ayudar, y para el aprendizaje automático, habría que estar pendiente del contenido de DataCamp, Stanford Online y Coursera.


Paso 2 Aprender a programar

El desarrollo de las habilidades de hacker es también una de las cosas que aún hay que tener en cuenta si se quiere aprender la ciencia de datos.
Puede empezar por familiarizarse con los fundamentos de la informática: conocer las estructuras de datos y los algoritmos básicos de búsqueda. Después, avanzar en la comprensión de cómo funciona el proceso de extremo a extremo: las cosas con las que se va a trabajar estarán integradas con otros sistemas, así que es mejor entender cómo es el proceso de principio a fin, desde la recopilación y el análisis de los requisitos a las pruebas y el mantenimiento del código. Cuando haya captado este concepto, es el momento de elegir un lenguaje de programación. Se puede elegir un lenguaje de código abierto o uno comercial. Los aspectos a tener en cuenta para tomar una decisión son la curva de aprendizaje, la industria en la que se desea trabajar, el salario que acompaña el ser competente en el lenguaje de programación, ...
Esta infografía puede ayudar a facilitar la elección. DataCamp le puede proporcionar ayuda si se ha optado por un lenguaje de programación de código abierto.


Paso 3. Comprender las bases de datos

Cuando se inicia el aprendizaje de la ciencia de datos se observa que una gran cantidad de tutoriales se centran en la recuperación de datos de archivos de texto plano. Sin embargo, cuando se empieza a trabajar o cuando se toma contacto con el sector, se ve que la mayoría del trabajo requiere utilizar una o varias bases de datos.
Y hay una gran cantidad de bases de datos. Las empresas pueden trabajar con otras empresas como Oracle o pueden optar por alternativas de código abierto. La clave aquí, para que los árboles dejen ver el bosque, es entender cómo funcionan las bases de datos. Aprender sobre el porqué y el cómo de las bases de datos y lo que vendrá. Conceptos que es necesario asimilar, y saber cómo funciona todo en los sistemas de gestión de bases de datos relacionales (RBD) y el almacenamiento de datos. Esto significa que la comparación entre el modelado dimensional frente al relacional no debe tener secretos para el aspirante a científico de datos, ni tampoco SQL, ni debe sonarle a nuevo el proceso de extracción, transformación y carga (ETL).
Si quiere aprender como funcionan las bases de datos, debería revisar  Mongo DB University, la ‘Introduction to Databases’ de la clase de Stanford Online así como los tutoriales de DataStax y de Tutorials Point.



Paso 4. Explorar los flujos de trabajo de la ciencia de datos

La siguiente fase en el proceso de aprendizaje sería explorar el flujo de trabajo de la ciencia de datos. Una gran cantidad de tutoriales o cursos se centran sólo en uno o dos aspectos de la misma, pero pierden la visión general del proceso que hay que ejecutar cuando se trabaja como científico de datos o en un equipo de ciencia de datos. Es esencial no perder de vista el proceso iterativo que es la ciencia de datos.
Para los que se inician en la ciencia de datos y ya saben programar, el camino más fácil para descubrir como funciona el flujo de trabajo de la ciencia de datos es practicando las habilidades de programaciòn: hay que iniciar el viaje con  R o con Python. Hay varios paquetes y bibliotecas que se han diseñado para hacer la vida más fácil en cuanto a la codificación. Eche un vistazo al fragmento de una infografía que aparece a continuación:


Para aquellos principiantes que todavía sienten que no tienen las suficientes habilidades como hackers, vale la pena echarle un vistazo a las alternativas de código abierto que no requieren que se codifique todo. Estas herramientas le permiten hacer más de un paso al mismo tiempo en el flujo de trabajo de la ciencia de datos. Por ejemplo, RapidMiner le permite al programador importar o hacer una recogida de datos, hacer algunas operaciones sobre ellos o limpiarlos, modelarlos y evaluarlos. Tenga en cuenta que es bueno saber cómo trabajar con estas herramientas, pero ¡debería seguir practicando sus habilidades de codificación!


Paso 5. Subir de nivel con Big Data

Muchos aspirantes están tan preocupados por lo que ellos llaman 'los fundamentos' de la ciencia de datos que se olvidan del panorama más amplio que hay en el exterior. Literalmente. Ya se han lanzado algunas indirectas en las secciones anteriores sobre esto, pero hay una discrepancia. La discrepancia entre los archivos de texto plano que se utilizan en muchos tutoriales y las bases de datos que se utilizan en la industria, la velocidad, la variedad y el volumen de los datos que está ahí fuera. Es una realidad que no se puede ni se debe perder.
El Big Data podría haberse tratado solo de propaganda, pero sin duda está ahí, y es importante darse cuenta de esto y entender lo que abarca. Las tres cosas que hay que aprender sobre Big Data son:
1.    Ver por qué Big Data requiere un enfoque diferente sobre el tratamiento de datos. La mejor manera de comprenderlo es probablemente examinar los casos en los que se utiliza Big Data. Se puede leer algo relacionado con esto aquí.
2.    Hay que familiarizarse con la estructura de Hadoop : su uso está muy extendido para el almacenamiento y procesado de datos distribuidos.
3.    No hay que olvidarse de Spark. Conseguir relacionar Spark  con Python o Scala es el camino a seguir. Y, mejor aún, matará dos pájaros de un tiro: practicar sus habilidades de codificación y ampliar su enfoque en ciencia de datos.


Paso 6. Crecer, estar conectado y aprender

Crecer. Una vez llegados a este punto en el que ya se dominan los fundamentos, es hora de crecer: practicar tanto como sea posible y enfrentarse a retos de la ciencia de datos, como los que se encuentran en Kaggle o en DrivenData. Indudablemente, le desafiarán a poner en práctica la teoría. Además, también debe dejar crecer su intuición.
Conectar con expertos. Como alumno de ciencia de datos, es posible que caiga en la trampa de mantenerse ocupado solamente con su aprendizaje y con el de otros compañeros, pero es igualmente importante estar conectado con aquellas personas que tienen una mayor experiencia en este campo. De esta forma, se crea una red a la que puede recurrir en caso de tener preguntas, o necesitar consejos o sugerencias, o para lo que sea. Estas personas le motivarán para que mantenga un buen aprendizaje y le pondrán a prueba para llegar aún más lejos.
Aprender. Podría decirse que el aprendizaje permanente y la ciencia de los datos son sinónimos. Los desafíos de Kaggle y de DrivenData mencionados más arriba le enseñarán algunas cosas sobre como llevar a la práctica la ciencia de datos, Aparte de estos ejercicios relativamente cortos, puede considerar la puesta en marcha de un proyecto de mascotas y explorar algunas cosas incluso a un nivel más profundo.


Paso 7. Sumérjase completamente

Como en el caso de la inmersión lingüística, también es necesario sumergirse en la ciencia de datos. Dependiendo de las habilidades y conocimientos que ya tiene, usted podría pensar en probar con un entrenamiento básico (campo de entrenamiento), acceder a un puesto de prácticas o a un puesto de trabajo. Un entrenamiento básico es una forma increíble de comenzar rápidamente e impulsar su aprendizaje de la ciencia de datos. Un plus es que conocerá a mucha gente, y tiene así la oportunidad de crear o ampliar su red de contactos. ¿Tiene problemas para encontrar alguno? Eche un vistazo a Galvanize y Metis, pero no olvide que los grupos Meetup pueden también organizar  actividades de entrenamiento básico y de talleres para la comunidad.

En segundo lugar, cuando ya tiene los conceptos básicos de la ciencia de datos bajo control, debe considerar la posibilidad de conseguir un puesto de prácticas. Muchas grandes empresas como Facebook, Quora y Amazon han ofertado puestos de trabajo en  prácticas y son empresas recomendables para iniciar la búsqueda de trabajo. También puede utilizar sus canales sociales o su red de contactos para conseguir información de primera mano sobre puestos vacantes de prácticas. Finalmente, también puede echar un vistazo a startups: estas pequeñas compañías pueden estar dispuestas a dejarle aprender mediante la experiencia así como hacer que aprenda rápidamente. Merece la pena echar un vistazo a AngelList cuando se trata de empezar a trabajar.

En esta última opción de inmersión es donde la mayoría de los estudiantes experimentan un cuello de botella, como confirma la reciente tendencia de búsqueda publicada en 'Entrevistas sobre la ciencia de datos'. Aunque podría estas muy entusiasmado sobre conseguir un trabajo como científico de datos, es esencial tener en cuenta un par de cosas cuando se busca un puesto de trabajo:
·         En los anuncios de trabajo no siempre se explica bien el puesto de trabajo. Podría ocurrir que el anuncio solicite una vacante para un 'científico de datos', pero en realidad lo que están buscando es un ingeniero de datos o analista de negocios. Consulte la infografía The Data Industry: de DataCamp Who Does What para ver qué buscan las empresas cuando pubican una vacante.
·         Establezca sus expectativas con honestidad: empezar a trabajar en un puesto de científico o analista de datos si no ha tenido una experiencia real con el flujo de trabajo de la ciencia de datos, bases de datos o desarrollo de extremo a extremo, no es realista. Asegúrese de que puede demostrar que tiene una experiencia relevante cuando opte a un puesto de trabajo.

No se desanime si no puede conseguir el trabajo inmediatamente. En lugar de desanimarse procure mantenerse ocupado adquieriendo experiencia, y eche un vistazo a las empresas que han publicando vacantes en ciencia de datos, como Google, Microsoft y Twitter.


Paso 8. Comprométase con la comunidad

Este último paso es el que a veces se pasa por alto. Incluso cuando ya está trabajando en la ciencia de datos o como científico de datos, hay que recordar que la ciencia de datos necesita de un aprendizaje continuo. Hay continuos avances, y es de vital importancia estar al tanto y tener  curiosidad de lo que está sucediendo a su alrededor.  Así que no sea tímido e intervenga en los debates que se suscitan en los medios sociales, suscríbase a un boletín de noticias, siga a las personas clave de la industria de la ciencia de datos, escuche podcast, ... ¡Haga todo lo que pueda para colaborar con la comunidad!
Para estar al día en las últimas noticias puede registrarse en los siguientes boletines: el boletín bimensual KD Nuggets y Data Elixir o el botetín Data Science Weekly. También puede seguir a algunas personas clave en la industria de la ciencia de datos en Twitter. Esto también le mantendrá al día. Algunas personas que podrian intersarle son DJ Patil, Andrew Ng, y Ben Lorica.
Únase a algunas comunidades en línea. LinkedIn, Facebook, Reddit, ... Todos ellos ofrecen la posibilidad de conectarse con sus compañeros. Debe aprovechar la oportunidad de convertirse en miembro de uno de estos grupos:
·         En LinkedIn, asegúrese de echar un vistazo a los grupos de 'Big Data, Analytics, Business Intelligence', 'Big Data Analytics', 'Data Scientists' o 'Data Mining, Statistics, Big Data, Data Visualization, and Data Science'.
·         En Facebook, podrían interesarle los grupos 'Beginning Data Science, Analytics, Machine Learning, Data Mining, R, Python', 'Learn Python'.
·         En Subreddits puede ver '/r/datascience', '/r/rstats' y '/r/python', ¡entre muchos otros!

¡Esta lista pretende ser sólo un indicador y no es exhaustiva! Si quiere seguir viendo la descripción de más recursos puede hacerlo here.
Por último, ¡no se olvide de contribuir a las comunidades en las que se ha dado de alta!

Sobre DataCamp

DataCamp es una plataforma de educación interactiva centrada en proporcionar la mejor experiencia de aprendizaje dedicada específicamente a la ciencia de datos. Nuestros cursos sobre R, Python y Data Science están organizados en torno a un cierto tema, y combinan vídeo instrucciones con desafíos de codificación en el navegador, de manera que  pueda aprender haciendo. Puede empezar cualquier curso de forma gratuita, cuando quiera y donde quiera.

Biografía: Karlijn Willems es un periodista de cienca de datos y colabora escribiendo para la comunidad de DataCamp, centrándose en la educación de la ciencia de datos, en las últimas noticias  y en las últimas tendencias. Es licenciada en Literatura y Lingüística y en Gestión de la Información.

Enlaces relacionados:


Thursday, October 27, 2016

Explicación de términos clave del aprendizaje profundo

Nota: Este artículo es una traducción del original que aparece en el sitio de KDnuggets: Deep Learning Key Terms, Explained

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

Explicación de términos clave del aprendizaje profundo
  
        


Adquiera los conocimientos para iniciarse en redes neuronales artificiales y en aprendizaje profundo con este conjunto de 14 definiciones que tratan lo esencial de conceptos clave relacionados con ambos temas.

Por Matthew Mayo, KDnuggets.
El término aprendizaje profundo es relativamente nuevo, aunque su existencia es anterior al enorme repunte que han experimentado últimamente las búsquedas online. El aprendizaje profundo disfruta actualmente de un auge en lo que se refiere a la investigación y a la industria, principalmente debido a los increíbles éxitos cosechados en diferentes áreas, y consiste en el proceso de aplicación de las tecnologías de redes neuronales profundas, es decir las arquitecturas de redes neuronales con múltiples capas ocultas, para la resolución de problemas. El aprendizaje profundo es un proceso, que como en la minería de datos, emplea arquitecturas de redes neuronales profundas, las cuales son determinados tipos de algoritmos que forman parte del aprendizaje automático.
Deep neural network
El aprendizaje profundo ha conseguido un gran número de éxitos en los últimos tiempos. A la luz de lo que hemos comentado, es importante tener algunas cosas en cuenta, al menos en mi opinión:
·         El aprendizaje profundo no es la panacea, no es una solución única que se aplica con facilidad a todos los problemas que existen
·         No es el famoso algoritmo maestro: el aprendizaje profundo no desplazará al resto de algoritmos del aprendizaje automático y tampoco a las técnicas empleadas por la ciencia de datos, o, al menos, todavía no ha demostrado que pueda ser así.
·         Es conveniente no tener grandes expectativas: Aunque recientemente se han conseguido grandes avances en todo tipo de problemas de clasificación, en particular en la visión artificial, en el procesamiento del lenguaje natural, así como en otras áreas, en su actual fase, el aprendizaje profundo no puede resolver problemas muy complejos, como por ejemplo 'conseguir la paz mundial'.
·         El aprendizaje profundo puede proporcionar una gran cantidad de datos al mundo científico en forma de procesos y herramientas auxiliares para ayudar a resolver problemas, y cuando se observa bajo esa perspectiva, es una aportación muy valiosa al panorama de la ciencia de datos.
Data Science Puzzle
Como se muestra en la imagen superior, el aprendizaje profundo es a la minería de datos como las redes neuronales (profundas) son al aprendizaje automático (procesos frente a arquitecturas). También es notable el hecho de que actualmente las redes neuronales profundas están estrechamente vinculadas con la inteligencia artificial, hasta tal punto que las 2 están tan entrelazadas que casi son sinónimos (sin embargo, no son la misma cosa, y la inteligencia artificial tiene muchos otros algoritmos y técnicas a su alcance aparte de las redes neuronales). Hay que tener en cuenta también la conexión entre el aprendizaje profundo / redes neuronales profundas y la visión por computador, el procesamiento del lenguaje natural y los modelos generativos, campos que tienen una importancia especial dado los grandes avances que han experimentado recientemente, impulsados por los procesos de aprendizaje profundo y por las tecnologías de redes neuronales.
Sabiendo todo esto, vamos a echar un vistazo a algunos de los términos relacionados con el aprendizaje profundo, con un enfoque conciso y purista de las definiciones.
Como se definió anteriormente, el aprendizaje profundo es el proceso de aplicación de las tecnologías de redes neuronales profundas a la resolución de problemas. Las redes neuronales profundas son redes neuronales con al menos una capa oculta (véase más adelante). Como en el caso de la minería de datos, el aprendizaje profundo es un proceso que emplea arquitecturas de redes neuronales profundas, que son clases especiales de algoritmos dentro del aprendizaje automático.

La arquitectura de la máquina de aprendizaje por la que el aprendizaje profundo se lleva a cabo, se inspiró originalmente en el cerebro biológico (en particular en las neuronas). En realidad, las redes neuronales artificiales (la variedad no profunda) han existido desde hace mucho tiempo, y tradicionalmente han sido capaces de resolver ciertos tipos de problemas. Sin embargo, hace relativamente poco tiempo, las arquitecturas de redes neuronales se idearon de forma que incluían capas ocultas de neuronas (más allá de las sencillas capas de entrada y salida), y este nivel adicional de complejidad es lo que permite el aprendizaje profundo, y proporciona un conjunto de herramientas con mayor capacidad para resolver problemas.
En realidad las arquitecturas de las RNAs varían considerablemente entre sí, y por lo tanto no existe una definición definitiva de redes neuronales. Las 2 características que se citan de forma general en todas las RNAs son la disposición de conjuntos de pesos adaptativos, y la capacidad de aproximar a funciones no lineales las señales de entradas a las neuronas.
Se ha conseguido mucho de la decisiva relación entre entre las redes neuronales biológicas y artificiales. Revistas divulgativas propagan la idea de que las RNA son de alguna manera una réplica exacta de lo que está pasando en el cerebro humano (o cualquier otro cerebro biológico). Esto es a todas luces impreciso; sobre esto sólo se puede decir que las primeros redes neuronales artificiales se inspiraron en la biología. La relación abstracta entre las 2 no es más importante que la comparación abstracta entre la composición y la funcionalidad de los átomos y el sistema solar.
Dicho esto sobre su relación, nos da la oportunidad de ver cómo trabajan las neuronas biológicas a muy alto nivel, aunque solo sea para inspirarnos en el desarrollo de las RNA.
Biological neuron
Los principales componentes de la neurona biológica que nos pueden interesar son:
·         El núcleo, que contiene información genética (es decir DNA)
·         El cuerpo celular, que procesa las activaciones de la entrada y las convierte en activaciones de salida
·         Las dendritas, que reciben activaciones de otras neuronas
·         Los axones, que transmiten activaciones a otras neuronas
·         Las terminaciones de los axones que junto con las dendritas vecinas, forman las sinapsis entre las neuronas
Sustancias químicas llamadas neurotransmisores se difunden a través de la hendidura sináptica entre la terminación de un axón y una dendrita próxima, dando lugar a lo que se conoce como neurotransmisión. La operación esencial de la neurona es que cuando llega una activación a través de una dendrita, dicha activación se procesa y, a continuación se retransmite a un axón a través de sus terminaciones, atraviesa la hendidura sináptica y llega a un cierto número de dendritas de neuronas receptoras, en las que se repite el proceso.

El perceptrón es un sencillo clasificador binario lineal. Los perceptrones toman las entradas y los pesos asociados a las mismas (que representan la importancia relativa de cada entrada), y las combinan para producir una salida, que luego se utiliza para proceder a una clasificación. Los perceptrones llevan con nosotros mucho tiempo, ya que sus primeras implemetaciones datan de la década de 1950, y el primero de ellos participó en las primeras implementaciones de RNA.
Un perceptrón multicapa (PMC) consiste en la aplicación de varias capas adyacentes de perceptrones totalmente conectadas, formando una red neuronal de conexión hacia adelante (véase más abajo). Este perceptrón multicapa tiene la característica adicional de tratar con funciones de activación no lineales, característica que no poseen los perceptrones individuales.
Las redes neuronales de conexión hacia adelante son la forma más simple de la arquitectura de red neuronal, en las que las conexiones son no cíclicas. En la red neuronal artificial original, la información en una red de conexión hacia adelante avanza en una sola dirección desde los nodos de entrada, atraviesa sus capas ocultas, y llega a los nodos de salida; no se producen ciclos. Las redes de conexión hacia adelante difieren de las típicas arquitecturas de red recurrentes (ver más abajo), en las que las conexiones forman un ciclo dirigido.
En contraste con las redes neuronales de conexión hacia adelante vistas más arriba, las conexiones de las redes neuronales recurrentes forman un ciclo dirigido. Este flujo bidireccional permite la representación interna del estado en función del tiempo, lo que a su vez, permite que la secuencia de procesamiento, y, la secuencia de notas, proporcione las capacidades necesarias para el reconocimiento tatno de la voz como de la escritura.
En las redes neuronales, la función de activación proporciona los límites de decisión de la salida mediante la combinación de entradas ponderadas en la red. Las funciones de activación varían desde la función de identidad (lineal) a la sigmoide (logística, o de paso suave) y a la hiperbólica (tangente) y a otras más complejas. Con el fin de emplear la propagación hacia atrás (ver más abajo), la red debe utilizar funciones de activación que se sometan a la operación de diferenciación.
A few activation functions
La definición más concisa y elemental  de propagación hacia atrás que he conocido nunca ha sido la de un científico de datos, Mikio L. Braun, que dió la siguiente respuesta en Quora, y que reproduzco de forma literal para no manchar su sencilla perfección:
La propagación hacia atrás es simplemente la disminución del gradiente de los errores individuales. Se trata de comparar las predicciones de la red neuronal con la salida deseada y luego calcular el gradiente de los errores con respecto a los pesos de la red neuronal. Esto le da al usuario una dirección a seguir en el espacio de pesos de los parámetros en el que el error va disminuyendo.
Voy a dejar las cosas así.
Cuando se entrena una red neuronal, se debe evaluar la exactitud de la salida de la red. Como sabemos la salida correcta que se espera de los datos de entrenamiento, se puede comparar la salida de entrenamiento. La función de coste mide la diferencia entre las salidas reales y las de entrenamiento. Una función de coste cero entre las salidas reales y las esperadas significaría que la red ha estado entrenando todo lo posible; esto sería claramente ideal.
Por lo tanto, ¿qué mecanismo ajusta la función de coste con el objetivo de minimizarla?
La disminución del gradiente es un algoritmo de optimización que se utiliza para encontrar los mínimos locales de las funciones. Si bien esto no garantiza un mínimo global, la disminución del gradiente es especialmente útil para aquellas funciones que son difíciles de resolver analíticamente para encontrar soluciones precisas, tales como reducir las derivadas a cero y resolverlas.
Gradient descent
Como se mencionó anteriormente, en el contexto de las redes neuronales, la disminución del gradiente estocástico se utiliza para hacer los ajustes previstos a los parámetros de la red con el objetivo de minimizar la función de coste, así que durante la fase de entrenamiento, las salidas reales de la red están, después de cada iteración, más cerca de las salidas esperadas. Esta minimización iterativa emplea una operación de cálculo, a saber, la diferenciación. Después de la etapa de entrenamiento, los pesos de la red reciben actualizaciones según el gradiente de la función de coste y los pesos actuales de la red, por lo que los resultados del siguiente paso de entrenamiento pueden estar un poco más cerca de ser los correctos (según lo medido por la función de coste). La retropropagación (propagación hacia atrás de errores) es el método utilizado para distribuir estas actualizaciones por la red.

La retropropagación utiliza la regla de la cadena para calcular los gradientes (mediante la operación de diferenciación), y en las capas en dirección hacia la parte 'frontal' (entrada) de una red neuronal de n capas habría que multiplicar cada pequeña cantidad del valor del gradiente n veces para tener el valor actualizado. Esto significa que el gradiente disminuiría de manera exponencial, lo que supone un problema con valores grandes de n, ya que las capas delanteras necesitarían progresivamente más tiempo para entrenar con eficacia.

Generalmente asociadas a la visión por computador y reconocimiento de imágenes, las redes neuronales convolucionales (RNC) emplean el concepto matemático de convolución para imitar a la red de conexiónes neuronales del cortex visual biológico.
En primer lugar, la convolución, como bellamente la ha descrito Denny Britz, puede considerarse como una ventana corrediza sobre la representación matricial de una imagen (ver más abajo). Esto permite la imitación aproximada de la imbricación de las partes del campo visual biológico.

Convolution
Cortesía de: Stanford

La implementación de este concepto en la arquitectura de una red neuronal da por resultado un conjunto de neuronas dedicadas al procesamiento de secciones de una  imagen, al menos cuando se emplea en la visión por computador. Cuando se utiliza en algún otro dominio, como el procesamiento del lenguaje natural, se puede emplear el mismo enfoque, dado que de entrada (palabras, frases, etc.) podría estar dispuesta en matrices y se procesa de manera similar.
LSTM
Cortesía de: Christopher Olah

Una red con memoria a corto y largo plazo (MCLP) es una red neuronal recurrente que está optimizada para aprender y actuar sobre los datos en función del tiempo, y que entre eventos relevantes pueden transcurrir lapsos de tiempo de duración indefinida o desconocida. Su arquitectura particular permite la persistencia, proporcionando 'memoria' a las RNA. Los recientes avances en el reconocimiento de la escritura a mano y el reconocimiento automático de voz se han beneficiado de las redes MCLP.


Evidentemente esto es sólo una pequeña parte de la terminología del aprendizaje profundo, y muchos conceptos adicionales, desde básicos a avanzados, esperan su exploración a medida que aprenda más sobre el campo líder en investigación de aprendizaje automático en la actualidad.

Artículos relacionados