¿Cómo comenzar con la IA y el aprendizaje automático? ¿Cuáles son los fundamentos de la lógica?

Artículo original: Descripción general de la inteligencia artificial, el aprendizaje automático y el aprendizaje profundo

Si estás en tecnología, has estado escuchando muchos rumores sobre inteligencia artificial, aprendizaje automático e incluso aprendizaje profundo. ¿Cuál es la palabra correcta para usar y cuándo? ¿Todos significan lo mismo? Quiero decir, la gente está segura de usarlo indistintamente todo el tiempo.

La inteligencia artificial, el aprendizaje automático y el aprendizaje profundo son un subconjunto del campo anterior. La inteligencia artificial es la categoría general para el aprendizaje automático. Y Machine Learning es la categoría general para Deep Learning.

Deep Learning es un subconjunto de Machine Learning, y Machine Learning es un subconjunto de Inteligencia Artificial.

La verdadera exageración de los últimos tiempos debería atribuirse a Deep Learning. Este campo particular de Inteligencia Artificial y Aprendizaje Automático es el que ha resuelto una tonelada de problemas interesantes en los últimos años, desde compras automáticas de supermercados hasta autos autónomos.

Inteligencia artificial

Entonces, ¿por qué hemos estado escuchando tanto sobre Inteligencia Artificial? Algunos podrían acreditar a Elon Musk y Sam Altman. Elon Musk ha estado hablando cada vez más sobre el tema de la ética en Inteligencia Artificial. Supongo que está usando la Inteligencia Artificial como jerga familiar utilizada en los medios de ciencia ficción.

La inteligencia artificial es un campo amplio que abarca varios subcampos, técnicas y algoritmos. El campo de la inteligencia artificial se basa en el objetivo de hacer que una máquina sea tan inteligente como un ser humano. Ese es literalmente el objetivo general inicial. En 1956, los investigadores se reunieron en Dartmouth con el objetivo explícito de programar computadoras para que se comporten como humanos. Este fue el nacimiento moderno de la Inteligencia Artificial tal como la conocemos hoy.

Objetivos de IA

Para explicar mejor los objetivos de la Inteligencia Artificial, los investigadores extendieron su objetivo principal a estos seis objetivos principales.

1) Razonamiento lógico . Permita que las computadoras realicen los tipos de tareas mentales sofisticadas que los humanos son capaces de hacer. Ejemplos de resolver estos problemas de razonamiento lógico incluyen jugar al ajedrez y resolver problemas de álgebra.

2) Representación del conocimiento. Habilite las computadoras para describir objetos, personas e idiomas. Ejemplos de esto incluyen lenguajes de programación orientados a objetos, como Smalltalk.

3) Planificación y navegación . Permita que una computadora pase del punto A al punto B. Por ejemplo, el primer robot autónomo se construyó a principios de la década de 1960.

4) Procesamiento de lenguaje natural . Permita que las computadoras comprendan y procesen el lenguaje. Uno de los primeros proyectos relacionados con esto fue intentar traducir del inglés al ruso y viceversa.

5) Percepción . Permita que las computadoras interactúen con el mundo a través de la vista, el oído, el tacto y el olfato.

6) Inteligencia emergente . Es decir, Inteligencia que no está programada explícitamente, pero emerge del resto de las características de IA explícitas. La visión para este objetivo era hacer que las máquinas exhibieran inteligencia emocional, razonamiento moral y más.

Campos de IA

Incluso con estos objetivos principales, esto no clasifica los algoritmos y técnicas específicos de Inteligencia Artificial. Estos son solo seis de los principales algoritmos y técnicas dentro de la Inteligencia Artificial:

1) El aprendizaje automático es el campo de la inteligencia artificial que brinda a las computadoras la capacidad de aprender sin ser programado explícitamente.

2) Búsqueda y optimización . Algoritmos como Gradient Descent para buscar iterativamente máximos o mínimos locales.

3) Satisfacción de restricciones es el proceso de encontrar una solución a un conjunto de restricciones que imponen condiciones que las variables deben satisfacer.

4) Razonamiento lógico . Un ejemplo de razonamiento lógico en inteligencia artificial es un sistema informático experto que emula la capacidad de toma de decisiones de un experto humano.

5) El razonamiento probabilístico es combinar la capacidad de la teoría de la probabilidad para manejar la incertidumbre con la capacidad de la lógica deductiva para explotar la estructura del argumento formal. El resultado es un formalismo más rico y expresivo con una amplia gama de posibles áreas de aplicación.

6) La teoría del control es un enfoque formal para encontrar controladores que tengan propiedades demostrables. Esto generalmente implica un sistema de ecuaciones diferenciales que generalmente describe un sistema físico como un robot o un avión.


Aprendizaje automático

