¿Qué es una red neuronal? Introducción a las redes neuronales artificiales



Este blog sobre qué es una red neuronal le presentará los conceptos básicos de las redes neuronales y cómo pueden resolver problemas complejos basados ​​en datos.

Con el avance del aprendizaje automático, ha tomado un buen camino. El Deep Learning se considera la tecnología más avanzada creada para resolver problemas complejos que utilizan conjuntos de datos masivos. Este blog sobre qué es una red neuronal le presentará los conceptos básicos de las redes neuronales y cómo pueden resolver problemas complejos basados ​​en datos.

Para obtener un conocimiento profundo de la inteligencia artificial y el aprendizaje profundo, puede inscribirse en vivo de Edureka con soporte 24/7 y acceso de por vida.





A continuación, se muestra una lista de temas que se tratarán en este blog:

  1. ¿Qué es una red neuronal?
  2. ¿Qué es el aprendizaje profundo?
  3. Diferencia entre AI, ML y DL
  4. Necesidad de aprendizaje profundo
  5. Caso de uso de aprendizaje profundo
  6. ¿Cómo funcionan las redes neuronales?
  7. Red neuronal explicada con ejemplo

Definición simple de una red neuronal

Modelado de acuerdo con el cerebro humano, un Neural Network fue construido para imitar la funcionalidad de un cerebro humano . El cerebro humano es una red neuronal compuesta por múltiples neuronas, de manera similar, una Red neuronal artificial (ANN) está compuesta por múltiples perceptrones (explicado más adelante).



Red neuronal - ¿Qué es una red neuronal? - Edureka

Una red neuronal consta de tres capas importantes:

tabla periódica de herramientas devops
  • Capa de entrada: Como sugiere el nombre, esta capa acepta todas las entradas proporcionadas por el programador.
  • Capa oculta: Entre la capa de entrada y la de salida hay un conjunto de capas conocidas como capas ocultas. En esta capa, se realizan cálculos que dan como resultado la salida.
  • Capa de salida: Las entradas pasan por una serie de transformaciones a través de la capa oculta que finalmente da como resultado la salida que se entrega a través de esta capa.

Antes de profundizar en el funcionamiento de una red neuronal, comprendamos qué es el aprendizaje profundo.



¿Qué es el aprendizaje profundo?

El aprendizaje profundo es un campo avanzado del aprendizaje automático que utiliza los conceptos de redes neuronales para resolver casos de uso altamente computacionales que involucran el análisis de datos multidimensionales. Automatiza el proceso de extracción de características, asegurándose de que se necesite una mínima intervención humana.

Entonces, ¿qué es exactamente el aprendizaje profundo?

Deep Learning es un avanzado subcampo de Machine Learning que utiliza algoritmos inspirados en la estructura y función del cerebro llamados Redes Neuronales Artificiales.

Diferencia entre IA, ML y DL (inteligencia artificial vs aprendizaje automático vs aprendizaje profundo)

La gente suele pensar que , y Aprendizaje profundo son los mismos ya que tienen aplicaciones comunes. Por ejemplo, Siri es una aplicación de inteligencia artificial, aprendizaje automático y aprendizaje profundo.

Entonces, ¿cómo se relacionan estas tecnologías?

  • Inteligencia artificial es la ciencia de hacer que las máquinas imiten el comportamiento de los humanos.
  • Aprendizaje automático es un subconjunto de la inteligencia artificial (IA) que se enfoca en hacer que las máquinas tomen decisiones alimentándolas con datos.
  • Aprendizaje profundo es un subconjunto de Machine Learning que utiliza el concepto de redes neuronales para resolver problemas complejos.

En resumen, la IA, el aprendizaje automático y el aprendizaje profundo son campos interconectados. El aprendizaje automático y el aprendizaje profundo ayudan a la inteligencia artificial al proporcionar un conjunto de algoritmos y redes neuronales para resolver problemas basados ​​en datos.

Ahora que está familiarizado con los conceptos básicos, comprendamos qué llevó a la necesidad de Deep Learning.

Necesidad de aprendizaje profundo: limitaciones de los algoritmos y técnicas tradicionales de aprendizaje automático

El aprendizaje automático fue un gran avance en el mundo técnico, condujo a la automatización de tareas monótonas y lentas, ayudó a resolver problemas complejos y a tomar decisiones más inteligentes. Sin embargo, hubo algunos inconvenientes en el aprendizaje automático que llevaron al surgimiento del aprendizaje profundo.

Estas son algunas limitaciones del aprendizaje automático:

  1. No se pueden procesar datos de gran dimensión: El aprendizaje automático puede procesar solo pequeñas dimensiones de datos que contienen un pequeño conjunto de variables. Si desea analizar datos que contienen cientos de variables, no se puede utilizar el aprendizaje automático.
  2. La ingeniería de funciones es manual: Considere un caso de uso en el que tiene 100 variables predictoras y necesita limitar solo las significativas. Para hacer esto, debe estudiar manualmente la relación entre cada una de las variables y averiguar cuáles son importantes para predecir el resultado. Esta tarea es extremadamente tediosa y requiere mucho tiempo para un desarrollador.
  3. No es ideal para realizar detección de objetos y procesamiento de imágenes: Dado que la detección de objetos requiere datos de alta dimensión, el aprendizaje automático no se puede utilizar para procesar conjuntos de datos de imágenes, solo es ideal para conjuntos de datos con un número limitado de funciones.

Antes de que entremos en las profundidades de Redes neuronales, consideremos un caso de uso del mundo real en el que se implementa el aprendizaje profundo.

Aplicaciones / casos de uso de Deep Learning

