¿En qué medida es necesaria / útil la "matemática avanzada" en la investigación de IA?


19

Actualmente estoy estudiando matemáticas. Sin embargo, no creo que quiera convertirme en un matemático profesional en el futuro. Estoy pensando en aplicar mi conocimiento de las matemáticas para hacer investigación en inteligencia artificial. Sin embargo, no estoy seguro de cuántos cursos de matemáticas debo seguir. (Y qué cursos de teoría de CS debería seguir).

De Quora, aprendí que los temas Álgebra lineal, Estadística y Optimización convexa son los más relevantes para el aprendizaje automático (consulte esta pregunta). Alguien más mencionó que el aprendizaje de álgebra lineal, probabilidad / estadística, cálculo, algoritmos básicos y lógica son necesarios para estudiar la inteligencia artificial (ver esta pregunta).

Puedo aprender sobre todas estas materias durante mis primeros 1.5 años de la licenciatura en matemáticas en nuestra universidad.

Sin embargo, me preguntaba si hay algunas asignaturas de matemática de grado superior e incluso de posgrado que sean útiles o incluso necesarias para estudiar inteligencia artificial. ¿Qué pasa con las EDO, PDE, topología, teoría de la medida, análisis lineal, análisis de Fourier y análisis en manifolds?

Un libro que sugiere que algunas matemáticas bastante avanzadas son útiles en el estudio de la inteligencia artificial es la Teoría de patrones: el análisis estocástico de las señales del mundo real de David Mumford y Agnes Desolneux (consulte esta página). Incluye capítulos sobre cadenas de Markov, modelos gaussianos a trozos, campos de Gibbs, colectores, grupos de mentiras y álgebras de mentiras y sus aplicaciones a la teoría de patrones. ¿Hasta qué punto es útil este libro en la investigación de IA?


22
En mis más de 2 años en este sitio, he visto más de media docena de preguntas del tipo "qué matemáticas necesito para ...". Que respuestas que se leen como los contenidos de Princeton Companion to Mathematics. 1) AI es un campo enorme, las matemáticas utilizadas en sus subcampos vienen en todos los sabores; 2) Tome sus cursos básicos de matemáticas, elija cursos más avanzados según su interés; 3) Investiga en IA, encuentra lo que te gusta, encuentra qué matemática se usa allí; 4) No podemos saber a priori qué matemática será útil para este o aquel problema.
Sasho Nikolov

Respuestas:


57

No quiero parecer condescendiente, pero las matemáticas que estás estudiando en los cursos de pregrado e incluso de posgrado no están avanzadas. Es lo básico . El título de su pregunta debería ser: ¿Las matemáticas "básicas" son necesarias / útiles en la investigación de IA? Entonces, engulle todo lo que pueda, nunca he conocido a un informático que se haya quejado de saber demasiado de matemáticas, aunque conocí a muchos que se quejaron de no saber lo suficiente. Recuerdo haber ayudado a un compañero de posgrado en inteligencia artificial a comprender un algoritmo de estilo de rango de página. Era solo un álgebra lineal bastante fácil para mí, pero sufrió porque no tenía idea de qué eran los valores propios y los vectores propios. ¡Imagina las cosas que las personas con IA podrían hacer si realmente supieran muchas matemáticas!

Doy clases en un departamento de matemáticas y regularmente recibo solicitudes de mis colegas de CS para recomendar especializaciones de matemáticas para doctorados de CS porque prefieren estudiantes de matemáticas. Usted ve, las matemáticas son muy, muy difíciles de aprender por su cuenta, pero la mayoría de los aspectos de la informática no lo son. Lo sé, yo era un estudiante de matemáticas que ingresó a una escuela de posgrado de CS. Claro, estaba "atrasado" en el conocimiento de los sistemas operativos (a pesar de tener un conocimiento decente de Unix y VMS), pero estaba muy por delante en la "teoría". No es una situación simétrica.


