¿Cómo debo comenzar el aprendizaje automático? ¿Cuáles son los requisitos previos?

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.

A2A.

Para tener una base matemática básica, debe tener algún conocimiento de los siguientes conceptos matemáticos:
– Probabilidades y estadísticas
– Álgebra lineal
– Optimización
– Cálculo multivariable
– Análisis funcional (no esencial)
– Lógica de primer orden (no esencial)
Puede encontrar material razonable sobre la mayoría de estos buscando “notas de conferencia ” en Google. Por lo general, encontrará buenas notas de clase compiladas por un profesor que enseña ese curso. Los primeros resultados deberían darle un buen conjunto para elegir. Vea la respuesta de Prasoon Goyal a ¿Cómo debo comenzar a aprender las matemáticas para el aprendizaje automático y desde dónde?
Hojea estos. No es necesario que los revise con mucho detalle. Puede volver a estudiar matemáticas cuando sea necesario mientras aprende ML.

Luego, para obtener una descripción general rápida de ML, puede seguir la hoja de ruta a continuación (he escrito sobre muchos de estos temas en varias respuestas sobre Quora; he vinculado los más relevantes para una referencia rápida).

Día 1:

  • Terminología básica:
    1. Configuraciones más comunes: configuración supervisada, configuración no supervisada, configuración semi-supervisada, aprendizaje de refuerzo.
    2. Problemas más comunes: Clasificación (binaria y multiclase), Regresión, Agrupación.
    3. Preprocesamiento de datos: normalización de datos.
    • Conceptos de conjuntos de hipótesis, error empírico, error verdadero, complejidad de conjuntos de hipótesis, regularización, compensación de sesgo-varianza, funciones de pérdida, validación cruzada.

    Dia 2:

    • Conceptos básicos de optimización:
      1. Terminología y conceptos básicos: optimización convexa, lagrangiana, problemas primarios-duales, gradientes y subgraduados, [math] \ ell_1 [/ math] y [math] \ ell_2 [/ math] funciones objetivo regularizadas.
      2. Algoritmos: descenso de gradiente por lotes y descenso de gradiente estocástico, descenso de gradiente coordinado.
      3. Implementación: escriba código para el descenso de gradiente estocástico para una función objetivo simple, ajuste el tamaño del paso y obtenga una intuición del algoritmo.

      Día 3:

      • Clasificación:
        1. Regresión logística
        2. Máquinas de vectores de soporte: intuición geométrica, formulaciones primarias-duales, noción de vectores de soporte, truco del núcleo, comprensión de hiperparámetros, búsqueda en cuadrícula.
        3. Herramienta en línea para SVM: juegue con esta herramienta SVM en línea (desplácese hacia abajo hasta “Interfaz gráfica”) para tener una idea del algoritmo.

        Día 4:

        • Regresión:
          1. Regresión de cresta
          • Agrupación:
            1. algoritmo k-means y Expectation-Maximization.
            2. Agrupación jerárquica de arriba hacia abajo y de abajo hacia arriba.

            Dia 5:

            • Métodos bayesianos:
              1. Terminología básica: Prioridades, posteriores, probabilidad, estimación de máxima probabilidad e inferencia máxima a posteriori.
              2. Modelos de mezcla gaussiana
              3. Asignación de Dirichlet latente: El modelo generativo y la idea básica de la estimación de parámetros.

              Día 6:

              • Modelos gráficos:
                1. Terminología básica: redes bayesianas, redes de Markov / campos aleatorios de Markov.
                2. Algoritmos de inferencia: eliminación de variables, propagación de creencias.
                3. Ejemplos simples: Modelos ocultos de Markov. Modelo ising.

                Días 7–8:

                • Redes neuronales:
                  1. Terminología básica: neurona, función de activación, capa oculta.
                  2. Redes neuronales convolucionales: capa convolucional, capa de agrupación, retropropagación.
                  3. Redes neuronales basadas en memoria: redes neuronales recurrentes, memoria a corto y largo plazo.
                  4. Tutoriales: estoy familiarizado con este tutorial de la antorcha (querrá consultar el directorio [math] \ texttt {1_supervised} [/ math]). Puede haber otros tutoriales en otros marcos de aprendizaje profundo.

                  Día 9:

                  • Temas varios:
                    1. Árboles de decisión
                    2. Sistemas de recomendación
                    3. Procesos de decisión de Markov
                    4. Bandidos multi-armados

                    Día 10: (día de presupuesto)

                    • Puede usar el último día para ponerse al día con lo que queda de días anteriores, o aprender más sobre cualquier tema que le parezca más interesante / útil para su trabajo futuro.

                    Una vez que haya pasado por lo anterior, querrá comenzar a leer un texto estándar de ML. Los libros populares con los que tengo experiencia son los siguientes:

                    • Reconocimiento de patrones y aprendizaje automático: Christopher Bishop
                    • Aprendizaje automático: una perspectiva probabilística: Kevin P. Murphy

                    Si bien el libro de Murphy es más actual y más elaborado, creo que Bishop es más accesible para los principiantes. Puedes elegir uno de ellos según tu nivel.
                    En este punto, debe tener un conocimiento práctico del aprendizaje automático. Más allá de esto, si está interesado en un tema en particular, busque recursos en línea específicos sobre el tema, lea documentos seminales en el subcampo, intente encontrar algunos problemas más simples e impleméntelos.

                    Prerrequisitos:

                    1. Lenguaje de programación preferiblemente Python. Tener buen conocimiento de al menos un lenguaje de programación.
                    2. Comprensión de conceptos básicos de álgebra lineal y probabilidad.

                    Comience por ver algunos buenos cursos en ML, recomendaría Andrew Ng Course en Coursera o Stanford.

                    Una vez que obtenga lo básico, hay muchos recursos maravillosos en línea para saber más.

                    En mi experiencia, para comenzar con Machine Learning (ML), necesita lo siguiente:

                    1. Buen conocimiento estadístico
                    2. Dominio de lenguajes como R, Python, etc.
                    3. Conocimiento de los módulos creados para ML que es específico del idioma. En el caso de Python, incluye numpy, scipy, scikit-learn. Del mismo modo, para R hay otros paquetes de este tipo.
                    4. Recursos para ayudarlo a aprender sobre el punto número 3.

                    Uno de esos libros es:

                    Machine Learning en R por Brett Lantz.

                    Que gran pregunta. En mi blog escribí una hoja de ruta simple a nivel de máquina que incluía algunos requisitos de nivel 0 y otras etapas. Esto no pasa al aprendizaje profundo y solo se enfoca en el aprendizaje automático.

                    Blog de robótica de la India | Blog de robótica | Club de robótica

                    En caso de que tenga algún comentario, hágamelo saber y feliz de agregar. El lenguaje basado en esta hoja de ruta está en Python.

                    Puede ver el video del señor Ravindrababu Ravula sobre la introducción a Deep Learning. Es una rama del aprendizaje automático.

                    More Interesting

                    ¿El libro de IBM Watson 'Cocina cognitiva con chef Watson' está protegido por derechos de autor?

                    ¿El basilisco de roko se aplica a personas que no son lo suficientemente inteligentes como para afectar la trayectoria de la formación de IA?

                    ¿Cuáles son las mejores cosas que ha hecho IBM Watson?

                    ¿Acabaría con los hackers?

                    ¿Google está empleando o investigando memorias temporales jerárquicas?

                    ¿Por qué todos los robots de inteligencia artificial como Siri, Google Now y la mayoría de los sistemas GPS utilizan voces femeninas? ¿Por qué no voces en off masculinas? ¿Tiene que ver con la psicología humana?

                    ¿Se puede usar la inteligencia artificial para crear nuevos algoritmos?

                    ¿Qué tan bien se necesita conocer la codificación para seguir una carrera en inteligencia artificial y trabajar en empresas como Google y Tesla?

                    ¿Todos los modelos de aprendizaje automático tienen función de pérdida? ¿Cuál es la función de pérdida del árbol de decisión?

                    ¿Qué tiene de especial Extreme Learning Machine (ELM) de manera que se celebre una conferencia exclusivamente para su estudio?

                    ¿Qué significa un abandono en las redes neuronales?

                    ¿Cuáles son las partes que más se reemplazan en robots y máquinas modernas?

                    ¿Las redes neuronales tienen suficiente poder para la generación del lenguaje natural?

                    ¿Cuáles son las mejores API de sistema de diálogo para Internet de las cosas?

                    ¿Cuáles son las trampas / trampas / deudas técnicas a tener en cuenta si alguien está comenzando una codificación de visión por computadora y una aplicación de aprendizaje automático en C ++?