¿Sabía que PayPal procesa más de $ 235 mil millones en pagos de cuatro mil millones de transacciones de sus más de 170 millones de clientes? Utiliza esta gran cantidad de datos para identificar posibles actividades fraudulentas, entre otras razones.

Con la ayuda de algoritmos de aprendizaje profundo, PayPal extrajo datos del historial de compras de sus clientes, además de revisar los patrones de posible fraude almacenados en sus bases de datos para predecir si una transacción en particular es fraudulenta o no.

La compañía ha confiado en la tecnología Deep Learning & Machine Learning durante aproximadamente 10 años. Inicialmente, el equipo de monitoreo de fraudes utilizó modelos lineales simples. Pero a lo largo de los años, la empresa cambió a una tecnología de aprendizaje automático más avanzada llamada Deep Learning.

El gerente de riesgo de fraude y científico de datos de PayPal, Ke Wang, citó:

“Lo que disfrutamos del aprendizaje automático más moderno y avanzado es su capacidad para consumir muchos más datos, manejar capas y capas de abstracción y poder 'ver' cosas que una tecnología más simple no podría ver, ni siquiera los seres humanos. no poder ver '.

Un modelo lineal simple es capaz de consumir alrededor de 20 variables. Sin embargo, con la tecnología Deep Learning se pueden ejecutar miles de puntos de datos. Por lo tanto, al implementar Tecnología de aprendizaje profundo, PayPal finalmente puede analizar millones de transacciones para identificar cualquier fraudulento actividad.

Ahora vayamos a las profundidades de una red neuronal y comprendamos cómo funcionan.

¿Cómo funciona una red neuronal?

Para comprender las redes neuronales, debemos analizarlas y comprender la unidad más básica de una red neuronal, es decir, un perceptrón.

¿Qué es un perceptrón?

Un perceptrón es una red neuronal de una sola capa que se utiliza para clasificar datos lineales. Tiene 4 componentes importantes:

  1. Entradas
  2. Pesos y sesgos
  3. Función de suma
  4. Función de activación o transformación

La lógica básica detrás de un perceptrón es la siguiente:

Las entradas (x) recibidas de la capa de entrada se multiplican por sus pesos asignados w. Los valores multiplicados se suman luego para formar la suma ponderada. La suma ponderada de las entradas y sus respectivos pesos se aplican luego a una función de activación relevante. La función de activación asigna la entrada a la salida respectiva.

Pesos y sesgos en el aprendizaje profundo

¿Por qué tenemos que asignar pesos a cada entrada?

Una vez que una variable de entrada se alimenta a la red, se asigna un valor elegido al azar como el peso de esa entrada. El peso de cada punto de datos de entrada indica la importancia de esa entrada para predecir el resultado.

El parámetro de polarización, por otro lado, le permite ajustar la curva de la función de activación de tal manera que se logre una salida precisa.

Función de suma

Una vez que se asigna algún peso a las entradas, se toma el producto de la entrada respectiva y el peso. Agregar todos estos productos nos da la suma ponderada. Esto se hace mediante la función de suma.

Función de activación

El objetivo principal de las funciones de activación es mapear la suma ponderada a la salida. Las funciones de activación como tanh, ReLU, sigmoide, etc. son ejemplos de funciones de transformación.

Para obtener más información sobre las funciones de los perceptrones, puede consultar este blog.

Antes de que nosotros Para terminar este blog, tomemos un ejemplo sencillo para comprender cómo funciona una red neuronal.

Redes neuronales explicadas con un ejemplo

Considere un escenario en el que va a construir una red neuronal artificial (ANN) que clasifica las imágenes en dos clases:

  • Clase A: que contiene imágenes de hojas no enfermas.
  • Clase B: que contiene imágenes de hojas enfermas.

Entonces, ¿cómo se crea una red neuronal que clasifica las hojas en cultivos enfermos y no enfermos?

El proceso siempre comienza procesando y transformando la entrada de tal manera que pueda procesarse fácilmente. En nuestro caso, cada imagen de hoja se dividirá en píxeles según la dimensión de la imagen.

Por ejemplo, si la imagen está compuesta por 30 por 30 píxeles, entonces el número total de píxeles será 900. Estos píxeles se representan como matrices, que luego se alimentan a la capa de entrada de la red neuronal.

Al igual que nuestros cerebros tienen neuronas que ayudan a construir y conectar pensamientos, una ANN tiene perceptrones que aceptan entradas y las procesan pasándolas de la capa de entrada a la capa oculta y finalmente a la capa de salida.

A medida que la entrada pasa de la capa de entrada a la capa oculta, se asigna un peso aleatorio inicial a cada entrada. A continuación, las entradas se multiplican con sus pesos correspondientes y su suma se envía como entrada a la siguiente capa oculta.

que son los paquetes en java

Aquí, se asigna un valor numérico llamado sesgo a cada perceptrón, que está asociado con la ponderación de cada entrada. Además, cada perceptrón pasa a través de una función de activación o transformación que determina si un perceptrón en particular se activa o no.

Se utiliza un perceptrón activado para transmitir datos a la siguiente capa. De esta manera, los datos se propagan (propagación hacia adelante) a través de la red neuronal hasta que los perceptrones alcanzan la capa de salida.

En la capa de salida, se deriva una probabilidad que decide si los datos pertenecen a la clase A o a la clase B.

Suena simple, ¿no? Bueno, el concepto detrás de las redes neuronales se basa puramente en el funcionamiento del cerebro humano. Necesita un conocimiento profundo de varios conceptos y algoritmos matemáticos. Aquí tienes una lista de blogs para que comiences:

  1. ¿Qué es el aprendizaje profundo? Introducción al aprendizaje profundo
  2. Aprendizaje profundo con Python: Guía para principiantes de aprendizaje profundo

Si este blog le pareció relevante, 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 mediante 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).