Machine learning para todos

Consultores estratégicos en Ciencia de Datos

Introducción

El aprendizaje automático o Machine Learning es una disciplina de la Inteligencia Artificial, esto te podria sonar muy complejo, y en realidad lo és !   Pero a veces la gente lo hace parecer mas complejo de lo que es en realidad.  Si alguna vez has leido algo sobre este tema,  lo más probable es que los  hayas escuchado dos mitos:

a. )Las historias  académicas ,  llenas de teoremas y matemática compleja  (Las que son  imposibles de  entender ) y

b) Las historias conspiratorias  sobre inteligencia artificial , la ciencia de datos y donde se dice que todos los trabajos dependerán de esto  en el futuro .

Haremos una introducción simple para aquellos que siempre quisieron entender lo que es el  aprendizaje automático. Utilizando problemas del mundo real, con soluciones prácticas, y con un lenguaje simple y sin teoremas de alto nivel. Un mismo enfoque para todos. No importa si usted es abogado, médico,  programador de computadoras o un estudiante de  secundaria .

Comencemos entonces,

 

¿Por qué queremos que las máquinas aprendan?

Este es Billy. Billy quiere comprar un carro.  Billy quiere  calcular cuánto necesita ahorrar mensualmente para eso. Revisó docenas de anuncios en Internet y se enteró de que los autos nuevos cuestan alrededor de $ 20,000, los usados ​​en años anteriores cuestan $ 19,000, los de 2 años cuestan $ 18,000 y así sucesivamente.

Billy,  que no es un  brillante analítico, pero empieza a descubrir que existe un patrón:   el precio del automóvil depende de su antigüedad y cae $ 1,000 cada año, pero no bajarán de los $ 10,000.

En términos de aprendizaje automático, Billy descubrió  lo que conocemos como la regresión : predijo un valor (precio) basado en datos históricos conocidos.    La gente lo hace todo el tiempo, cuando intenta estimar un costo razonable para un iPhone usado en eBay o averiguar cuántas costillas necesita comprar para una fiesta de barbacoa.  ( 200 gramos por persona?  ) 500?

Sí,  en realidad sería muy útil tener una fórmula simple para cada problema del mundo. Especialmente, para una fiesta de barbacoa. Pero desafortunadamente, esto resulta dificil.

Volvamos a los auros. El problema es que tienen diferentes fechas de fabricación, docenas de opciones, condiciones técnicas, picos estacionales de la demanda y solo Dios sabe cuántos factores ocultos más. Un Billy promedio no puede mantener toda esa información en su cabeza mientras calcula el precio.

La gente es perezosa y posiblemente  necesitaría  un robot que le haga  los cálculos matemáticos. Entonces, si decidimos pedir ayuda al robot tendremos que darle algunos datos  y le pediremos que encuentre  los patrones ocultos detrás de un  precio.

Pues asi funciona el Machine Learning. Lo más emocionante es que la máquina hace esta tarea mucho mejor que una persona real , cuando analiza cuidadosamente todas las variables.

Así nace el aprendizaje automático.

 

Lo tres componentes del aprendizaje automático.

1.) el objetivo principal del  aprendizaje automático es predecir los resultados en función de los datos entrantes.

2. ) Cuantos mas casos haya  más fácil será encontrar patrones relevantes y predecir resultados. Por lo tanto, necesitamos tres componentes para enseñar a nuestra máquina:

A.)  los  Datos

¿Quieres detectar spam? Obten mas  muestras de mensajes de spam. ¿Quieres pronosticar las existencias? Encuentra el historial de precios. ¿Quieres conocer las preferencias de los usuarios? Analiza sus actividades en Facebook . Cuanto más diversos sean los datos, mejor será el resultado. Decenas de miles de filas es lo mínimo para obtener una buena predicción.

Hay dos formas principales de obtener los datos:  la forma manual y la automática. Los datos recopilados manualmente contienen muchos menos errores pero requieren más tiempo para recopilarlos, lo que hace que sean más caros en general.

El enfoque automático es más barato, pero requiere que se recolecten todos los datos posibles.  Al final sería de esperar que el resultado resulte  mas completos .

Algunas empresas ”  inteligentes” como Google utilizan a sus propios clientes para etiquetar los datos de forma gratuita. ¿Recuerda el ReCaptcha que le obliga a “Seleccionar todas las señales de tráfico”? Eso es exactamente lo que están haciendo. Trabajo gratis !

Es extremadamente difícil encontrar  una buena recopilación de datos (por lo general, un buen conjunto de datos). Los buenos datos, son tan escasos y tan valiosos que las empresas incluso pueden revelar  sus algoritmos, pero rara vez enseñan  el conjuntos de datos.

B.) LAS Características variables ó atributos  : (features)

También conocidas como atributos o variables. Pueden ser el kilometraje del automóvil, el sexo del usuario, el precio de las acciones, la frecuencia de palabras en un texto. En otras palabras, estos son los factores que queremos que analice la máquina.

Cuando los datos almacenados en tablas son simples,los atributos  son nombres de columnas. Pero, ¿qué pasa si tienes 100 Gb de fotos de gatos? No podemos considerar cada píxel como un atributo. Es por eso que la selección de las funciones correctas usualmente toma más tiempo que todas las otras partes . Esa es también la principal fuente de errores.

Las grandes cantidades de datos  muchas veces son muy subjetivos.  Cuando analice datos elija los atributos  que mas le  gusten o que encuentre   “más importantes”. Por favor, evite ser humano.

 

C.) Algoritmos

Cualquier problema puede ser resuelto de maneras diferentes. El método que usted  elija afectará  la precisión, el rendimiento y el tamaño del modelo final. Sin embargo, hay un matiz importante: si los datos son malos, incluso el mejor algoritmo no te ayudará.   Siempre se ha dicho  “si metes  basura, saldrá basura”. Por lo tanto, no le preste mucha atención al porcentaje de precisión, y las otras variables que miden que tan bueno es un algoritmo,  intente PRIMERO adquirir más datos…

 

Aprendizaje vs Inteligencia

Una vez que vi un artículo titulado “¿Reemplazarán las redes neuronales el aprendizaje automático?” En un sitio web de onda “hipster”. Este tipo de publicaciones siempre llaman a cualquier regresión lineal “inteligencia artificial”  En el siguiente diagrama mostramos qué  es qué.

Inteligencia artificial es el nombre de todo un campo de conocimiento, similar a la biología o la química.

El aprendizaje automático es una parte de la inteligencia artificial. Una parte importante, pero no la única.

Las redes neuronales son uno de los tipos de aprendizaje automático. Posiblemente el mas popular, pero hay otros algoritmos muy buenos en su tipo.

