Tutorial de Deep Learning: Inteligencia Artificial usando Deep Learning



Este blog sobre el tutorial de aprendizaje profundo lo ayudará a comprender todo sobre el aprendizaje profundo y su relación con el aprendizaje automático y la inteligencia artificial.

Al ser un subconjunto importante del aprendizaje automático, la demanda de ha experimentado un enorme aumento, especialmente entre aquellos interesados ​​en desbloquear las posibilidades ilimitadas de la IA.Inspirado por la creciente popularidad del Deep Learning, pensé en crear una serie de blogs que lo educarán sobre esta nueva tendencia en el campo de la Inteligencia Artificial y lo ayudarán a comprender de qué se trata. Este es el primero de los muchos blogs de la serie denominada como: Tutorial de aprendizaje profundo .

El tutorial de aprendizaje profundo

En este blog de tutorial de aprendizaje profundo, lo guiaré a través de las siguientes cosas, que servirán como fundamentos para los próximos blogs:





  • Que permitió que el Deep Learning naciera
  • ¿Qué es Deep Learning y cómo funciona?

Puede pasar por esta grabación del Tutorial de aprendizaje profundo donde nuestro instructor ha explicado los temas de manera detallada con ejemplos que lo ayudarán a comprender mejor este concepto.

Tutorial de aprendizaje profundo | Redes neuronales de aprendizaje profundo | Edureka

Aplicaciones de inteligencia artificial y aprendizaje profundo

Ahora piense en esto, en lugar de hacer todo su trabajo, tiene una máquina para terminarlo por usted o puede hacer algo que pensaba que no era posible en absoluto. Por ejemplo:



Predicción del futuro - Tutorial de aprendizaje profundo - Edureka

Prediciendo el futuro: Puede ayudarnos a predecir terremotos, tsunamis, etc. de antemano para que se puedan tomar medidas preventivas para salvar muchas vidas de caer en las garras de las calamidades naturales.

Mejores prácticas de manejo de errores de Oracle Pl SQL
Chat-bots: Todos habréis oído hablar de Siri, que es el asistente virtual controlado por voz de Apple. Créame, con la ayuda de Deep Learning, esta asistencia virtual se vuelve más inteligente día a día. De hecho, Siri puede adaptarse según el usuario y brindar una mejor asistencia personalizada.
Automóviles autónomos: Imagínese lo increíble que sería para las personas con discapacidad física y las personas mayores que tienen dificultades para conducir por su cuenta. Aparte de esto, salvará millones de vidas inocentes que se encuentran con accidentes de tráfico cada año debido a errores humanos.

Oftalmólogo de Google AI: Es una iniciativa reciente de Google en la que están trabajando con una cadena de cuidado de los ojos de la India para desarrollar un software de inteligencia artificial que puede examinar los escáneres de retina e identificar una afección llamada retinopatía diabética, que puede causar ceguera.

Compositor de música AI: Bueno, ¿quién pensó que podríamos tener un compositor de música con inteligencia artificial usando Deep Learning? Por lo tanto, no me sorprendería saber que la siguiente mejor música la da una máquina.
Una máquina de lectura de sueños: Este es uno de mis favoritos, una máquina que puede capturar tus sueños en forma de video o algo así. Con tantas aplicaciones poco realistas de inteligencia artificial y aprendizaje profundo que hemos visto hasta ahora, no me sorprendió descubrir que esto se probó en Japón hace unos años en tres sujetos de prueba y pudieron lograr una precisión cercana al 60%. Eso es algo bastante increíble, pero cierto.


Estoy bastante seguro de que algunas de estas aplicaciones de la vida real de la inteligencia artificial y el aprendizaje profundo te habrían puesto la piel de gallina. Muy bien, esto sienta las bases para usted y ahora, estamos listos para continuar con este tutorial de aprendizaje profundo y comprender qué es la inteligencia artificial.



¿Qué es la inteligencia artificial?

La inteligencia artificial no es más que la capacidad de una máquina para imitar el comportamiento humano inteligente. La IA se logra imitando un cerebro humano, entendiendo cómo piensa, cómo aprende, decide y trabaja mientras intenta resolver un problema.

Por ejemplo: Una máquina que juega al ajedrez, o un software activado por voz que lo ayuda con varias cosas en su iPhone o un sistema de reconocimiento de matrículas que captura la matrícula de un automóvil con exceso de velocidad y la procesa para extraer el número de registro e identificar al propietario del automóvil . Todo esto no era muy fácil de implementar antes Aprendizaje profundo . Ahora, comprendamos los diversos subconjuntos de inteligencia artificial.

Subconjuntos de inteligencia artificial

Hasta ahora, habrías escuchado mucho sobre inteligencia artificial, aprendizaje automático y aprendizaje profundo. Sin embargo, ¿conoces la relación entre los tres? Básicamente, el aprendizaje profundo es un subcampo del aprendizaje automático y el aprendizaje automático es un subcampo de la inteligencia artificial, como se muestra en la siguiente imagen:

