¿Cuáles son los límites del aprendizaje automático? ¿Cuándo puede estar seguro de que un algoritmo ML no podrá darle un resultado satisfactorio?

Las máquinas no pueden interpretar los datos por sí mismas.

No puede entender lo que se le ha proporcionado para aprender. Tampoco conoce el ‘ significado ‘ de la salida. Simplemente le proporcionará una salida, que un humano tiene que interpretar y darle sentido.

Esta limitación del aprendizaje automático se detectó cuando el aprendizaje automático se utilizó para detectar automáticamente tanques enemigos camuflados:

Érase una vez, el ejército de los EE. UU. Quería usar redes neuronales para detectar automáticamente los tanques enemigos camuflados. Los investigadores entrenaron una red neuronal en 50 fotos de tanques camuflados en árboles y 50 fotos de árboles sin tanques. Utilizando técnicas estándar para el aprendizaje supervisado, los investigadores entrenaron la red neuronal a una ponderación que cargó correctamente el conjunto de entrenamiento: salida “sí” para las 50 fotos de tanques camuflados, y salida “no” para las 50 fotos del bosque. Esto no aseguró, ni siquiera implica, que los nuevos ejemplos se clasifiquen correctamente. La red neuronal podría haber “aprendido” 100 casos especiales que no se generalizarían a ningún problema nuevo. Sabiamente, los investigadores habían tomado originalmente 200 fotos, 100 fotos de tanques y 100 fotos de árboles. Habían usado solo 50 de cada uno para el conjunto de entrenamiento. Los investigadores corrieron la red neuronal en las 100 fotos restantes, y sin entrenamiento adicional la red neuronal clasificó todas las fotos restantes correctamente. ¡Éxito confirmado! Los investigadores entregaron el trabajo terminado al Pentágono, que pronto lo devolvió, quejándose de que, en sus propias pruebas, la red neuronal no era mejor que la posibilidad de discriminar fotos.

Resultó que en el conjunto de datos de los investigadores, se tomaron fotos de tanques camuflados en días nublados, mientras que se tomaron fotos de bosques en días soleados. La red neuronal había aprendido a distinguir los días nublados de los días soleados, en lugar de distinguir los tanques camuflados del bosque vacío.


Deja que eso se hunda …

Lo que esperábamos : una red neuronal que detecta tanques del ejército camuflados.
Lo que tenemos : una red neuronal que distingue entre días nublados y soleados

¡Puedes imaginar las consecuencias si esta red neuronal se hubiera aplicado para usar en una guerra real!

Fuente: LessWrong

Ni siquiera estoy cerca de ser un experto, así que tómalo como una referencia, pero:

  • Limitaciones de computación.

Muchos modelos de ML útiles toman algún tiempo para entrenar. En Reinforcement Learning, entrenar a DQN y obtener resultados significativos en juegos como Atari Breakout (como OpenAI demostró primero) o Doom lleva días, incluso en computadoras potentes. Se rumorea que la computación cuántica está a la vuelta de la esquina, pero todavía tomaría algún tiempo para que sea omnipresente.

  • Limitaciones en el rendimiento.

Se están realizando abundantes investigaciones para crear sensibilidad a partir de modelos ML como Deep Neural Networks. Sin embargo, a pesar de que se dice que el cerebro humano es una red de neuronas (eso es un eufemismo severo), las redes neuronales aún están lejos de alcanzar dichos niveles, debido al rendimiento.

Las redes neuronales, en cierto modo, son solo una forma de clasificación / regresión de “fuerza bruta”, porque simplemente hacen muchos cálculos solo para obtener algunos valores numéricos (nuevamente, subestimación severa). Esta es una forma muy rentable de hacer las cosas.

Espero que esta respuesta sirvió como referencia, y estoy seguro de que me faltan muchos puntos (¡corríjame si me equivoco / me falta algo!).

Gracias por leer.