El aprendizaje automático es un subconjunto de la inteligencia artificial. Entonces, ¿qué es el aprendizaje automático de todos modos? Si la Inteligencia Artificial tiene como objetivo hacer que las computadoras sean inteligentes. Machine Learning adopta la postura de que debemos proporcionar datos a la computadora y dejar que la computadora aprenda por sí misma. Arthur Samuel adivinó la idea de que las computadoras podrían aprender por sí mismas en 1959.

¿Y qué hace que el aprendizaje automático sea tan importante? Un gran avance condujo a la aparición del aprendizaje automático como la fuerza impulsora detrás de la inteligencia artificial: la invención de Internet. Internet vino con una gran cantidad de información digital que se genera, almacena y pone a disposición para su análisis. Esto es cuando comienzas a escuchar sobre Big Data. Y los algoritmos de Machine Learning han sido los más efectivos para aprovechar todos estos Big Data.

Redes neuronales

Si hablamos de Machine Learning, vale la pena mencionar un componente popular de los Algoritmos de Machine Learning: las redes neuronales.

Las redes neuronales son una pieza clave para algunos de los algoritmos de aprendizaje automático más exitosos. El desarrollo de redes neuronales ha sido clave para enseñar a las computadoras a pensar y comprender el mundo de la manera en que lo hacen los humanos. Esencialmente, una red neuronal emula el cerebro humano. Las células cerebrales, o neuronas, están conectadas a través de sinapsis. Esto se abstrae como un gráfico de nodos (neuronas) conectados por bordes ponderados (sinapsis). Para obtener más información sobre redes neuronales, no dude en leer nuestra Descripción general de redes neuronales.

Esta red neuronal tiene una capa, tres entradas y una salida. Cualquier red neuronal puede tener cualquier número de capas, entradas o salidas.


Aprendizaje profundo

Los algoritmos de aprendizaje automático han sido la fuerza impulsora detrás de la Inteligencia Artificial. Y el más efectivo de todos los algoritmos de aprendizaje automático ha sido Deep Learning.

El aprendizaje profundo implica varias capas de computación. En este caso, “profundo” se refiere a un número “grande” de capas. El aprendizaje profundo puede ser de 20 capas o 1000 capas, pero al menos más de 2 o 3 capas. Deep Learning ha cobrado impulso recientemente, no solo por la gran cantidad de datos proporcionados por Internet, sino también por el aumento del poder de cómputo en la última década. Específicamente, las GPU han aumentado la potencia de cálculo al permitir cálculos paralelos. Como habrás adivinado, Deep Learning es altamente paralelizable.

Esta red neuronal tiene dos capas, tres entradas y una salida. Cualquier red neuronal puede tener cualquier número de capas, entradas o salidas. Las capas entre las neuronas de entrada y la capa final de las neuronas de salida son capas ocultas de una red neuronal profunda.

El mejor escaparate de Deep Learning es Deep Neural Networks (DNN). Una red neuronal profunda es solo una red neuronal con más de dos o tres capas. Sin embargo, las redes neuronales profundas no son el único tipo de algoritmo de Aprendizaje profundo, es solo el más popular. Otro algoritmo de aprendizaje profundo es una red de creencias profundas (DBN). Una red de creencias profundas tiene conexiones no dirigidas entre algunas capas. Esto significa que la topología de DNN y DBN es diferente por definición. Las capas no dirigidas en un DBN se denominan Máquinas de Boltzmann restringidas.

Conclusión

Entonces, una forma de pensar en estas tres ideas es que el aprendizaje automático es la vanguardia de la inteligencia artificial. Y Deep Learning es la vanguardia de la vanguardia.

Asegúrate de tener una buena formación en matemáticas, especialmente Álgebra lineal, Probabilidad / Estadística, y quizás algunas matemáticas más si puedes. A continuación hay otra respuesta que escribí que incluye varios recursos diferentes para aprender AI / ML:

Los cursos en línea parecen ser la forma más accesible. Recomiendo estos 2 cursos para empezar:

  • Aprendizaje automático | Coursera sigue siendo el mejor curso básico en mi humilde opinión. Me pareció útil seguir estas conferencias antes de tomar el curso oficial de ML en la universidad.
  • Redes neuronales para el aprendizaje automático | Coursera: es posible que desee omitir sus primeras semanas si ya tiene un fondo decente de ML. Me ayudó mucho cuando no tenía idea de lo que hablaba mi profesor en sus conferencias sobre máquinas Boltzmann.

Además, para ayudar a comprender los conceptos, puede buscar áreas de juego en línea de AI / ML en diferentes bibliotecas. Un ejemplo notable es http://playground.tensorflow.org, donde puede probar diferentes configuraciones para las redes neuronales y los conjuntos de datos para ver cómo cambian los resultados.

