¿Qué aún no puede hacer el aprendizaje automático?

El aprendizaje automático, como campo, todavía está en su infancia: si observa todos los problemas que pueden resolverse mediante el aprendizaje automático, tarde o temprano, hay una fracción muy pequeña de esos problemas que ML puede resolver actualmente, a un Nivel razonable de precisión. En particular, ML actualmente requiere datos estructurados etiquetados en su mayor parte. El aprendizaje no supervisado y el aprendizaje de refuerzo todavía tienen aplicaciones muy limitadas, mientras que la mayoría del aprendizaje en la naturaleza (por ejemplo, los humanos) ocurre en estos entornos.

Para otra respuesta, seleccioné una lista de algunos problemas aparentemente fundamentales que hacemos todos los días, que no estamos cerca de lograr con AI:

  1. Comprensión de oraciones : Dadas dos oraciones, ¿dicen lo mismo? Para las oraciones que se parecen mucho o usan sinónimos, puede hacerlo razonablemente bien. Pero más allá de eso, hay mucho más por hacer. En particular, la detección de sarcasmo es difícil. Además, las expresiones idiomáticas y las metáforas son algo extremadamente difícil de entender para la IA en este momento.
  2. Generación de oraciones : si bien el aprendizaje profundo se ha utilizado últimamente para generar oraciones, están lejos de ser perfectas.
  3. Resumen del texto : dado un artículo de 10 páginas, comprímalo en un resumen de una página. La variante de varios documentos implica generar un resumen de documento único a partir de un conjunto de documentos sobre el mismo tema.
  4. Aprendiendo de algunos ejemplos : en un gran no. De problemas, los humanos aprenden de muy pocos ejemplos, como el reconocimiento de escritura a mano. Las máquinas requieren muchos más ejemplos.
  5. Comprensión de los videos : dada una película, identifica cómo se relacionan los personajes. Los humanos son sorprendentemente buenos en esto: las relaciones como amigos son muy difíciles de inferir, porque la mayoría de las veces, no se refieren explícitamente entre sí como amigos.
  6. Aprendizaje de guiones : Citando un ejemplo de un profesor, supongamos que le doy la siguiente narración de un evento: “Después del trabajo, fue al restaurante, donde pidió un sándwich. Se comió la comida, pagó la cuenta y se fue directamente a casa ”. Ahora te pregunto: “¿Qué comió él para la cena?”, E inmediatamente podrás decir que se comió un sándwich. Allí está sucediendo una gran cantidad de procesamiento: primero, nunca te dije lo que comió (utilizas el conocimiento previo de que el sándwich es un tipo de comida, y sabes que la gente come lo que piden); en segundo lugar, si le preguntara “¿Qué comió en el desayuno?”, no estaría tan seguro, porque no espera que alguien salga de la oficina por la mañana. A medida que las narraciones se vuelven más complejas, puedes imaginar la complejidad que tiene que enfrentar la IA.
  7. Robótica : todavía no tenemos sistemas que permitan a los robots agarrar objetos arbitrarios de manera confiable, mientras que los humanos recogemos objetos arbitrarios todo el tiempo con un 100% de precisión.

Puedo agregar muchos más ejemplos. Estos son algunos problemas que los humanos hacen sin mucho esfuerzo. Si comienza a buscar actividades que requieren capacitación, como probar teoremas matemáticos, desarrollar nuevos algoritmos, escribir código, etc., obtendrá otra clase de tareas.

Nota: esta respuesta puede contener términos técnicos. Usted necesita estar familiarizado con ML o tener suficiente entusiasmo para buscarlos.

‘Machine Learning’ es una herramienta. Puede llegar a ser muy valioso en manos de un profesional legítimo (Estadístico, Ingeniero de datos, Ingeniero de ML, Estudiante de ML …)

Afirmo que es omnipotente y actualmente estamos aprovechando solo lo que podemos entender de él. He aquí por qué lo afirmo: cada vez que hay algún obstáculo aparentemente insoluble en el camino, siempre ha habido algún tipo que lo aborde. Por ejemplo, ‘Deep Learning’ dominó el campo de ML en la década de 2000 después de que los conjuntos de datos aumentaran de tamaño (Pioneros de ImageNet: 14m + imágenes de 21k + categorías), la potencia de procesamiento se volvió barata y abundante (CPU a GPU, y ahora TensorPU de Google para TensorFlow) y el progreso parecía inevitable. Las redes neuronales convolucionales son la herramienta más popular en el aprendizaje profundo debido a su capacidad inherente de desempeñarse bien en los datos de imagen (cuadrícula) y al hecho de que muestran invariancia a distorsiones en las imágenes, que es exactamente lo que los hace poderosos.

Los AI Bots de Google se ejecutan en chips de computadora personalizados