El aprendizaje profundo es un método moderno para construir, entrenar y usar redes neuronales. Básicamente, es una nueva arquitectura. Hoy en día, en la práctica, nadie separa el aprendizaje profundo de las “redes ordinarias”. Incluso usamos las mismas bibliotecas para ellos. Para no parecer muy ignorante,  es mejor simplemente mencionar  el tipo de red y evitar las palabras “de moda”.

La regla general es comparar las cosas en el mismo nivel. Es por eso,  que la frase “las redes neuronales reemplazarán el aprendizaje automático” suena como “las ruedas reemplazarán a los autos”

Las máquinas pueden
Las máquinas no pueden
Hacer Pronósticos Crear algo nuevo
Memorizar Ayudarte a ser mas inteligente mas rapido
Reproducir Ir más allá de su tarea
Elegir el mejor artículo Matar  a todos los seres humanos

El mapa del mundo del aprendizaje automático.

La imagen a continuación explica graficamente los componentes de esta disciplina

 

Siempre es importante recordar que no existe una unica forma  de resolver un problema en el mundo del aprendizaje automático. Siempre hay varios algoritmos que se ajustan, y la habilidad del cientifico de datos está en elegir cuál se adapta mejor. Todo se puede resolver con una red neuronal, por supuesto, pero ¿quién pagará por todo ese potencial ?

Vamos a empezar con una descripción básica. Hoy en día hay cuatro tendencias  en el aprendizaje automático.

 

1.) Aprendizaje automático clásico.

Los primeros métodos vinieron de estadísticas puras en los años 50. Resolvieron tareas matemáticas formales: buscaban  patrones en los números, evaluaban  la proximidad de los puntos de datos y calculaban  direcciones de  vectores.

Hoy en día, la mitad de Internet está trabajando en estos algoritmos. Cuando vea una lista de artículos para “leer a continuación” o su banco le bloquee su tarjeta en una estación de servicio  en medio de la nada, lo más probable es que eso sea producto del trabajo de uno de estos algoritmos “clásicos”.

Las grandes empresas de tecnología son grandes fanáticos de las redes neuronales. Obviamente. Para ellos, el 2% de precisión es un ingreso adicional de 2 mil millones. Pero cuando eres pequeño, el uso de este gran poder de computación  talvez no tenga mucho sentido .  A cosas pequeñas algoritmos pequeños .

Hay referencias ue mencionan que algunas veces los tecnicos de las empresas pasan  hasta un año trabajando en un nuevo algoritmo para recomendar  su sitio web de comercio electrónico, antes de descubrir que el 99% del tráfico del sitio provenía de los motores de búsqueda. Sus algoritmos por tanto resultarían poco útiles, ya que la mayoría de los usuarios ni siquiera abrieron su  página principal.

A pesar de la popularidad, los enfoques clásicos son tan naturales que hasta un niño pequeño podria  explicárnoslos. Son como la aritmética básica: lo usamos todos los días, sin tan siquiera darnos cuenta.  Veamos otra formade describir   el aprendizaje automático clásico:

 

  a.) Aprendizaje supervisado

El aprendizaje automático clásico a menudo se divide en dos categorías: aprendizaje supervisado y no supervisado .

 

a.) En el aprendizaje supervisado  la máquina tiene un “supervisor” o un “maestro” que le da a la máquina todas las respuestas.  Es como decir que el maestro ya ha clasificado  (etiquetado) los datos en gatos y perros, y la máquina está usando estos ejemplos para aprender para predecir casos futuros.

b.) Aprendizaje no supervisado significa que la máquina se queda sola con un montón de fotos de animales y una tarea para averiguar quién es quién. Los datos no están etiquetados, no hay profesor, la máquina está tratando de encontrar patrones por sí misma.  Hablaremos de estos métodos mas adelante

Claramente, la máquina aprenderá más rápido con un maestro, por lo que el Aprendizaje Supervisado  se usa más comúnmente en tareas de la vida real. Hay dos tipos de tareas de este tipo:

1.) clasificación : predicción de categoría de un objeto y

2.) regresión: predicción de un punto específico en un eje numérico .

 

En este  mapa podemos identificar los algoritmos mas comunes del aprendizaje automático clásico:

a1.) Clasificación

“Divide objetos basados ​​en uno de los atributos conocidos de antemano. Calcetines separados basados ​​en color, documentos basados ​​en lenguaje, música por género ”

Hoy dias  se utilizan por ejemplo  para:
– Clasificar el spam del correo electrónico
– detección de lenguaje
– Una búsqueda de documentos similares.
– Análisis de los sentimientos
– Reconocimiento de caracteres y números manuscritos.
– Detección de fraudes

Los Algoritmos supervisados mas populares: Naive Bayes  , Árbol de decisiones ó ID3 , Regresión logística , Vecinos -más cercanos , Máquina de vectores de soporte

 

El aprendizaje automático consiste en clasificar cosas, principalmente. La máquina aquí es como un bebé que aprende a ordenar juguetes: aquí hay un robot, aquí hay un automóvil, aquí hay un robot-carro … etc, etc, y aprecen errores y se corrigen y cada vez clasificará mejor y de despues de repetr e proceso miles de veces laclasificación es osible que sea casi perfecta.  El reto estará luego cuando aparezca un nuevo juguete diferente y que tendrá que ser clasificado a la reglas previas ahi es donde trabaja el Aprendizaje automático 

En la clasificación, siempre se necesita un profesor. Los datos deben estar etiquetados con características para que la máquinales  pueda asignar las clases en función de ellas. Todo podría clasificarse: usuarios basados ​​en intereses (como lo hacen las fuentes algorítmicas), artículos basados ​​en el idioma y el tema (que es importante para los motores de búsqueda), música basada en el género (listas de reproducción de Spotify) e incluso sus correos electrónicos.

En el filtrado de spam se utilizó ampliamente el algoritmo Naive Bayes . La máquina cuenta la cantidad de menciones “viagra” en el correo no deseado y el correo normal, luego multiplica ambas probabilidades usando la ecuación de Bayes, suma los resultados y así, obtenemos el Aprendizaje automático.

Más tarde, los spammers aprendieron a lidiar con los filtros bayesianos agregando muchas palabras “buenas” al final del correo electrónico. Irónicamente, el método se llamaba envenenamiento bayesiano . El algoritmo Naive  Bayes pasó a la historia como el más elegante y  por asi decirlo  el  primer algoritmo  útil, pero ahora se utilizan otros algoritmos para el filtrado de correo no deseado. (SPAM)

Aquí hay otro ejemplo práctico de clasificación. Digamos que necesitas un préstamo . ¿Cómo sabe el banco si devolveras el dinero o no? No hay manera de saberlo con seguridad. Pero el banco posee información de  muchos perfiles de personas que tuvieron prestamos antes. Tienen datos sobre la edad, la educación, la ocupación y el salario y, lo que es más importante, si devovieron el dinero ( etiqueta).