Formalmente, la Teoría de decisiones nos dice que el Riesgo de Bayes es lo mejor que cualquier clasificador puede esperar. Aquí hay una explicación simplificada.

Primero, supongamos que nuestro objetivo es minimizar la probabilidad de clasificación errónea de un problema de clasificación binaria. La probabilidad de error es:

[matemática] Riesgo de Bayes = \ int _ {- \ infty} ^ {\ infty} P (error | x) P (x) dx [/ math].

Pero, ¿qué es [matemáticas] P (error | x) [/ matemáticas]? Bueno, para hablar de errores, necesitamos un criterio de decisión. Entonces, construimos las posteriores [matemáticas] P (y = 1 | x) [/ matemáticas] y [matemáticas] P (y = -1 | x) [/ matemáticas]. Para clasificar, elegimos la clase con mayor probabilidad posterior. Las clasificaciones erróneas, entonces, corresponden a elegir la clase con la probabilidad posterior más baja.

Como ejemplo, considere la distribución de algunos datos como tales:

Suponiendo que conocemos las [matemáticas] \ pi [/ matemáticas] anteriores para y, podemos usar la regla de Bayes para calcular la posterior. Se vería algo así:


donde [math] \ theta [/ math] representa nuestro límite de decisión. La región gris en este ejemplo corresponde exactamente al riesgo de Bayes. Intuitivamente, vemos que queremos características que empujen a estos dos posteriores tan lejos como sea posible, para minimizar el AUC.

Fuente: Curso de aprendizaje automático CS189 del profesor Malik en UC Berkeley

También hay algunos resultados importantes del campo de la detección comprimida

Noisy Time Series III: Fundamentos teóricos de la detección comprimida

¿En qué condiciones podemos reconstruir una señal ruidosa f (x) escasa (o S-escasa) con solo unas pocas (m) mediciones?

Para abordar esto, tenemos … el Teorema de Candes-Romber (2004), que establece que:

Supongamos que elegimos m puntos
al azar fuera de n. Luego, con alta probabilidad, cada señal S-dispersa
puede ser reconstruido desde
, Tan largo como
para alguna constante absoluta C.

Esto significa que podemos reconstruir una señal dispersa con solo unas pocas muestras aleatorias.

También tenemos una serie de límites, debido a Tao y otros, sobre el error de nuestra función reconstruida f (x), bajo ciertas condiciones teóricas bien definidas.

Vea mi blog para más detalles.

Supongo que en primer lugar hay muchas aplicaciones diferentes de aprendizaje automático. Hay problemas de detección, problemas de clasificación, problemas de caracterización y muchos más. Las limitaciones del aprendizaje automático dependen del tipo de problema que intente resolver. Una vez dicho esto…

Las limitaciones se deben a dos factores:

[1] Datos
[2] Computación

Si no tiene suficientes datos, no puede esperar entrenar un sistema para resolver un problema determinado o un tipo de problema en datos nuevos no vistos. Si los nuevos datos no vistos no se parecen en nada a sus datos de entrenamiento, está en problemas. Es posible que tenga una gran cantidad de datos, pero tendrá problemas si no se parece a datos nuevos a los que espera aplicar su algoritmo.

Por ejemplo, en el procesamiento de texto, las palabras nuevas pueden ingresar el vocabulario en cualquier momento. Terabytes de texto de años anteriores podrían no ayudarte a lidiar con una palabra que nunca has visto durante el entrenamiento. El impacto de las palabras invisibles depende de lo que intente hacer su algoritmo.

También es posible que haya muchos datos disponibles, pero la cantidad de parámetros necesarios para crear un modelo capaz de resolver el problema que desea resolver está más allá de la capacidad del hardware informático actual. En el extremo, es posible que necesite un modelo del tamaño de sus datos de entrenamiento (las técnicas no paramétricas como el clasificador KNN son un ejemplo).