Sorprendentemente, el obstáculo se originó en la ‘profundidad’ de las Redes Neuronales cuando llegamos a la barrera de las 22 capas en 2014 (GoogLeNet). El algoritmo de retropropagación utilizado popularmente para calcular gradientes locales (errores en las activaciones de neuronas) tiene una limitación inherente: a medida que avanzamos desde la capa de salida hacia la capa de entrada calculando gradientes locales a través de la regla de diferenciación en cadena, los errores se vuelven más pequeños. Después de aproximadamente 20 capas, la información contenida en estos errores se pierde debido al flujo insuficiente. Una analogía laica podría ser la siguiente: supongamos que no logramos tener éxito en algo y queremos saber qué elección en el pasado condujo a este fracaso. Tratamos de construir una cadena de causalidad de eventos que condujeron al presente y asignar a cada elección pasada un peso de culpa por el fracaso. Sin embargo, ahora nos damos cuenta de que solo podemos ir muy poco en el pasado y asignar culpas precisas a las elecciones debido a la naturaleza altamente compleja de cualquier evento (éxito o fracaso) lo suficientemente significativo como para contemplar (retropropogar).

Un ejemplo sería el siguiente: después de un accidente automovilístico (error en la salida de alimentación de red hacia adelante) podemos asignar a la opción de emborracharse un peso de culpa de 1 (que es el más alto) que está directamente relacionado con la salida. También podemos asignar culpas en el intervalo 0-1 a las elecciones más antiguas que llevaron a estar borrachos, que pueden incluir: aceptar salir, aceptar un desafío, etc. Estas son todas las opciones que no están en el pasado distante. El objetivo de Deep Learning es vincular las elecciones en el pasado distante a una falla presente e incluso prevenir fallas futuras. Sin embargo, el aprendizaje profundo también está limitado en el rango de distancia que puede viajar al pasado debido al obstáculo numérico que mencioné anteriormente. En la analogía, utilicé el tiempo como eje primario. En el aprendizaje profundo aplicado para el reconocimiento de imágenes, generalmente es el nivel de abstracción (la característica se vuelve más y más compleja hasta que se vuelve inarticulable) o la resolución espacial (las capas de agrupación promedio disminuyen la resolución) de la característica de la imagen.

Espero haber podido transmitir la idea principal detrás del obstáculo de ‘profundidad’ en Deep Learning. Ahora, te diré la solución a este obstáculo. La heurística detrás de esta solución es tan elegante que incluso alguien sin experiencia en ML podrá comprenderla perfectamente. Insights humanos como esta solución me inspiran a pensar e incluso afirmar que somos capaces de explotar las posibilidades en cualquier campo con el tiempo suficiente y la acumulación de conocimiento: ResNet

Kaiming He y su equipo en Microsoft Research se dieron cuenta de que la máquina olvidó la información en el proceso de pensamiento profundo (Feed-Forward) y que el problema podría resolverse con un recordatorio básico. Matemáticamente, modelaron el proceso de ‘recordatorio’ como alimentar los datos (imagen de entrada) cada dos capas y sumar el residuo de cada fuente de datos para crear un ‘pensamiento prolongado’ que simplemente llamaron ‘aprendizaje profundo residual’ con este revolucionario proceso, pudieron elevar el listón a la friolera de 152 capas e incluso mejoraron el récord de la competencia ILSVRC * con una tasa de error de% 3.57 que GoogLeNet estableció en% 6.7.

* ILSVRC es una competencia abierta para construir, probar y mejorar los modelos ML en el conjunto de datos ImageNet. Los candidatos se ordenan en ‘Top 5 Error Rate’ ascendente. La tasa de error de los 5 principales se refiere al porcentaje de datos mal clasificados para los cuales la red estima las 5 categorías más probables de las más de 21k categorías.

Editar: Los avances y debates en el aprendizaje residual profundo han ocurrido desde este escrito. He enumerado algunos de ellos a continuación para referencia:

[1605.06431] Las redes residuales son conjuntos exponenciales de redes relativamente poco profundas

Un análisis exhaustivo de Deep Residual Networks reveló que en realidad son conjuntos exponenciales de redes poco profundas . La solución principal de ResNets fue el ‘Problema de gradiente de fuga’. El procedimiento de recordatorio mencionado anteriormente fue el método para resolver este problema. Sin embargo, se da cuenta de que el problema no se resolvió en su sentido tradicional. En cambio, se afirma que la Deep ResNet de 152 capas en realidad consistía en conjuntos exponenciales de redes menos profundas de 10–34 capas y el conjunto de gradientes de estas redes se sumaron a los resultados generales.

Si bien este análisis no refuta ni ignora ninguno de los documentos originales de Deep Residual Network, argumenta que hay una tercera dimensión para las redes neuronales: la multiplicidad. La multiplicidad de bloques de construcción de redes poco profundas se reconoce como otra dimensión de crecimiento para las NN. Anteriormente se trataba de la profundidad y el ancho. Este es un documento productivo en términos de abrir nuevos horizontes en el dominio de investigación de aprendizaje profundo.

