Explicación del aprendizaje profundo: Perceptron: hacia la IA

Estás leyendo la publicación: Explicación del aprendizaje profundo: Perceptron: hacia la IA

Publicado originalmente en Hacia la IA.

Aprendizaje profundo explicado: perceptrón

El concepto clave detrás de cada red neuronal.

En la actualidad, marcos como Keras, TensorFlowo PyTorch proporcione acceso llave en mano a la mayoría de las soluciones de aprendizaje profundo sin necesariamente tener que comprenderlas en profundidad.

Pero esto puede volverse problemático tan pronto como su modelo no funcione como se esperaba. Es posible que deba ajustarlo usted mismo.

Entonces, si estás aquí para entender el concepto de Perceptron en el aprendizaje profundo, creo que estás en el camino correcto si quieres poder contribuir algún día a este ecosistema de alguna manera, es esencial comprender las raíces de estos. sistemas

De lo contrario, si ya está familiarizado con el concepto de Perceptron, no es gran cosa. ¡Todavía espero sorprenderte!

En este artículo, presentaré la idea de la perceptrón. Veremos cómo se pensaba allá por 1950 y cómo funciona.

Entremos en ello.

Un poco de historia

Comienzo

En 1943, McCulloch y Pitts publicaron un artículo titulado Un cálculo lógico de las ideas inmanentes a la actividad nerviosa:conocido hoy como el primer modelo matemático de una red neuronal.

La idea de este artículo se enmarca en la dinámica de la época de querer crear máquinas inteligentes por reproducir el funcionamiento del cerebro humano.

Tomo como evidencia el comienzo del resumen de la misma.

Debido al carácter de “todo o nada” de la actividad nerviosa, los eventos neurales y las relaciones entre ellos pueden tratarse por medio de la lógica proposicional.

En ese momento, el funcionamiento del cerebro humano se popularizó como células nerviosas interconectadas que transmitían señales eléctricas y químicas como una simple puerta lógica.

El propio perceptrón

Ahora avancemos 14 años hasta 1957 y la publicación de un artículo de Rosenblatt llamado El perceptrón: un autómata que percibe y reconoce.

Es en este artículo donde encontramos el perceptrón tal como se entiende hoy.

Un sistema para aprender los pesos óptimos a multiplicar con las entradas para determinar si una neurona se activa o no.

A continuación puedes ver el primer perceptrón entrenado para reconocer objetos o patrones, en este caso, las letras del alfabeto.

🔥 Recomendado:  Cómo escribir más rápido: 10 formas rápidas de alcanzar las 1000 palabras por hora

Ahora que tiene una idea de la historia de este concepto, pasemos a su aplicación en el aprendizaje profundo.

Perceptrón aplicado al Deep Learning.

El perceptrón básico se utiliza para la clasificación binaria en el aprendizaje automático supervisado.

Como recordatorio, la clasificación binaria implica que solo hay dos clases para predecir 1 y -1, por ejemplo.

Y el aprendizaje automático supervisado se refiere a entrenar el modelo a través de datos ya etiquetados (con sus clases asociadas).

Definición matemática

  • Definimos las entradas?, salidas y pesos? de la siguiente manera.

Donde m es el tamaño del vector ?, ? o .

  • Dejar ? ser el entrada neta compuesto por una combinación lineal de ? y ?.
  • La clasificación está definida por una función de activación. fi: ? (?) con un umbral theta: ? correspondiente al llamado sesgo, lo veremos más adelante.

El función de activación define de alguna manera cómo se clasificará el elemento entrante.

Si la neurona se activa, es decir, si z ≥ ?, entonces a la entrada actual se le asignará la clase 1, -1 de lo contrario.

Este tipo de función se llama Función de paso Heaviside.

Arriba, theta es igual a 0. Al cambiar este valor, desplazamos la curva hacia la izquierda o hacia la derecha.

En resumen, ahora que hemos agregado theta, la ecuación para la entrada neta z cambia un poco.

Ahora tenemos:

Con :

¡Felicidades! Ahora conoce la definición matemática de un perceptrón.

Aquí está el equivalente gráfico:

Pero, ¿cómo se entrena un perceptrón?

Entrenando a un perceptrón

Aquí están los pasos de entrenamiento:

  1. Inicialización de los pesos a 0 (o un pequeño número aleatorio)

2. Para cada ejemplo de entrenamiento x⁽ⁱ⁾ :

– Calcular la salida estimada ŷ⁽ⁱ⁾
– Actualizar los pesos

La actualización de cada peso del vector.

se hace de la siguiente manera:

donde nos presentamos eta: ?, la tasa de aprendizaje (entre 0,0 y 1,0).