Los límites del aprendizaje automático se encuentran principalmente en el bajo rendimiento de generalización (para la población general de la que se supone que debe extraerse la muestra de datos), de la hipótesis / modelo que desarrolló a partir de los datos que obtuvo.

Para construir sobre su ejemplo en la pregunta, TODAVÍA puede construir un modelo que se ajuste muy bien a los datos generados aleatoriamente (si permite que su modelo tenga suficiente complejidad o grados de libertad para capturar cada rincón y grieta que se encuentra dentro de la muestra de datos):

El error en la muestra en ese conjunto de datos puede hacerse arbitrariamente pequeño (de hecho, exactamente cero), PERO el error de generalización fuera de la muestra sería terrible porque su modelo habrá gastado toda su complejidad ajustando el ruido en los datos que, en su ejemplo, es todo lo que hay en los datos: ruido.

Por lo tanto, el rendimiento del modelo realmente es una combinación de dos factores: qué tan bien puede adaptarse un modelo a la muestra de datos dada (medido por un error en la muestra) pero, lo que es más importante, qué tan bien se desempeñará el modelo en el resto de los datos de la población de origen, fuera de la muestra que se utilizó para entrenar el modelo.

La teoría del aprendizaje automático establece las relaciones entre el tamaño de muestra requerido, el rendimiento deseado del modelo en la población general de la que se tomaron muestras de los datos de entrenamiento y la complejidad de la familia de modelos dentro de la cual se buscó el modelo elegido, este último capturado por una cantidad conocida como la dimensión VC de la familia modelo (o conjunto de hipótesis). VC significa Vapnik-Chernovenkis, por cierto.

En términos generales, puede haber un tira y afloja entre mejorar el error en la muestra y mejorar el error fuera de la muestra. Este tirón empeora cuanto más ruidosos son los datos muestreados. El tirón mejora cuanto mayor es el tamaño del conjunto de datos muestreados (fuera del cual se entrenó el modelo).

Presionar el proceso de aprendizaje para mantener el modelo simple conduce a una mejor generalización, ya que esto evita que el modelo tenga (y gaste) demasiados grados de libertad para adoptar cada elemento de ruido espurio en los datos muestreados.

Esto se puede hacer comenzando desde conjuntos de hipótesis menos complejos en primer lugar, o limitando el modelo aprendido a un subconjunto de un conjunto de hipótesis complejo (usando técnicas conocidas como regularización, que restringen los valores que los parámetros de un modelo complejo pueden tomar).

Hay un par de conclusiones teóricas que proporcionan un buen límite en cuanto a la limitación del aprendizaje automático actual (o el aprendizaje profundo de última generación). Los primeros resultados son de Bernhard Scholkopf, quien concluye que la predicción en los sistemas de ML se logra solo cuando la Causa se predice a partir del Efecto y no al revés. Esto también da una explicación satisfactoria de la aplicación de la regla de Bayes. En términos prácticos, se puede obtener una semántica razonable del texto, sin embargo, no se puede obtener la forma en que el ADN produce ciertas proteínas.

Esto también se relaciona con el Principio de equivalencia computacional de Steven Wolfram o el problema de detención donde una máquina no puede predecir el efecto de otra máquina observada sin pasar por el mismo cálculo de la máquina observada.

Machine Learning no puede derivar mecanismos subyacentes de computación, sin embargo, en el mejor de los casos, puede imitar la computación.

El aprendizaje no supervisado sigue siendo algo limitado. Tomemos Tic-Tac-Toe como ejemplo.

Si bien puedes decirle a un humano las reglas del juego, y él podrá jugarlo bastante decentemente desde el principio, con Machines es un poco diferente. En pocas palabras, tienes que jugar con ellos y dejar que descubran dónde fallaron.

Algunos codificadores temen perder su trabajo por una IA. Eso no sucederá pronto. Actualmente, ninguna IA puede reemplazar la experiencia de un arquitecto de software experimentado.