Usando estos datos, podemos enseñar a la máquina a encontrar  patrones y obtener respuestas. No hay problema con obtener una respuesta. erronea  El problema es que el banco tampoco puede confiar ciegamente en la respuesta de la máquina. ¿Qué pasa si hay un fallo en el sistema, un ataque de hackers ?

Para lidiar con eso, tenemos los árboles de decisión . con este tipo de algoritmo los datos se dividen automáticamente en preguntas  tipo sí / no . ¿Podrían parecer un poco raros desde una perspectiva humana, por ejemplo, si el acreedor gana más de $ 128.12?  Sin embargo, la máquina ya descubrio que ese número es un punto de inflexión donde debe dividir las ramas de ese arbol .

Así es como se hace un árbol. Cuanto más alta la rama, más amplia es la pregunta. Cualquier analista puede usarlo y aplicarlo a su trabajo. Puede ser que no entienda el porqué de las preguntas , pero lo importasnte es que se pueda aplicar fácilmente! (por un analista típico)

Los árboles de decisión se utilizan ampliamente en esferas de alta responsabilidad: diagnósticos, medicamentos y finanzas.

Los dos algoritmos más populares para formar los árboles son CART y C4.5 .

Los árboles de decisión pura,  rara vez se usan en la actualidad. Sin embargo, a menudo se utiizan como base para grandes sistemas, y sus conjuntos incluso funcionan mejor que las redes neuronales. Hablaremos de esto más tarde.

Cuando buscas algo en Google, ese es precisamente un  grupo de árboles los que buscan tu respuestas. Los motores de búsqueda los aman porque son muy rápidos.

El Support Vector Machines (SVM) es, con razón, el método más popular de clasificación clásica. Se utilizaba para clasificar todo lo que existía: plantas por apariencia en fotos, documentos por categorías, etc.

La idea detrás de Support Vector Machines es simple:  Trata de dibujar dos líneas entre los puntos de datos con el mayor margen entre ellos. Mira a continuación

Hay un lado muy útil de la clasificación: la detección de anomalías. Cuando una característica no se ajusta a ninguna de las clases, la destacamos. Ahora esa caracteristca se usa en medicina, por ejemplo en las pruebas de Resonancia Magnética ya que el algoritmo  resalta todas las áreas sospechosas o las desviaciones de la prueba. Los mercados de valores lo utilizan para detectar el comportamiento anormal de los comerciantes, y asi obtener  información privilegiada. Aca surge una conclusión interesante:   Cuando le enseñamos a la computadora las cosas correctas, automáticamente le estamos enseñando qué cosas están mal……

Hoy en día, las redes neuronales se utilizan con mayor frecuencia para la clasificación. Bueno, para eso fueron creadas.

La regla de oro es quecuanto más complejos son los datos, más complejo debe ser el algoritmo. Para texto, números y tablas, yo elegiría un enfoque clásico. Cuando los  modelos de datos son más pequeños, los algoritmos  aprenden más rápido y trabajan más claramente. Para las imágenes, el video y todas las demás cosas complicadas del mundo  big data, definitivamente habría que voltear a ver a  las redes neuronales.

Hace solo cinco años, se podía encontrar un clasificador de caras construido en Suport Vector Machine. Hoy dia es más fácil elegir entre cientos de redes pre-entrenadas. Sin embargo, nada ha cambiado para los filtros de spam. Todavía utilizan algoritmos de Support Vector Machines . Y todavia no hay una buena razón para cambiarlos.

 

a.2) Regresión

Objetivo: “Dibujar una línea a través de estos puntos. Sí, esa es una máquina de aprendizaje Support Vector Machines

Hoy esto se usa para:

  • Previsiones de precios de las acciones
  • Análisis de demanda y volumen de ventas.
  • Diagnostico médico
  • Cualquier correlación número-tiempo

Otros Algoritmos populares de este tipo son las regresiones lineales y polinomiales .

La regresión es básicamente un metodo de  clasificación donde pronosticamos un número en lugar de una categoría.  Algunos ejemplos son el precio del automóvil por su millaje, el tráfico según la hora del día, el volumen de la demanda por el crecimiento de la empresa, etc. La regresión es perfecta cuando algo depende del tiempo.

Todos los que trabajan con finanzas y análisis aman la regresión. Incluso está integrado en Excel. Y es facil de implementar.  Como funciona por dentro:   la máquina simplemente intenta trazar una línea que indica una correlación promedio. Aunque, a diferencia de una persona con un lápiz y una pizarra, la máquina lo hace con precisión matemática, calculando el intervalo promedio para cada punto.

 

Cuando la línea es recta, es una regresión lineal, cuando es curva es un polinomio. Estos son dos tipos principales de regresión. Los otros son más exóticos. La regresión logística no debería pertenecer a este grupo (es como decir la oveja negra ) . La regresión logística  es un método de clasificación, no es un metoido de regresión.

Sin embargo, está bien adentrarse  con la regresión y la clasificación, de hecho muchos clasificadores se convierten en regresión después de hacerles algunos ajustes. No solo podemos definir la clase del objeto, sino también memorizar qué tan cerca está. Aquí es donde participa la  regresión.

 

b.) Aprendizaje automático no supervisado

El aprendizaje sin supervisión se inventó uen los años 90. Se usa con menos frecuencia, pero a veces simplemente no tenemos otra opción.

Los datos etiquetados son un  lujo. ¿Pero qué pasa si quiero crear, digamos, un clasificador de bus? ¿Debo tomar manualmente fotos de millones de autobuses en las calles y etiquetar cada uno de ellos? De ninguna manera, eso nos tomaría  toda una vida.

  Pero gracias a la estratificación social, tenemos millones de trabajadores y servicios baratos como Mechanical Turk que están listos para completar su tarea por $ 0.05. Y así es como se hacen las cosas en este tipo de modelos.

O puede intentar utilizar un algoritmo de  aprendizaje no supervisado. paro para el análisis exploratorio de los de datos,  no como el algoritmo principal.

 

b.1) Agrupamiento

Objetivo: “Divide objetos en función de características desconocidas. La máquina elige la mejor manera ”

Hoy en día se utiliza:

  • Para la segmentación del mercado (tipos de clientes, fidelización).
  • Para unir puntos cercanos en un mapa.
  • Para compresión de imagenes.
  • Analizar y etiquetar nuevos datos.
  • Para detectar comportamientos anormales.

Algoritmos populares: K-means_clustering , Mean-Shift , DBSCAN

 

La agrupación en clúster es una clasificación sin clases predefinidas. Es como dividir los calcetines por color cuando no recuerdas todos los colores que tienes.   