Dependiendo de si se siente cómodo con estas notaciones o no, puede tener problemas para imaginar cómo se entrena un perceptrón.

Tomemos algunos ejemplos.

Ejemplo

En aras de la simplicidad, supongamos que la tasa de aprendizaje es igual a 1 y que conocemos los siguientes valores.

Consideramos que solo hay una característica en el conjunto de datos para simplificar los cálculos. Aquí hay algunos ejemplos del cálculo del delta del primer peso en el perceptrón.

🔥 Recomendado:  Estudio: más de 15 estadísticas de finanzas personales que necesita saber

Puede ver que el valor de salida estimado dado por la función de activación es restado sistemáticamente del valor de salida real.

Cuando el valor estimado es igual al valor real, es igual a 0 por lo que no hay actualización.

De lo contrario, el peso debe ser actualizado.

Este es el caso de los dos últimos ejemplos. Podemos notar que la escala de valores de la entrada ? hace que la actualización del peso varíe más o menos.

En el ejemplo número 3, ? = 3, por lo que tenemos una diferencia de peso de 6, mientras que en el ejemplo número 4, ? = 0,5, por lo que la diferencia de peso es solo 1.

Inclinación

Anteriormente omití intencionalmente la explicación del sesgo para no sobrecargarlo con información.

Como se explicó anteriormente, el sesgo es un valor escalar que se suma a la entrada neta z antes de pasar por la función de activación.

Permite que el límite de decisión del perceptrón se aleje del origen, lo que puede ser útil en situaciones en las que los datos no se pueden separar linealmente.

El sesgo es una adición al perceptrón que tiene su propio peso. Este peso también se aprende durante la fase de aprendizaje.

Tasa de aprendizaje

La tasa de aprendizaje es un valor escalar que controla el tamaño del paso de las actualizaciones de peso durante el proceso de entrenamiento.

Dependiendo de su valor, los pesos se modifican más o menos cuando hay un error de predicción.

Su valor se define antes del proceso de formación. Por lo tanto, hay que tener cuidado porque su valor sigue siendo el mismo durante todo el entrenamiento.

Si establece un valor demasiado alto, el perceptrón puede excederse la solución óptima y puede no converger a una buena solución. Es decir, dará grandes pasos en el espacio de peso, lo que puede resultar en pasar el punto óptimo y terminar en una región del espacio de peso que es peor que la solución óptima.

Además, si establece su valor demasiado bajo, el perceptrón convergerá Demasiado lento, y puede llevar mucho tiempo entrenarlo. Además, podría quedarse atascado en un mínimo local y no encontrar el mínimo global.

🔥 Recomendado:  Más de 30 trabajos bien remunerados que pagan diariamente (Lista definitiva de 2023)

El valor óptimo de la tasa de aprendizaje depende de muchos factores. Es común experimentar con diferentes valores durante el entrenamiento para encontrar el que da el mejor rendimiento.

En resumen…

  • El concepto de perceptrón se remonta a los años 40 y 50.
  • Se basa en nuestra comprensión del cerebro humano.
  • Se utiliza inicialmente para la clasificación binaria.
  • Una neurona o perceptrón se activa cuando el valor de entrada neto actual pasa la prueba de función de activación. Es decir, cuando es mayor que el sesgo: theta.
  • El sesgo controla el límite de decisión del perceptrón.
  • La tasa de aprendizaje determina cuánto se ajustan los pesos en respuesta a un error de predicción.

Referencias

[1] McCulloch, WS y Pitts, W. (1943) “Un cálculo lógico de las ideas inmanentes en la actividad nerviosa”, 5(4), pp. 115–133. Disponible en: https://doi.org/10.1007/bf02478259.

[2] Rosenblatt, F. (1957) “El perceptrón: un autómata que percibe y reconoce”, Informe 85–60–1. Disponible en: https://blogs.umass.edu/brain-wars/files/2016/03/rosenblatt-1957.pdf

[3] Grove, M. y Blinkhorn, J. (2020) “Las redes neuronales diferencian los conjuntos líticos de la Edad de Piedra media y tardía en África Oriental”, , 15(8). Disponible en: https://doi.org/10.1371/journal.pone.0237528.

Espero que hayas disfrutado leyendo esto. Si desea apoyarme como escritor, considere seguirme y darme su opinión sobre mis escritos ✨.


Explicación del aprendizaje profundo: Perceptron se publicó originalmente en Hacia la IA en Medium, donde las personas continúan la conversación resaltando y respondiendo a esta historia.

Publicado a través de Hacia la IA

Tabla de Contenido