Además, entrenar un modelo a menudo requiere mucha potencia computacional. Google lanzó un modelo previamente entrenado que les llevó 2 semanas entrenar con múltiples GPU. A partir de ese momento, la experimentación que puede hacer es limitada debido a problemas de tiempo.

Los teoremas de No Free Lunch imponen limitaciones a las estrategias de búsqueda y optimización. Existen teoremas similares para el aprendizaje automático. El argumento esencial es sobre la útil generalidad de los algoritmos (al menos algunas clases importantes de problemas) para cualquier algoritmo que funcione bien en casos particulares, habrá casos en los que funcionará mal en comparación con enfoques alternativos. El éxito específico se puede lograr en casos específicos mediante la incorporación de conocimientos previos.

  • No existe una solución de modelo único para todos .
  • Los algoritmos de ML no entienden c ontext .
  • En el aprendizaje supervisado, si las etiquetas son incorrectas, no se puede hacer mucho.
  • Las barreras computacionales y tecnológicas pueden limitar las pruebas en tiempo real y el despliegue de soluciones ML.
  • La transferencia de aprendizaje de información a través de dominios es un gran desafío.
  • El aprendizaje no supervisado es difícil de manejar en un escenario del mundo real.

Hay muchos límites en el aprendizaje automático que se pueden enumerar.

Por supuesto, un límite principal de aprendizaje automático reside en los datos utilizados para entrenar los algoritmos de aprendizaje automático.

Si los datos son buenos, y con datos quiero decir si el contexto a reconocer está modelado correctamente, entonces los resultados del aprendizaje automático que se obtienen son buenos.

Un ejemplo famoso que muestra los límites de aprendizaje automático es el que da la tableta Apple Newton para el reconocimiento de escritura manual. En uno de los episodios de “Los Simpson”, hacen bromas sobre la tableta Newton por su error al reconocer a “Beat up Martin” como “Eat up Martha”

Pero eso fue en los 90 ′. Ahora el aprendizaje automático ha mejorado mucho.

Creo que respondiste tu pregunta? La entrada / salida de basura se aplica completamente a los algoritmos de aprendizaje automático y puede probarlo en teoría.

More Interesting

¿Por qué es óptimo establecer el tamaño del paso para la regresión logística con el descenso del gradiente al recíproco de la consistencia de lipschitz?

¿Cómo funcionan las redes interbancarias?

¿Podemos combinar HOG y PCA en la clasificación de imágenes?

¿Cuál es la mejor manera de crear un conjunto de capacitación para el aprendizaje automático?

¿Tiene Microsoft una mejor tecnología de aprendizaje automático y aprendizaje profundo que Google?

¿Cuáles son las innovaciones clave en el documento 'Evolución a gran escala de clasificadores de imágenes' de Google Brain?

¿El rendimiento de la regresión logística se ve afectado negativamente por características altamente correlacionadas?

¿Cuáles son algunas habilidades matemáticas altamente relevantes que se requieren si quiero comenzar a investigar en algoritmos de Machine Learning?

¿Soy un desarrollador de dinosaurios si no uso Github, no conozco CI / CD y docker y solo conozco el aprendizaje profundo de la palabra de moda?

¿De qué fuente será mejor aprender el aprendizaje automático?

¿Por qué no reescalamos el vector de coeficiente de una regresión de lazo?

¿Debemos usar el ajuste fino en redes neuronales profundas? La precisión de la clasificación es del 100%, pero después de un ajuste fino, se convierte en el 95.7%, ¿cómo llega esto?

¿Cómo podría el aprendizaje automático mejorar la nariz electrónica?

¿Se están realizando estudios actuales que utilicen la minería de datos o el aprendizaje automático en campos científicos?

Si enseñamos a un programa de aprendizaje automático cómo hacer operaciones aritméticas, ¿sería más rápido o más lento que los humanos?