Los algoritmo de agrupación en clúster intenta encontrar objetos similares (según algunas características) y fusionarlos en una agrupación. Los que tienen muchas características similares se unen en una clase. Con algunos algoritmos, incluso puede especificar el número exacto de clústeres que desea.

Un excelente ejemplo de agrupamiento – son los marcadores en mapas web. Cuando estás buscando todos los restaurantes veganos alrededor, el motor de agrupación los agrupa para formar manchas con un número. De lo contrario, su navegador se congelaría, tratando de atraer a los tres millones de restaurantes veganos en el centro de la ciudad.

Las fotos de Apple y las de Google usan un agrupamiento más complejo. Están buscando caras en las fotos para crear álbumes de tus amigos. La aplicación no sabe cuántos amigos tienes y cómo se ven, pero está tratando de encontrar las características faciales comunes. esto se conoce como Agrupación típica.

Otro tema popular es la compresión de imágenes. Al guardar la imagen en PNG, puede configurar la paleta, digamos, a 32 colores. Significa que la agrupación encontrará todos los píxeles “rojizos”, calculará el “rojo promedio” y lo configurará para todos los píxeles aproximadamete rojos . Claro a menos colores – menor tamaño de archivo – ¡o sea ganancia en espacio !

Sin embargo, es posible que tenga problemas con colores como los colores similares a los cian◼︎. ¿Es verde o azul? Paraeso se utiliza el algoritmo K-Means .

Establece aleatoriamente 32 puntos de color en la paleta. Ahora, esos son los centroides. Los puntos restantes se marcan como asignados al centroide más cercano. Por lo tanto, obtenemos una especie de galaxias alrededor de estos 32 colores. Luego movemos el centroide al centro de su galaxia y lo repetimos hasta que los centroides dejen de moverse.

Todo listo. Grupos definidos, estables, y hay exactamente 32 de ellos. Aquí hay una explicación más real:

La búsqueda de los centroides es conveniente. Sin embargo, en la vida real las agrupaciones no siempre giran. Imaginemos que eres un geólogo. Y necesitas encontrar algunos minerales similares en el mapa. En ese caso, los grupos pueden tener una forma extraña e incluso estar anidados. Además, ni siquiera sabes cuántos de ellos esperan. 10? 100?

K-means no encajaría aquí, pero talvez otro algoritmo conocido como  DBSCAN puede sernos útil. Digamos, nuestros puntos son personas en la plaza del pueblo. Encuentre a tres personas que estén cerca una de la otra y pídales que se tomen de las manos. Luego, dígales que comiencen a agarrar las manos de aquellos vecinos a los que puedan alcanzar. Y así sucesivamente, y así sucesivamente hasta que nadie más pueda tomar la mano de nadie. Ese es nuestro primer grupo. Repita el proceso hasta que todos estén agrupados. Hecho.

Una buena ventaja: una persona que no tiene a nadie con quien tomarse las manos resultaria en una anomalía.

Todo se ve bien en movimiento:

Al igual que la clasificación, el agrupamiento tambien podría utilizarse para detectar anomalías. ¿El usuario se comporta de forma anormal después de registrarse? Deje que la máquina lo prohíba temporalmente y reportelo para que alguien  lo revise. Tal vez sea un “bot”. Ni siquiera necesitamos saber qué es el “comportamiento normal”, simplemente cargamos todas las acciones del usuario a nuestro modelo y dejamos que la máquina decida si es un usuario “típico” o no.

Este enfoque no funciona tan bien en comparación con el de clasificación, pero nunca está de más intentarlo.

 

b.2) Reducción de la dimensionalidad (generalización)

Objetivo:  “Ensambla características específicas en nuevas de mas  alto nivel”

Hoy en día se utiliza para:

  • Sistemas de recomendación (★)
  • Modelado de temas y búsqueda de documentos similares.
  • Análisis de imágenes falsas
  • Gestión de riesgos

Algoritmos populares de este tipo:  : Análisis de componentes principales (PCA), Descomposición de valor singular (SVD), Asignación  latente de Dirichlet (LDA), Análisis semántico latente (LSA, pLSA, GLSA), t-SNE (para visualización)

 

Anteriormente, estos métodos eran utilizados por científicos expertos en datos, que tenían que encontrar “algo interesante” en enormes montones de números. Cuando los gráficos de Excel no ayudaron, forzaron a las máquinas a realizar la búsqueda de patrones. Así es como consiguieron los métodos de reducción de dimensión o aprendizaje de características.

Proyección de datos 2D a una línea (PCA)

Siempre es más conveniente para las personas usar abstracciones, y no un conjunto de características fragmentadas. Por ejemplo, podemos combinar todos los perros con orejas de triángulos, narices largas y colas grandes en una abstracción agradable: “pastor”.

Sí, podriamos llegar a perder información sobre los pastores específicos, pero la nueva abstracción es mucho más útil para nombrar y explicar los propósitos. Como beneficio adicional, estos modelos “abstractos” aprenden más rápido, se adaptan menos y usan un número menor de funciones.

Estos algoritmos se convirtieron en una herramienta increíble para el modelado de temas . Podemos abstraer de palabras específicas  sus significados. Esto es lo que hace el análisis semántico latente (LSA). Se basa en la frecuencia con la que se ve una  palabra en un tema exacto. Al igual, hay más términos de tecnología en los artículos de tecnología, seguro. Los nombres de los políticos se encuentran principalmente en noticias políticas, etc.

Sí, solo podemos hacer grupos de  palabras en los artículos, pero perdemos todas las conexiones importantes (por ejemplo, el mismo significado de batería y acumulador en diferentes documentos). LSA lo manejará correctamente, por eso se llama “semántica latente”.

Por lo tanto, debemos buscar opciones que conecten  palabras y  documentos en una sola función para mantener estas conexiones latentes. Resulta que la Descomposición Singular (SVD) anula esta tarea, revelando grupos de temas útiles a partir de palabras vistas juntas.

Recomendate Systems y Collaborative Filtering es otro uso súper popular del método de reducción de dimensionalidad. Parece que si lo usas para resumir las calificaciones de los usuarios, obtienes un gran sistema para recomendar películas, música, juegos y lo que quieras.

Es casi imposible comprender completamente esta abstracción de una  máquina, pero es posible ver algunas correlaciones si lo vemos mas de ceca . Por ejemplo hay sistemas que  correlacionan con la edad del usuario: los niños juegan a Minecraft y ven más caricaturas; otros se correlacionan con el género de películas o las aficiones de los usuarios.

Las máquinas obtienen estos conceptos de alto nivel incluso sin comprenderlos, basándose solo en el conocimiento de las calificaciones de los usuarios.

 