66
La teoría de la medida y la teoría de la probabilidad son la base de todo el razonamiento probabilístico. La topología se ha vuelto muy importante para el análisis de datos topológicos. El análisis de Fourier es importante para la teoría del aprendizaje (se utiliza para comprender la sensibilidad de las funciones y lo difícil que es aprenderlas), y el aprendizaje múltiple requiere una comprensión profunda de la geometría múltiple.
Suresh Venkat

2
@MaxMuller: Y para continuar con la lista, la teoría de grupos y las álgebraicas (como las álgebras de Lie) se usan ampliamente en el reconocimiento de patrones en la teoría de descomposición de imágenes donde la topología es muy necesaria (y hay una conexión profunda entre las álgebras de Lie y las variedades que necesita). aprender en el camino). Los libros como "Fundamentals of Pattern Recognition" de Monique Pavel incluso le presentarán la teoría de categorías y su aplicación, que también es extremadamente importante en la inteligencia artificial para su uso en los fundamentos de los lenguajes formales y la teoría de pruebas (que puede ser una teoría del razonamiento) ...
ex0du5

1
Cursos de posgrado a nivel de introducción últimos, los matemáticos aprender todas sus matemáticas por su cuenta (o en grupos de lectura y seminarios) .. no es todo lo que difícil si usted tiene algunas bases ... bien, puede ser difícil, pero no es imposible.
Sasho Nikolov

1
Max, también enseño aikido. No recuerdo que ningún estudiante de aikido preguntara "¿por qué tengo que aprender los conceptos básicos (cómo caer, cómo moverse desde la línea de ataque)?" A veces necesitas confiar un poco en que tus maestros saben lo que están haciendo. Sin embargo, seré el primero en admitir que enseñamos mucha basura, especialmente en las escuelas secundarias y escuelas primarias donde las matemáticas se enseñan como si el propósito fuera sofocar la curiosidad en los estudiantes. Pero en su caso, los temas que enumeró, no son basura. Créeme.
Andrej Bauer

13
Y solo un comentario más. Si aprende solo matemáticas que ya habían demostrado ser útiles en alguna área de CS, nunca tendrá la oportunidad de aplicar nuevas matemáticas. Siempre estarás atrasado. La ciencia es un arte, no un trabajo de 9 a 5. Si me preguntas "si debería aprender física, quiero entrar en la IA", diré "¡absolutamente así!" Y si preguntas "si debería aprender sociología, quiero entrar en IA", mi respuesta seguirá siendo la misma.
Andrej Bauer

6

Max, aquí hay una lista parcial (necesariamente):

El álgebra lineal básica y la probabilidad son necesarias en todo el lugar. Supongo que no necesitas referencias para eso.

Que yo sepa, el análisis de Fourier se ha utilizado en algunas investigaciones relacionadas con la teoría del aprendizaje. Mira este artículo , por ejemplo.

El concepto de aprendizaje múltiple se está volviendo popular, y puede comenzar a echar un vistazo a las obras de Mikhail belkin y Partha Niyogi. Esta línea de trabajo requiere la comprensión de varios conceptos relacionados con las variedades y la geometría riemanniana.

Hay otro aspecto del aprendizaje automático que tiene raíces más profundas en las estadísticas, a saber, la geometría de la información. Esta área se relaciona con varios conceptos de geometría riemanniana, teoría de la información, información de Fisher, etc. Un primo de este tipo de estudio se puede encontrar en estadística algebraica, que es un campo naciente con mucho potencial.

Sumio Watanabe, investigó una frontera diferente, a saber, la existencia de singularidades en los modelos de aprendizaje y cómo aplicar resultados profundos de resoluciones de la geometría algebraica para abordar muchas preguntas. Los resultados de Watanabe se basan en gran medida en el trabajo celebrado de Heisuke Hironaka que le valió la medalla Fields.

Supongo que estoy omitiendo muchas otras áreas que requieren matemáticas relativamente pesadas. Pero como Andrej señaló, la mayoría de ellos probablemente no se encuentran en las fronteras de las matemáticas, sino que son dominios relativamente más antiguos y establecidos.

