¡No! De ningún modo. En realidad, no es necesario que domine Python ni ningún otro lenguaje de programación para comenzar a leer libros de IA. Sin embargo, debe conocer y comprender los conceptos clave en CS.
¿Qué tipo de IA te gusta? ¿Aprendizaje automático, representación del conocimiento, planificación, visión por computadora, procesamiento del lenguaje natural? Dado que la IA es un campo tan grande, es difícil aconsejarlo, así que le daré consejos generales que son útiles para los recién llegados.
Revise la lista a continuación, debe estar familiarizado con los siguientes conceptos para casi cualquier campo en AI:
- ¿Qué tipo de cosas hace bien la Inteligencia Artificial (IA)?
- ¿Cómo se relaciona Internet de las cosas con la inteligencia artificial?
- ¿Cómo debe abordar el mundo el desempleo creado por la inteligencia artificial?
- ¿Cómo construir una inteligencia artificial? ¿Cuál es el lenguaje utilizado para construirlo? Dónde empiezo
- ¿Podemos crear una inteligencia artificial general sin la necesidad de simular un cerebro humano?
- Conceptos introductorios de programación
- Declaraciones condicionales
- Bucles
- Matrices
- Conceptos orientados a objetos – [Funciones / Métodos] y clases
- Recursividad
- Programación Funcional – (Opcional)
- Algoritmos / Estructuras de datos (diferentes estructuras de datos se implementan en diferentes lenguajes, pero los siguientes deben estar en la mayoría de los lenguajes de programación)
- Notación asintótica
- Matrices
- [Lista / ArrayList]
- Pilas
- Colas
- Arboles
- Gráficos
- Tablas Hash
- Conjuntos
- Montón
- Matemáticas
- Álgebra lineal
- Ecuaciones diferenciales
- Cálculo multivariable y sus dependencias
- Estadística / Probabilidad
Si no tiene todas esas habilidades, le recomiendo que las aprenda antes de sumergirse en AI Books o al menos las aprenda mucho.
Por último, una cosa que mi mentor me recomendó que me pareció útil es centrarme menos en las herramientas (lenguajes de programación) y más en los conceptos. El “LISP (Lisp (lenguaje de programación))” del pasado “se usó y favoreció para los programas que usaban conceptos de IA y estaba de moda. Sin embargo, (debido a razones que no explicaré porque está fuera del alcance de esta pregunta) la gente comenzó a pasar a lenguajes de programación más elegantes.
Lo digo porque mientras aprender un lenguaje de programación es útil para la IA (o cualquier tema que le guste a un aspirante a entusiasta), conocer los conceptos a menudo lo llevará más allá porque los lenguajes de programación tienden a desaparecer y se crean nuevos que se convierten en estándar de facto para la industria y la academia. A menudo, con los lenguajes de programación, los conceptos son bastante similares y la sintaxis cambia.
En Python podría hacer lo siguiente:
i = 0
mientras yo <5:
imprimir i #Mostrar i en Python
i + = 1
En Java o C ++ podría hacer exactamente lo mismo:
int i = 0
mientras que (i <5) {
cout << i << endl; // Mostrar i en C ++
System.out.println (i); // Mostrar i en Java
i + = 1
}
Si bien la sintaxis de los ejemplos anteriores difiere ligeramente, se comportarán exactamente igual. Entonces, el verdadero desafío no es aprender la sintaxis de un idioma, es aprender conceptos clave. Lo mismo ocurre con la IA, generalmente no encuentro que implementar algoritmos de aprendizaje automático sea tan difícil como comprender el concepto del algoritmo.
Dependiendo de lo que desee hacer con Python, hay muchas bibliotecas con algoritmos implementados y probados. Para la comprobación de aprendizaje automático (scikit-learn: aprendizaje automático en Python), para la comprobación de visión artificial (OpenCV | OpenCV).
¡Los MOOC son tu mejor amigo! Recomiendo echar un vistazo a Coursera, estoy interesado en el aprendizaje automático, que es un subcampo de IA y tienen un curso increíble que es gratuito (https://www.coursera.org/learn/m…). También tienen cursos de Algoritmos, cursos introductorios de programación, etc. ¡Ve a verlo! ¡La mejor de las suertes!