b3.) Aprendizaje por reglas de asociación (Búsqueda de patrones)

“Busca patrones en el flujo de órdenes”

Hoy en día se utiliza:

  • Para pronosticar ventas y descuentos.
  • Analizar bienes comprados juntos.
  • Colocar los productos en los estantes.
  • Analizar patrones de navegación web.

Algoritmos populares: Apriori, Euclat, FP-growth

Estos algoritmo incluyen  métodos para analizar carritos de compra, automatizar la estrategia de marketing y otras tareas relacionadas con eventos. Cuando tienes una secuencia de algo y quieres encontrar patrones en ella, puedes probarlos .

Digamos que un cliente toma un paquete de seis cervezas y va a la caja. ¿Deberíamos colocar cacahuetes en el camino? ¿Con qué frecuencia las personas los compran juntos? Sí, probablemente funcione para la cerveza y los cacahuetes, pero ¿qué otras secuencias podemos predecir? ¿Puede un pequeño cambio en la disposición de los bienes llevar a un aumento significativo en las ganancias?

Lo mismo ocurre con el comercio electrónico. La tarea es aún más interesante allí: ¿qué va a comprar el cliente la próxima vez?

No se sabe  por qué el aprendizaje de reglas parece ser la menos elaborada categoría de aprendizaje automático. Los métodos clásicos se basan en una mirada de frente a través de todos los bienes comprados utilizando árboles o conjuntos. Los algoritmos solo pueden buscar patrones, pero no pueden generalizarlos o reproducirlos en nuevos ejemplos.

En el mundo real, cada gran minorista construye su propia solución , por lo que podria haber una gran oportunidad par usted acá.   Con un nivel alto de tecnologia podria crearun sistema  de recomendación.

2. ) Aprendizaje automático Moderno

Para efectos puramente didácticos dividiremos el Aprendizaje automático moderno en tres grandes grupos:

En cada grupo se presentan además,  los algoritmos mas comúnmente utilizados.

 

 

 

 

 

 2.1) Métodos de aprendizaje por  refuerzo

Objetivo “Lanzar un robot en un laberinto y dejar que encuentre la salida”

Hoy en día se utiliza para:

  • Coches autonomos
  • Aspiradoras tipo robot
  • Juegos
  • Automatizando el comercio
  • Gestión de recursos empresariales

Dentro de los algoritmos mas populares de este tiop dstacan : Q-Learning , SARSA , DQN, A3C, algoritmo genético

 

Finalmente, llegamos a algo que se parece a la inteligencia artificial real . En muchos artículos, el aprendizaje de refuerzo se ubica en algún punto intermedio entre el aprendizaje supervisado y el no supervisado, pero no tienen nada en comun!

El aprendizaje de refuerzo se utiliza en los casos en que su problema no está relacionado con los datos en absoluto, pero tiene un entorno en el que convive. Como un mundo de videojuegos o una ciudad para un vehiculo autonomo .

El conocimiento de todas las reglas de circulación en el mundo no le enseñará al piloto automático cómo conducir en las carreteras. Independientemente de la cantidad de datos que recopilemos, todavía no podemos prever todas las situaciones posibles. Por eso,  su objetivo es minimizar el error, no predecir todos los movimientos .

Sobrevivir en un entorno,  es una idea central del aprendizaje por refuerzo. Lanza al pequeño robot pobre a la vida real, castígalo por los errores, pero recompénsalo por las acciones correctas. De la misma manera que enseñamos a nuestros hijos, ¿verdad?

Una forma más efectiva sería:  construir una ciudad virtual y dejar que el auto-auto maneje todos sus trucos allí primero. Así es exactamente como entrenamos pilotos automáticos en este momento. Cree una ciudad virtual basada en un mapa real, rellene con peatones y deje que el automóvil aprenda a no matar personas habra adquirido destrezas . Cuando el robot tiene una confianza razonable en este GTA artificial, ya se podrá probar en las carreteras . ¡

Hay  dos enfoques diferentes: basado en modelos y sin modelos .

Basado en el modelo significa que el automóvil necesita memorizar un mapa o sus partes. Ese es un enfoque bastante anticuado, ya que es imposible para el pobre vehiculo autónomo memorizar todo el planeta.

En el aprendizaje sin modelos, el automóvil no memoriza todos los movimientos, sino que trata de generalizar las situaciones y actua  de manera racional y así logra obtener la máxima recompensa.

 

¿Recuerdas la noticia de que la AI le ganó  a un jugador de primer nivel en el juego ” Go” ? A pesar de que poco antes de esto, se demostró que la cantidad de combinaciones en este juego es mayor que la cantidad de átomos en el universo.

Esto significa que la máquina no pudo recordar todas las combinaciones y por lo tanto ganar Go . Lo que hizo fue: eligió el mejor movimiento para cada situación, y lo hizo lo suficientemente bien como para superar a un ser humano.

Este enfoque es un concepto central detrás de Q-learning y sus derivados (SARSA y DQN). “Q” en el nombre significa “Calidad”, ya que un robot aprende a realizar la acción más “cualitativa” en cada situación y todas las situaciones se memorizan como un simple proceso markoviano .

 

Una  máquina puede probar miles de millones de situaciones en un entorno virtual, recordando qué soluciones condujeron a una mayor recompensa. Pero, ¿cómo puede distinguir las situaciones previamente vistas de una completamente nueva? Si un automóvil autonomo  se encuentra en un cruce de carreteras y el semáforo se pone verde, ¿significa que puede pasar ? ¿Qué pasa si hay una ambulancia en sentido contrario ?

La respuesta de hoy es “nadie sabe”. No hay una respuesta fácil. Los investigadores lo están buscando constantemente, pero mientras tanto solo encuentran soluciones. Algunos codificarían manualmente todas las situaciones que les permiten resolver casos excepcionales, como el problema del trolley en SFO  . Otros profundizarían y dejarían a las redes neuronales hacer el trabajo de resolverlo. Esto nos llevó a la evolución del Q-learning llamado Deep Q-Network (DQN). Pero OJO tampoco son la solución.

El aprendizaje por refuerzo para una persona promedio parecería una verdadera inteligencia artificial . Porque se podría pensar que ésta máquina está tomando decisiones en situaciones de la vida real ! Este tema se esta promocionando mucho  en este momento, y avanza a un ritmo increíble y es posible que a futuro haya un vinculo  con las redes neuronales y lograremosd que una apiradora inteligehte impie mejor mi casa …. ¡Increíble mundo de las tecnologías!


2.2) Métodos de conjunto

Objetivo:  Lograr que un grupo de árboles “no inteligentes”  aprendan a corregir sus  errores entre sí”