[1605.07146] Redes residuales anchas

Recibí un comentario sobre esta respuesta que sugiere que Deep ResNets están desactualizados y que fue el comienzo de Wide ResNets. Primero pensé que era una broma ya que no había escuchado el término “amplio” en ML, específicamente DL, durante mucho tiempo. Luego, leí el artículo. En esencia, utilizan los mismos bloques de construcción, es decir, bloques residuales. Sin embargo, construirlos anchos en lugar de profundos es contra-intuitivo (al menos para mí) y requiere pensar fuera de la caja.

Esta es la esencia del artículo en lo que respecta a reemplazar Deep ResNets:

Los autores de las redes residuales trataron de hacerlas lo más delgadas posible a favor de aumentar su profundidad y tener menos parámetros, e incluso introdujeron un bloque de “cuello de botella” que hace que los bloques de ResNet sean aún más delgados. Sin embargo, notamos que el bloque residual con mapeo de identidad que permite entrenar redes muy profundas es al mismo tiempo una debilidad de las redes residuales. A medida que el gradiente fluye a través de la red, no hay nada que lo obligue a pasar por los pesos de bloque residuales y puede evitar aprender algo durante el entrenamiento, por lo que es posible que solo haya unos pocos bloques que aprendan representaciones útiles, o muchos bloques compartan muy poco información con una pequeña contribución al objetivo final. Este problema se formuló como la reutilización de características decrecientes en [26]. Los autores de [12] intentaron abordar este problema con la idea de deshabilitar aleatoriamente los bloques residuales durante el entrenamiento. Este método puede verse como un caso especial de abandono [25], donde cada bloque residual tiene un peso escalar de identidad en el que se aplica el abandono. La efectividad de este enfoque demuestra la hipótesis anterior. Motivado por la observación anterior, nuestro trabajo se basa en [11] e intenta responder a la pregunta de qué tan anchas deberían ser las redes residuales profundas y abordar el problema de la capacitación. En este contexto, mostramos que la ampliación de los bloques de ResNet (si se hace correctamente) proporciona una forma mucho más efectiva de mejorar el rendimiento de las redes residuales en comparación con el aumento de su profundidad. En particular, presentamos redes residuales profundas más amplias que mejoran significativamente durante [11], que tienen 50 veces menos capas y son más de 2 veces más rápidas. Llamamos a las arquitecturas de red resultantes redes residuales anchas . Por ejemplo, nuestra red profunda de 16 capas tiene la misma precisión que una red delgada de 1000 capas y un número comparable de parámetros, aunque es varias veces más rápido para entrenar. Por lo tanto, este tipo de experimentos parecen indicar que la potencia principal de las redes residuales profundas está en bloques residuales, y que el efecto de la profundidad es suplementario.

En lo que respecta a los conjuntos de datos de referencia (CIFAR y similares), este podría ser el estado de la técnica para 2016.

[11] Kaiming He, Xiangyu Zhang, Shaoqing Ren y Jian Sun. Mapeos de identidad en redes residuales profundas. CDR, abs / 1603.05027, 2016.

[12] Gao Huang, Yu Sun, Zhuang Liu, Daniel Sedra y Kilian Q. Weinberger. Profundo

redes con profundidad estocástica. CDR, abs / 1603.09382, 2016.

[25] N. Srivastava, G. Hinton, A. Krizhevsky, I. Sutskever y R. Salakhutdinov. Abandono: una forma simple de evitar que las redes neuronales se sobreajusten. JMLR, 2014.

[26] Rupesh Kumar Srivastava, Klaus Greff y Jürgen Schmidhuber. Redes de autopistas. CDR, abs / 1505.00387, 2015.

  • Incluso con los avances que hemos logrado en ML a lo largo de los años, en ciertos casos hay problemas que un estudiante de segundo grado puede resolver más rápido que una máquina. Por ejemplo, identificar a una persona mirando la cara de la persona.
  • Cualquier problema o pregunta que requiera un contexto social tomará más tiempo para que una máquina lo resuelva.
  • Particularmente con respecto a la analítica de texto, hay dos desafíos principales. Primero es la “ambigüedad”. Esto significa que la misma palabra puede significar muchas cosas. El segundo es “Variabilidad”. Indicando lo mismo se puede decir de muchas maneras diferentes.
  • La experiencia en ontología y dominio es absolutamente fundamental para que cualquier algoritmo de ML / AI tenga un alto nivel de precisión. En términos generales, los algoritmos de ML / AI desarrollados para una industria pueden no ser directamente adaptables para otra industria.

Para empezar, no puede responder esta pregunta. El aprendizaje automático no ha logrado avances significativos en el frente del aprendizaje no supervisado, los avances actuales que ha visto en términos de rendimiento son subproductos de datos etiquetados a gran escala y avances en cálculos paralelos en los últimos años.