Cuando miramos algo como AlphaGo , a menudo se presenta como un gran éxito para el aprendizaje profundo, pero en realidad es una combinación de ideas de varios campos diferentes de la IA y el aprendizaje automático. De hecho, le sorprendería saber que la idea detrás de las redes neuronales profundas no es nueva, sino que se remonta a la década de 1950. Sin embargo, fue posible implementarlo prácticamente debido a la capacidad de recursos de alta gama disponible en la actualidad.

Entonces, avanzando en este blog tutorial de aprendizaje profundo, exploremos el aprendizaje automático seguido de sus limitaciones.

¿Qué es el aprendizaje automático?

El aprendizaje automático es un subconjunto de la inteligencia artificial que proporciona a las computadoras la capacidad de aprender sin ser programadas explícitamente. En el aprendizaje automático, no tenemos que definir explícitamente todos los pasos o condiciones como cualquier otra aplicación de programación. Por el contrario, la máquina se entrena en un conjunto de datos de entrenamiento, lo suficientemente grande como para crear un modelo, que ayuda a la máquina a tomar decisiones basadas en su aprendizaje.

Por ejemplo: Queremos determinar la especie de una flor en función de la longitud de su pétalo y sépalo (hojas de una flor) mediante el aprendizaje automático. Entonces, ¿cómo lo haremos?

Alimentaremos el conjunto de datos de flores que contiene varias características de diferentes flores junto con sus respectivas especies en nuestra máquina, como puede ver en la imagen de arriba. Con este conjunto de datos de entrada, la máquina creará y entrenará un modelo que se puede usar para clasificar flores en diferentes categorías.
Una vez que nuestro modelo ha sido entrenado, pasaremos un conjunto de características como entrada al modelo.
Finalmente, nuestro modelo generará las especies de la flor presentes en el nuevo conjunto de datos de entrada. Este proceso de entrenamiento de una máquina para crear un modelo y usarlo para la toma de decisiones se llama Aprendizaje automático . Sin embargo, este proceso tiene algunas limitaciones.

Limitaciones del aprendizaje automático

El aprendizaje automático no es capaz de manejar datos de gran dimensión que es donde la entrada y la salida son bastante grandes. El manejo y procesamiento de este tipo de datos se vuelve muy complejo y agotador de recursos. Esto se denomina Maldición de dimensionalidad . Para entender esto en términos más simples, consideremos la siguiente imagen:

orden de matriz de c ++
Considere una línea de 100 yardas y ha dejado caer una moneda en algún lugar de la línea. Ahora, es muy conveniente para usted encontrar la moneda simplemente caminando sobre la línea. Esta misma línea es una entidad unidimensional.
A continuación, considere que tiene un cuadrado de 100 yardas de lado cada uno como se muestra en la imagen de arriba y, una vez más, dejó caer una moneda en algún punto intermedio. Ahora, es bastante evidente que tomará más tiempo encontrar la moneda dentro de ese cuadrado en comparación con el escenario anterior. Este cuadrado es una entidad bidimensional.
Demos un paso adelante considerando un cubo de 100 yardas de lado cada uno y ha dejado caer una moneda en algún punto intermedio. Ahora, esta vez es aún más difícil encontrar la moneda. Este cubo es una entidad tridimensional.

Por lo tanto, puede observar que la complejidad aumenta a medida que aumentan las dimensiones.Y en la vida real, los datos de alta dimensión de los que estábamos hablando tienen miles de dimensiones que los hacen muy complejos de manejar y procesar. Los datos de alta dimensión se pueden encontrar fácilmente en casos de uso como procesamiento de imágenes, PNL, traducción de imágenes, etc.

El aprendizaje automático no fue capaz de resolver estos casos de uso y, por lo tanto, el aprendizaje profundo vino al rescate. El aprendizaje profundo es capaz de manejar los datos de alta dimensión y también es eficiente para enfocarse en las características correctas por sí solo. Este proceso se llama extracción de características. Ahora, avancemos en este tutorial de aprendizaje profundo y comprendamos cómo funciona el aprendizaje profundo.

¿Cómo funciona el aprendizaje profundo?

En un intento de rediseñar un cerebro humano, el aprendizaje profundo estudia la unidad básica de un cerebro llamada célula cerebral o neurona. Inspirándose en una neurona, se desarrolló una neurona artificial o un perceptrón. Ahora, comprendamos la funcionalidad de las neuronas biológicas y cómo imitamos esta funcionalidad en el perceptrón o una neurona artificial:

  • Si nos centramos en la estructura de una neurona biológica, tiene dendritas que se utilizan para recibir entradas. Estas entradas se suman en el cuerpo celular y, utilizando el axón, se pasan a la siguiente neurona biológica como se muestra en la imagen de arriba.

  • De manera similar, un perceptrón recibe múltiples entradas, aplica varias transformaciones y funciones y proporciona una salida.

  • Como sabemos que nuestro cerebro consta de múltiples neuronas conectadas llamadas red neuronal, también podemos tener una red de neuronas artificiales llamadas perceptrones para formar una red neuronal profunda. Por lo tanto, avancemos en este tutorial de aprendizaje profundo para comprender cómo se ve una red neuronal profunda.