Si eres anticuado y quieres algunas recomendaciones de libros de texto, te sugiero que busques notas de cursos en línea y programas de estudios de las principales universidades y veas qué usan.

Finalmente, obtenga algunos conjuntos de datos, por ejemplo, del Depósito de aprendizaje automático UCI: conjuntos de datos y comience a crear algunos modelos de ML / AI propios. Aprenda a escribir los algoritmos en los libros / cursos desde cero en su lenguaje de programación preferido para comprenderlos realmente antes de comenzar a usar algunas llamadas de función en bibliotecas o API. No es que las bibliotecas no sean geniales (probablemente las usará en algún momento de todos modos), pero con fines de aprendizaje, déjelos solos por un tiempo hasta que su conocimiento básico sea sólido.

¡Buena suerte! 🙂

Dependiendo de su nivel de comprensión académica, aquí hay enlaces que lo ayudarán a comenzar con la IA (específicamente el aprendizaje automático):

¡Enséñate a ti mismo el aprendizaje automático!

¡Enséñate a ti mismo el aprendizaje automático! (Parte 2)

Espero que esto ayude !!

PD: comienza lento y constante. ¡Tenga paciencia porque aprender algo por adelantado siempre es difícil y necesita mucho trabajo duro! Yo mismo todavía estoy en el proceso de aprendizaje 🙂

Buena suerte !!

Salud

Aunque los tres temas tienen algo en común, es posible que desee mantenerlos separados. Recomiendo leer sobre los tres individualmente. La IA es algo vaga debido a los muchos temas que contiene. Lógica y aprendizaje automático. Los tres son temas en sí mismos.

Recomiendo elegir la lógica primero, estudiarla y comprender cómo funciona la lógica. En segundo lugar, es posible que desee estudiar el aprendizaje automático antes de hacer IA.

Y AI, no hagas todo de una vez. Quizás sea una idea que elija un tema, por ejemplo, Sistemas de respuesta a preguntas en lenguaje natural.

Puede intentar codificar uno usted mismo, se recomienda el dominio abierto, luego puede elegir algoritmos de clasificación de aprendizaje automático. Un pequeño comienzo …

Pero trate de tomar temas más pequeños dentro de las áreas 🙂 ¡Buena suerte! 🙂

Esta respuesta variará de persona a persona y mi respuesta es un poco abstracta, pero aquí va.
Construye sobre lo que ya sabes.

¿Has tomado un curso en procesamiento de señales?
En caso afirmativo, responda la siguiente pregunta, en caso negativo, convolución maestra y análisis de Fourier.
¿Has tomado una clase sobre teoría de la probabilidad y / o procesos aleatorios?
En caso afirmativo, investigue algo llamado “optimización convexa”
¿Has tomado un curso de optimización y programación lineal?
En caso afirmativo, debe leer un artículo clásico escrito en la revista Nature llamado “Aprendizaje profundo”
¿Has leído y entendido las matemáticas del “aprendizaje profundo”?
Entonces, probablemente no estaría de más ver la serie de conferencias de Stanford en Youtube sobre IA.
¿Se puede programar en R o Matlab? Elige uno y aprende bien.
Finalmente, lea el libro electrónico de Matlab sobre Machine Learning.

Ahora alguien podría decir que no necesitas hacer todo eso. Puedes ver las conferencias. Sí, no necesita todo eso para entrar en tensorflow y comenzar a jugar, pero si quiere aprender AI y contribuir a la IA, en teoría, ¡esto es lo que necesita para comenzar! Ahora, si solo quiere ser técnico, y no diseñador, quiere usar una herramienta, no construirla. Puedes simplemente saltar al último paso.

Lo básico de la inteligencia artificial y el aprendizaje automático es utilizar técnicas de optimización para desarrollar clasificadores. Los métodos de descenso de gradiente son los más populares. Los clasificadores hacen lo que el nombre sugiere, clasifican los datos. Por lo general, se le presenta el “aprendizaje supervisado” y el aprendizaje no supervisado. Como su nombre lo indica, el aprendizaje supervisado es cuando “le dice” al algoritmo las respuestas correctas para construir y el aprendizaje no supervisado es lo opuesto, lo dejas resolver usando solo la optimización. Esta es solo una “vista de 20,000 pies” y realmente necesita que las matemáticas sean efectivas, pero alguien más podría dar una visión conceptual más completa, ya que la IA no es mi campo de especialización.

Creo que hay algunos aspectos en los que deberías escribir … más información sobre: ​​3 principios para subir la escalera de la IA con IBM Governed Data Lake

Aquí se explican los conceptos básicos de tres tipos de razonamiento en IA

Para empezar, puede iniciar el módulo ML de Andrew Ng en Coursera. Es el comienzo del aprendizaje automático. Le da ejemplos de problemas para trabajar.