En cualquier caso, sin embargo, supongo que el estado actual de la IA que ha entrado en la informática convencional , como en los sistemas de recomendación en Amazon o en las bibliotecas de aprendizaje automático que se encuentran en Apache Mahout, no requiere ninguna matemática avanzada. Puedo estar equivocado.


2

Depende de tu definición de avanzado y de qué tipo de IA quieres estudiar.

Muchos problemas en la IA son demostrablemente insolubles: las soluciones óptimas para POMDP son demostrablemente NP-Completas, las soluciones óptimas para DEC-POMDPs son probables como NEXP-Complete, etc. y sus fundamentos teóricos, mejor. (Además de la teoría de la medida, etc., era necesario comprender realmente la probabilidad bayesiana que subyace al modelo POMDP).

La inteligencia artificial multiagente, en particular, se cruza con la teoría de juegos; Por lo tanto, conocer la teoría de juegos es útil, lo que a su vez depende de la topología, la teoría de la medida, etc. Y de la misma manera, muchos problemas en la teoría de juegos son intratables. Algunos incluso son intratables bajo aproximación e incluso comprender cuándo es posible aproximar útilmente requiere una cantidad considerable de matemáticas para resolver.

(Noto que los teóricos del juego han tenido una buena carrera en el campo de la Economía Nobel, durante los últimos años, y eso es de naturaleza muy matemática. Predigo que en veinte años impares, los teóricos algorítmicos del juego de hoy estarán en aproximadamente lo mismo posición.)


1

Las matemáticas involucradas en IA no son avanzadas y se enseñan a nivel de pregrado. El entrenamiento de IA y los algoritmos de inferencia están en el dominio de la informática avanzada.

Es un juego de palabras. También se debe incluir algo de historia al investigar la IA.

Por ejemplo, en la nomenclatura actual, Deep Learning parece ser una palabra clave de tendencia en IA.

El aprendizaje profundo es lo que solía denominarse redes neuronales artificiales (ANN), como el modelo de red de perceptrón de retropropagación de Hinton (BACKPROP), y similares.

Las matemáticas involucradas con un BACKPROP ANN (por ejemplo) son esencialmente cálculo derivado para el entrenamiento y álgebra matricial para la inferencia.

El nuevo aspecto del aprendizaje profundo es la separación física del entrenamiento y los algoritmos de inferencia. Las CPU todavía se usan para el entrenamiento, pero ahora las GPU se usan para hacer inferencias.

Por ejemplo, las matrices ANN se entrenan (ponderan) mediante errores de propagación hacia atrás utilizando cálculo derivativo correctivo. Esto se adapta mejor a las CPU, y solo debe realizarse una vez por implementación ANN.

El ANN luego se implementa en una arquitectura de GPU altamente paralela. La matemática de inferencia directa implica álgebra de matriz intensiva, para la cual están diseñadas las GPU.

Esto aumenta el rendimiento de una ANN implementada en varios órdenes de magnitud en comparación con las implementaciones basadas en CPU anteriores, y se puede escalar de manera más eficiente en cualquier cantidad de GPU dedicadas.

Empresas como Nvidia y AMD ahora comercializan conjuntos de chips GPU de muy alta gama como Deep Learning Machines. El término GPU siempre ha sido un poco inapropiado, ya que son realmente procesadores paralelos de uso general. Por ejemplo, las GPU también se conocen a veces como Bitminers en las aplicaciones blockchain.

Entonces, lo que era viejo ahora es nuevo. Las matemáticas involucradas no han cambiado, solo la terminología de la informática (principalmente debido a las presiones de marketing).

El término AI siempre se ha considerado un poco como un caballo oscuro. Deep Learning es ahora el término políticamente correcto y favorable al mercado.