Hoy en día se utiliza para:

  • Todo lo que se ajusta a un algoritmo clásico (pero funcionando  mejor).
  • Sistemas de búsqueda (★)
  • Visión por computador
  • Detección de objetos

Algoritmos populares: bosque aleatorio , aumento de gradiente

 

Ya es hora de entrar en  métodos modernos, mucho mas maduros . Los conjuntos y las redes neuronales son dos de los luchadores principales que allanan nuestro camino hacia una singularidad. Hoy están produciendo los resultados más precisos y son ampliamente utilizados en la producción.

Sin embargo, las redes neuronales recibieron todo el bombo de hoy, mientras quedejamos terminos importantes en el camino

A pesar de toda la efectividad, la idea detrás de esto es  simple. Si tomamos  un grupo de algoritmos ineficientes y los obligamos a corregir los errores de los demás, la calidad general de un sistema será mayor que incluso los mejores algoritmos individuales.

Obtendremos incluso mejores resultados si tomamos  los algoritmos más inestables que predicen resultados completamente diferentes y que producen “ruido” en nuestros  datos de entrada, como regresión y árboles de decisión. Estos algoritmos son tan sensibles a un solo valor atípico  que mal empleados provocan que los modelos se vuelvan locos.

De hecho, esto es lo que necesitamos.

Podemos usar cualquier algoritmo que conozcamos para crear un conjunto. Simplemente lanzamos varios  clasificadores, le agregamos “regresión”, y medimos la precisión. Desde mi experiencia: ni siquiera  aunque probemos algoritmos como  Bayes o un kNN, aunque nos parezcan demasiado “tontos”  seran al final  realmente estables. Este comportamiento combinado ya es un tema  aburrido y predecible.

En su lugar, existen  tres métodos bien probados en muchas batallas para crear “conjuntos”.

Recordemos que la salida de un stack de varios modelos paralelos se pasa como entrada al último, el que toma una decisión final.

 

El Énfasis aquí está en  la palabra “diferente”. Mezclar los mismos algoritmos en los mismos datos no tendría sentido. La elección de los algoritmos depende completamente de usted. Sin embargo, para el modelo final de toma de decisiones, la regresión suele ser una buena opción.

Según mi experiencia, el apilamiento es cada dia  menos popular en la práctica, ya que otros dos métodos nos ofrecen una mayor precisión.

2.2.1) Algoritmos apilamiento y  empaquetamiento (stacking y bagging)

Acá  la clave esta en usar el mismo algoritmo, pero capacítelo con  diferentes subconjuntos de datos .  Al final –  obtendrá  en promedio buenas respuestas

Es sabido que los datos en subconjuntos aleatorios pueden repetirse. Por ejemplo, de un conjunto como “1-2-3” podemos obtener subconjuntos como “2-2-3”, “1-2-2”, “3-1-2” y así sucesivamente. Usamos estos nuevos conjuntos de datos para enseñar el mismo algoritmo varias veces y luego predecir la respuesta final a través de la mayoría simple de votos.

El ejemplo más famoso de empaquetamiento es el algoritmo de bosque aleatorio , que es simplemente empaquetar en los árboles de decisión (que se ilustraron anteriormente). Cuando abre la aplicación de la cámara de su teléfono y la ve dibujando cuadros alrededor de las caras de las personas, es probable que sea el resultado del trabajo de Random Forest. Las redes neuronales serían demasiado lentas para ejecutarse en tiempo real, pero el empaquetamiento es ideal dado que puede calcular árboles en todos los sombreadores de una tarjeta de video o en estos nuevos procesadores

En algunas tareas, la capacidad del Random Forest  para ejecutarse en paralelo es  muy eficiente sobre todo en aplicaciones de tiempo real .   En todo , siempre  hay una compensación.

Los algoritmos de impulso se entrenan uno por uno de forma secuencial. Cada uno de manera subsiguiente le presta su  atención a los puntos de datos que fueron predichos por el anterior. el lema es:  Repite hasta que estés feliz.

2.2.2) Algoritmos de impulso o BOOSTING

Al igual que en el empaquetamiento, estos algoritmos utilizan los  subconjuntos de nuestros datos, pero esta vez no se generan de forma aleatoria. Ahora, en cada submuestra se toma  una parte de los datos que el algoritmo anterior no logró  procesar, y ahí  , utilizamos este nuevo tipo de algoritmo que aprender a corregir los errores del anterior.

 

Los algoritmos de impulso se entrenan uno por uno de forma secuencial. Cada uno de manera subsiguiente le presta su  atención a los puntos de datos que fueron predichos por el anterior. el lema es:  Repite hasta que estés feliz.

 

La principal ventaja de este tipo de algoritmos es que tienen  una precisión de clasificación muy alta . Ademas son más rápidos  que las redes neuronales. Esto viene siendo como una carrera entre un camión de volcado  y un auto de carreras. El camión puede transportar mas y hacer más, pero si quieres ir rápido, toma un auto de carreras.

Si desea un ejemplo real de BOOSTING , abre el  Facebook o Google y comience a escribir una consulta en el espacio de búsqueda. ¿No escuchas un ejército de árboles rugiendo y aplastando juntos para ordenar los resultados por relevancia? Eso es porque están usando el boosting.

Hoy en día hay tres herramientas populares para hace BOOSTING son  CatBoost vs. LightGBM vs. XGBoost 

 

 

2.3) Redes neuronales y aprendizaje profundo .

Objetivo:  “Tenemos una red de mil capas, docenas de tarjetas de video, pero aún no tenemos idea de dónde usarla. ¡Generemos fotos de gatos!

Prncipalmente Utilizadas para:

  • Sustitución de todos los algoritmos anteriores. !!!
  • Identificación de objetos en fotos y videos.
  • Reconocimiento de voz y síntesis.
  • Procesamiento de imágenes, transferencia de estilo
  • Máquina traductora

Arquitecturas mas populares: Perceptron , Convolutional Network (CNN), Recurrent Networks (RNN), Autoencoders

Siempre hay alguien intentado explicar  las redes neuronales utilizando analogías con el “cerebro humano”, Mejor lo explicaremos de otro modo…..

Cualquier red neuronal es básicamente una colección de neuronas y conexiones entre ellas. Neuron es una función con un montón de entradas y una salida. Su tarea es tomar todos los números a la   entrada, realizar una serie de operaciones entre  ellos y enviar el resultado a la salida.

Este es un ejemplo de una neurona simple pero útil en la vida real: sume todos los números de las entradas y, si esa suma es mayor que N, obtenga 1 como resultado. De lo contrario – cero.

Las conexiones son como canales entre las neuronas. Conectan las salidas de una neurona con las entradas de otra para que puedan enviarse dígitos entre sí. Cada conexión tiene un solo parámetro – peso. Es como una fuerza de conexión para una señal. Cuando el número 10 pasa a través de una conexión con un peso de 0.5, se convierte en 5.