Tutorial de Deep Learning: ¿Qué es Deep Learning?

  • Cualquier red neuronal profunda constará de tres tipos de capas:
    • La capa de entrada
    • La capa oculta
    • La capa de salida
En el diagrama anterior, la primera capa es la capa de entrada que recibe todas las entradas y la última capa es la capa de salida que proporciona la salida deseada.
Todas las capas entre estas capas se denominan capas ocultas. Puede haber n cantidad de capas ocultas gracias a los recursos de alta gama disponibles en estos días.
La cantidad de capas ocultas y la cantidad de perceptrones en cada capa dependerán por completo del caso de uso que esté tratando de resolver.

Ahora que tiene una imagen de las redes neuronales profundas, avancemos en este tutorial de aprendizaje profundo para obtener una vista de alto nivel de cómo las redes neuronales profundas resuelven un problema de reconocimiento de imágenes.

Uso de aprendizaje profundo: caso

Queremos realizar el reconocimiento de imágenes utilizando Deep Networks:

Aquí, estamos pasando los datos de alta dimensión a la capa de entrada. Para que coincida con la dimensionalidad de los datos de entrada, la capa de entrada contendrá múltiples subcapas de perceptrones para que pueda consumir toda la entrada.
La salida recibida de la capa de entrada contendrá patrones y solo podrá identificar los bordes de las imágenes según los niveles de contraste.
Esta salida se enviará a la capa oculta 1, donde podrá identificar varias características faciales como ojos, nariz, oídos, etc.
Ahora, esto se alimentará a la capa oculta 2 donde podrá formar las caras completas. Luego, la salida de la capa 2 se envía a la capa de salida.
Finalmente, la capa de salida realiza una clasificación en base al resultado obtenido de la anterior y predice el nombre.

Déjame hacerte una pregunta, ¿qué pasará si falta alguna de estas capas o si la red neuronal no es lo suficientemente profunda? Sencillo, no podremos identificar con precisión las imágenes. Esta es la razón por la que estos casos de uso no tuvieron una solución todos estos años antes del Deep Learning. Solo para llevar esto más allá, intentaremos aplicar redes profundas en un conjunto de datos MNIST.

  • El conjunto de datos de Mnist consta de 60.000 muestras de entrenamiento y 10.000 muestras de prueba de imágenes de dígitos escritos a mano. La tarea aquí es entrenar un modelo que pueda identificar con precisión el dígito presente en la imagen.

  • Para resolver este caso de uso, se creará una red profunda con múltiples capas ocultas para procesar las 60.000 imágenes píxel a píxel y finalmente recibiremos una capa de salida.
  • La capa de salida será una matriz de índice de 0 a 9, donde cada índice corresponde al dígito respectivo. El índice 0 contiene la probabilidad de que 0 sea el dígito presente en la imagen de entrada.
  • De manera similar, el índice 2, que tiene un valor de 0,1, en realidad representa la probabilidad de que 2 sea el dígito presente en la imagen de entrada. Entonces, si vemos que la probabilidad más alta en esta matriz es 0.8, que está presente en el índice 7 de la matriz. Por lo tanto, el número presente en la imagen es 7.

Conclusión

Entonces, chicos, todo esto se trataba de aprendizaje profundo en pocas palabras. En este tutorial de aprendizaje profundo, vimos varias aplicaciones de aprendizaje profundo y entendimos su relación con la IA y el aprendizaje automático. Luego, entendimos cómo podemos usar perceptrón o una neurona artificial bloques de construcción básicos para crear una red neuronal profunda que pueda realizar tareas complejas como estas. Por fin, pasamos por uno de los casos de uso del aprendizaje profundo en el que realizamos el reconocimiento de imágenes utilizando redes neuronales profundas y entendimos todos los pasos que ocurren detrás de escena. Ahora, en el próximo blog de esta serie de tutoriales de Deep Learning, aprenderemos cómo implementar un perceptrón usando TensorFlow, que es una biblioteca basada en Python para Deep Learning.

Ahora que conoce el aprendizaje profundo, consulte el por Edureka, una empresa de aprendizaje en línea de confianza con una red de más de 250.000 alumnos satisfechos repartidos por todo el mundo. El curso Edureka Deep Learning with TensorFlow Certification Training ayuda a los estudiantes a convertirse en expertos en la capacitación y optimización de redes neuronales básicas y convolucionales utilizando proyectos y asignaciones en tiempo real junto con conceptos como la función SoftMax, redes neuronales de codificación automática, máquina de Boltzmann restringida (RBM).

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios y nos pondremos en contacto con usted.