2
Una respuesta anterior ya ha dado contraejemplos a su reclamo en la primera oración. (También hay muchos otros). ¿Leyó las respuestas anteriores antes de publicar? Es posible que desee editar esta respuesta para reducir sus reclamos.
DW

2
Su afirmación de que "las CPU todavía se usan para entrenar [redes profundas], pero ahora las GPU se usan para hacer inferencias" es bastante engañosa (si no incorrecta). Todos entrenamos redes neuronales modernas en GPU. La mayoría de las personas también las implementan en GPU, pero algunos entornos de implementación (por ejemplo, algunos teléfonos celulares) todavía usan CPU.
Mike Izbicki

Estoy de acuerdo con Mike "Las GPU se usan para el entrenamiento y las CPU para la inferencia" es menos incorrecto que decir que "las CPU se usan para el entrenamiento y las GPU para la inferencia"
ASDF

@MikeIzbicki Las arquitecturas de canalización como CUDA, OpenCL, etc. son necesarias para la capacitación en Deep Learning, que depende en gran medida de los núcleos de la CPU para la corrección de errores. Las tuberías de inferencia solo requieren núcleos de CPU para alimentar y cosechar los núcleos de GPU. El objetivo es la potencia y la eficiencia térmica, por lo que el equilibrio entre los tipos de núcleo cambia entre entrenamiento e inferencia. Que es lo que ya dije.
Birkensocks el

-1

La IA es un campo increíblemente amplio con una amplia gama de rutas posibles. Algunos son extremadamente matemáticos, algunos apenas tocan las matemáticas. Otros ya han dado buenas respuestas para los enfoques más matemáticos. De los temas que señaló

"Álgebra lineal, probabilidad / estadística, cálculo, algoritmos básicos y lógica"

-básicamente necesitas o te beneficiarás de todos ellos. Muchos enfoques se basan, al menos en parte, directamente en la probabilidad y las estadísticas: heurística, redes neuronales, algoritmos genéticos, lógica difusa. El cálculo es igualmente útil: en la IA o en la ciencia de la computación en general lo encontrará en casi todas partes. El álgebra lineal es algo que definitivamente también necesitas.

Los dos temas más esenciales desde una perspectiva CS / AI son los algoritmos y la lógica, los algoritmos son el corazón real de la ciencia de la computación, y la lógica es el 'lenguaje' subyacente de los algoritmos. Sin embargo, la clave para aprender algoritmos es aprender a programar, competencia. y la práctica en la programación básica es uno de los fundamentos más importantes de casi todas las asignaturas de informática o IA. La programación también es una habilidad que las universidades no siempre son particularmente buenas en la enseñanza. La lógica también es realmente esencial para la mayoría de las ramas de la IA; Lógica booleana, cálculo de predicados, lógica simbólica, teorías subyacentes de permutación, jerarquía de diseño, recursión, máquinas de estados finitos, máquinas de Turing, diseño de CPU, etc. Aquí estamos realmente alejándonos de las matemáticas en la ciencia de la computación propiamente dicha.

Extenderme a mi propio campo de matemática 'IA fuerte' juega un papel subyacente pero absolutamente esencial. Una muy buena comprensión de las matemáticas básicas es probablemente más importante que las matemáticas superiores, pero realmente cualquier cosa que recoja puede ser útil. El verdadero problema en un campo incipiente como Strong AI es que todo está en el aire y, por lo tanto, el campo está en un flujo total.
Los temas que son potencialmente útiles incluyen: redes neuronales, algoritmos genéticos, neurología, genética, psicología, cibernética y robótica, teoría de gráficos 3D, teoría de procesamiento de imágenes, diseño de juegos de computadora, filosofía, teoría del arte, electrónica digital, teoría de la lingüística. En un campo como esta lectura es una de las formas más importantes de aprender. Un par de libros que fueron puntos de partida para mí fueron: The Emperors New Mind de Roger Penrose, Eye and Brain de RL Gregory, pero las ideas realmente pueden venir de casi cualquier lugar

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.