Estos pesos le dicen a la neurona que responda más a una entrada y menos a otra. Los pesos se reajustan cuando se entrena, así es como aprende la red. Básicamente, eso es todo lo que hay que hacer.

Para evitar que la red caiga en la anarquía, las neuronas están vinculadas por capas, no aleatoriamente. Dentro de una capa, las neuronas no están interconectadas,sinoque  están conectadas a las neuronas de las capas siguientes y anteriores y asi sucesivamente . Los datos dentro de esta red de neuronas van estrictamente en una dirección, desde las entradas de la primera capa hasta las salidas de la última.

Si existe  un número suficiente de capas y se colocan los pesos correctamente, se obtendrá lo siguiente: al aplicar a la entrada, digamos, la imagen del dígito 4 manuscrito, los píxeles negros activan las neuronas asociadas, luego activan las siguientes capas, y así sucesivamente, hasta que finalmente se obtiene una salida que resulta común a las 4 entradas y asi se se obtiene el  resultado .

Cuando se hace la programación en la vida real, nadie está escribiendo neuronas y conexiones. En su lugar, todo se representa como matrices y se calcula en función de la multiplicación de matrices para un mejor rendimiento.

 

Una red que tiene múltiples capas que tienen conexiones entre cada neurona se llama perceptrón (MLP) y se considera la arquitectura más basica de una red neuronal .  Hay que recordar que un solo MLP no está diseñado para resolver problemas muy grandes.

Después de que construimos esta red de neuronas , nuestra tarea es asignar formas adecuadas para que las neuronas reaccionen correctamente a las señales entrantes. Ahora es el momento de recordar que tenemos datos que son muestras de “entradas” y “salidas” debidamente seleccionadas . Le mostraremos a nuestra red un dibujo de nuestro dígito 4 y le diremos ‘adapte sus pesos para que cada vez que vea esta entrada, su salida emita un número 4’.

Para empezar, todos los pesos, la red los asigna al azar. Después de mostrarle un dígito, emite una respuesta aleatoria porque las ponderaciones al inicio no son correctas y se procede a comparar en qué medida este resultado difiere del correcto. Luego, comenzamos a desplazar la red hacia atrás desde las salidas a las entradas y le decimos a cada neurona que calcule  la diferencia entre el valor esperado y el valor de salida , buscando queel mismo se  acerque a CERO, conforme la red vaya aprendiendo este valor irá ira mejorando y asi sucesivamente ‘.

Después de cientos de miles de EPOCAS o ciclos de ‘inferir-verificar-castigar’, el error se aproximará mas a CERO . Ese ir adelante y atras mejorando se conoce como  Backpropagation , o propagación hacia atras , y utiliza un modelo matemático conocido como el calculo de gradiente.

Una red neuronal bien entrenada puede falsificar el trabajo de cualquiera de los algoritmos descritos en este capítulo (y con frecuencia funcionará de manera más precisa). Esta universalidad es lo que los hizo ampliamente populares. Finalmente, tenemos una arquitectura similar al cerebro humano en la  que  solo necesitamos ensamblar muchas capas y enseñarles para que predizcan datos sobre cualquier tema .

Resultó que las redes con un gran número de capas requerían una potencia de cálculo inimaginable en ese momento. (Hoy en día, cualquier PC gamer con geforces supera a los centros de datos de ese tiempo) , así que la gente en el pasado no tenía  esperanza de llegar a tener el   poder cómputacional  necesario para manejar redes neuronales .  Siempre se pensó que  las redes neuronales nuncan lograrian su propósito

Y entonces hace diez años apareció  el deep learning

Las diferencias en el aprendizaje profundo con  las redes neuronales clásicas es que ahora contamos con poderes computacionales mayores y mejores  que podían manejar redes más grandes. Hoy en día, solo los teóricos intentan dividir lo que el aprendizaje debe considerar profundo y no tan profundo. Hoy en día se pueden utilizar bibliotecas “profundas” populares como Keras , TensorFlow y PyTorch, incluso cuando construimos una mini red con cinco capas.

2.3.1) Redes neuronales convolucionales (CNN)

Las redes neuronales convolucionales están de moda en este  momentos. Se utilizan para buscar objetos en fotos y videos, reconocimiento facial, transferencia de estilo, generar y mejorar imágenes, crear efectos como cámara lenta y mejorar la calidad de la imagen. Hoy en día las CNN se utilizan en todos los casos que involucran fotos y videos.

La imagen de arriba es un resultado producido por Detectron que recientemente fue abierto el   código gracias a  Facebook

Un problema con las imágenes siempre fue la dificultad de extraer características de ellas. Se Puede dividir un  texto en  oraciones, se pueden buscar los atributos de las palabras en vocabularios especializados, etc. Pero las imágenes se tienen  que etiquetar manualmente para enseñar a la máquina dónde estaban las orejas de gato o las colas en una  imagen específica. Este enfoque obtuvo el nombre de “características de fabricación artesanal” y solía ser muy utilizado, pero su debilidad es que resulta  muy laborioso .

Hay un montón de problemas con este tipo de tecnologia artesanal.

En primer lugar, si un gato tiene las orejas hacia abajo o se aleja de la cámara: estás en problemas, la red neuronal nola lograra identificarlo.

En segundo lugar, intente nombrar 10 características diferentes que distinguen a los gatos de otros animales. Por mi parte, no pude hacerlo.  Esto es debido a que las personas no solo miran la forma de la orejas o cuetan las patas , sino que hay  muchas características diferentes en las que ni siquiera se toma conciencia .  Sin duda esto es lo qu resulta complejo de explicarselo a  una  máquina.

Por lo tanto, esto implicara  que la máquina necesita aprender estas características por sí misma, basándose en líneas básicas. Haremos lo siguiente: primero, dividimos la imagen completa en bloques de 8 × 8 píxeles y asignamos a cada uno un tipo de línea dominante, ya sea horizontal [-], vertical [|] o una de las diagonales [/]. También puede ser que haya otras caracteristicas  altamente visibles, esto sucede y no siempre estamos absolutamente seguros.

La salida serían varias tablas formadas por palitos  que son, de hecho, las características más simples que representan los bordes de los objetos en la imagen. Son solamente imágenes,  pero construidas de palitos . Así que, una vez más, podemos tomar un bloque de 8 × 8 y ver si coinciden. Y una y otra vez …

Esta operación se llama convolución, y este nombre le dio la denominación al algoritmo. La convolución se puede representar como una capa de una red neuronal, porque cada neurona puede actuar como cualquier función.

Cuando alimentamos nuestra red neuronal con muchas fotos de gatos, asigna automáticamente pesos más grandes a las combinaciones de palos que veían con más frecuencia. No importa si se trata de una línea recta de la espalda de un gato o un objeto geométricamente complicado como la cara de un gato,

Como salida, pondríamos un perceptrón simple que buscará las combinaciones más activadas y, en base a eso, diferenciará a los gatos de los perros.

Lo grandioso  de esta idea es que tenemos una red neuronal que busca las características más distintivas de los objetos por sí misma. No necesitamos recogerlos manualmente. Podemos alimentar cualquier cantidad de imágenes de cualquier objeto con solo buscar en él miles de millones de imágenes y nuestra red creará mapas de características a partir de palos y aprenderá a diferenciar cualquier objeto por sí solo.

 

Hay un chiste en relación con las redes Neuronales que resulta muy gráfico en este caso

Dale un pez a tu red neuronal y podrá detectar peces por el resto de su vida…..

2.3.2) Redes neuronales recurrentes (RNN)

Es la segunda arquitectura más popular entre la RN  hoy en día. Las redes recurrentes nos han dado  cosas útiles como la traducción automática neuronal ( aquí está mi artículo al respecto ), el reconocimiento de voz y la síntesis de voz en asistentes inteligentes. Los RNN son los mejores para datos secuenciales como voz, texto o música.

¿Recuerdas Microsoft Sam, el sintetizador de voz de la vieja escuela de Windows XP? Ese tipo gracioso construye palabras letra por letra, tratando de juntarlas. Ahora, mira Amazon Alexa o Asistente de Google. ¡No solo dicen las palabras con claridad, sino que incluso colocan los acentos correctos!

La red neuronal está tratando de hablar

Los asistentes de voz modernos están entrenados para hablar no letra por letra, sino en frases completas a la vez. Podemos tomar un montón de textos con voz y entrenar una red neuronal para generar una secuencia de audio más cercana al habla original.

En otras palabras, usamos el texto como entrada y su audio como la salida deseada. Le pedimos a una red neuronal que genere algo de audio para el texto dado, luego lo comparamos con el original, correjimos  los errores e intentemos acercarnos lo más posible al ideal.

Suena como un proceso de aprendizaje clásico. Incluso un perceptrón sería  adecuado para esto. Pero, ¿cómo definimos  sus resultados? Tener una salida particular para cada frase posible,  no es una opción, obviamente.

Aquí nos ayudará el hecho de que el texto, el habla o la música son secuencias. Se componen de unidades consecutivas como sílabas. Todos ellos suenan únicos pero dependen de los anteriores. Pierde esta conexión y obtienes el fenomeno de “dubstep.”

Podríamos entrenar el perceptrón para generar estos sonidos únicos, pero ¿cómo recordará las respuestas anteriores? Así que la idea es agregar memoria a cada neurona y usarla como una entrada adicional en la próxima ejecución. Una neurona podría hacer una nota por sí misma.   Este sistema podria ir descomponiendo las frases y decir por ej: , aquí teníamos una vocal, el siguiente sonido debería sonar más alto, etc .

Y así es como aparecieron las redes neuronales  recurrentes.

Este enfoque tiene  un gran problema: Si las neuronas tienen que recordar  sus resultados pasados, la cantidad de conexiones en la red sera tan grande que es   técnicamente imposible ajustar todos los pesos.

Cuando una red neuronal no puede olvidar, no puede aprender cosas nuevas (las personas tienen el mismo defecto…..).

La primera decisión fue simple: limitar la memoria neuronal.  Por Ej.  para memorizar no más de 5 resultados recientes. Pero esto rompió toda la idea original .

Un enfoque mucho mejor llegó más tarde: usar celdas especiales, similares a la memoria de la computadora. Cada celda puede registrar un número, leerlo o restablecerlo. Se les llamó células de memoria a largo y corto plazo (LSTM).

Ahora, cuando una neurona necesita establecer un recordatorio, coloca una bandera en esa célula. Como “era una consonante en una palabra, la próxima vez use diferentes reglas de pronunciación”. Cuando la bandera ya no es necesaria, las células se restablecen, dejando solo las conexiones “a largo plazo” del perceptrón clásico. En otras palabras, la red está capacitada no solo para aprender ponderaciones sino también para establecer estos recordatorios.

Simple, pero funciona!

CNN + RNN = falso Obama

Puedes tomar muestras del habla desde cualquier lugar. BuzzFeed, por ejemplo, tomó los discursos de Obama y entrenó una red neuronal para imitar su voz. Como ves, la síntesis de audio ya es una tarea simple. El video todavía tiene problemas, pero es cuestión de tiempo.


El fin: ¿cuándo será la guerra contra las máquinas?

El problema principal aquí es que la pregunta “¿cuándo las máquinas se vuelvan más inteligentes que nosotros , nos esclavizarán a todos?” Esto en princpio sería incorrecto, ya que hay demasiadas condiciones ocultas en estas tecnologias

Decimos “ser más inteligentes que nosotros” como si quisiéramos decir que hay una cierta escala unificada de inteligencia . La parte superior de la cual es un humano, los perros estan  más bajos y las palomas en la parte inferior… por decir algo

Sin embargo, esta concepción tambien está mal.

Si este fuera el caso, el ser  humano deberia poder vencer  a los animales en todo, pero tampoco es cierto.  Una  ardilla promedio puede recordar mil lugares ocultos con nueces, y nosotros ni siquiera podemos recordar dónde dejamos las llaves.

¿Entonces la inteligencia es un conjunto de habilidades diferentes, no es un unico valor medible !  ¿O es que recordar los lugares donde se esconden las nueces no se incluye en la inteligencia?

Una pregunta aún más interesante para mí: ¿por qué creemos que las posibilidades del cerebro humano son limitadas? Hay muchos gráficos populares en Internet, donde el progreso tecnológico se dibuja como un exponente y las posibilidades humanas son constantes. ¿Sera así ?

Si te pedimos que multipliques 1680 por 950 ahora mismo en tu mente, posiblemente ni siquiera lo intentes . Pero si te doy una calculadora,  harás el cálculo en pocos  segundos. ¿Esto significa que la calculadora acaba de expandir las capacidades de tu cerebro?

Si es así, ¿Se podra continuar expandiéndolos con la ayuda de otras máquinas?  Esto viene a ser cuando usamos los telefonos móviles  para recordar una gran cantidad de datos?   Segun parece desde hace rato venimos  expandiendo las capacidades de nuestrois cerebros con las máquinas.

El presente articulo fue originalmente escrito por  por Vasily Zubarev .  Y luego fué traducido y adaptado por Juan I. Barrios Arce 

21 de noviembre de 2018

Este artículo fué escrito originalmente en RUSO
Gracias especiales por la ayuda: @wcarss , @sudodoki y a mi esposa