La red neuronal artificial manuscrita más fácil de entender de la historia——(1)

1. Neurona - la unidad básica del pensamiento

Sabemos que, por un lado, las computadoras son asombrosas por su velocidad, pero son impotentes para el reconocimiento de objetos y tareas complejas, por otro lado, los humanos no son tan rápidos como las computadoras, pero pueden hacer muchas cosas extremadamente complejas. Una mosca tiene alrededor de 100 000 neuronas para completar tareas complejas como volar, encontrar comida y evitar enemigos naturales. Un nematodo tiene solo 302 neuronas, pero puede realizar tareas bastante útiles, como retorcerse, pero estas tareas son difíciles de completar para una computadora rápida.

Aquí hay un gráfico de neuronas:

Consta de dendritas , cuerpo celular , axón , mielina y sinapsis en la terminal del axón .

        Imágenes de Internet

La siguiente imagen muestra el diagrama de conexión de las neuronas de Caenorhabditis elegans, es decir, la red neuronal del nematodo, lo que muestra que su estructura es bastante complicada.

 

Caenorhabditis elegans, imagen de Nature, 2019, doi:10.1038/s41586-019-1352-7.

Los biólogos han descubierto que las señales eléctricas y químicas se transmiten entre las neuronas. Por ejemplo, cuando recibe una inyección, la aguja lo lastima y la señal de la aguja se transmite a través de la piel a los nervios del cerebro. El factor de dolor de la punción solo activa los nociceptores , que se convierten en señales de dolor y se transmiten al asta dorsal de la médula espinal a través del proceso central de las neuronas del ganglio de la raíz dorsal , donde las neuronas de proyección forman una vía de conducción ascendente, que pasa a través del tronco encefálico. , tálamo, etc. El relé secundario llega a la corteza para producir la sensación de dolor. Es decir, el dolor solo puede activarse cuando el grado de pinchazo de la aguja alcanza un cierto umbral .

La siguiente imagen es una comparación entre las neuronas biológicas y las neuronas artificiales ¿Hay muchas similitudes?

Por ejemplo: una dendrita es como una entrada , un axón es como un puerto de salida , cada sinapsis terminal del axón es como una salida , y el cuerpo celular de una neurona es como una función de activación , porque la entrada de señal al cuerpo celular solo llega un cierto nivel de umbral de los cuerpos celulares solo se procesan, además de los cuerpos celulares de las neuronas pueden tener otro procesamiento.

 

                                                                La imagen proviene de Internet.

Inspirándose en las neuronas, la gente inventó las neuronas artificiales . Como se muestra en la figura a continuación, la idea básica es: las señales de todas las neuronas de entrada se superponen al mismo tiempo de acuerdo con un cierto peso, y luego la salida de la neurona se activa solo cuando la señal de suma superpuesta supera un cierto umbral.

Describe una neurona artificial con la fórmula:

salida = f(x1*w1+x2*w2+x3*w3+......+xn*wn+b)

1.salida es la salida de la neurona;

2.x1——xn es la entrada n de la neurona;

3.w1——wn es el peso de la neurona correspondiente a n entradas;

4.b es el desplazamiento afectado por el mundo exterior;

5.f es la función de activación, que es una función que puede controlar la salida;

Entonces, en esencia, una neurona artificial es una función lineal de n elementos más un procesamiento no lineal.

 

                                                                Red de origen de la imagen

2. Redes neuronales: donde sucede la inteligencia

La siguiente imagen muestra el mapa de colores de la red neuronal del cerebro humano y el diagrama esquemático del cerebro humano. Cientos de millones de neuronas forman una enorme red neuronal con varias conexiones, para que las personas estén en la cima de la sabiduría biológica.

                                                                                                                                        Red de origen de la imagen

Las redes neuronales artificiales se producen mediante la simulación de redes neuronales biológicas o humanas. La siguiente es una red neuronal artificial de 7 capas y una red neuronal artificial de 3 capas .

Las neuronas artificiales se conectan entre sí para formar una red neuronal artificial, y la señal fluye desde el extremo izquierdo hacia el extremo derecho de la red neuronal, es decir, la señal se ingresa desde la capa de entrada, pasa a través de la capa intermedia y finalmente fluye a la capa de salida .

Como se mencionó anteriormente, cada neurona es bastante conveniente para una función lineal de n elementos más un procesamiento no lineal, entonces la red neuronal artificial es una superposición múltiple de múltiples funciones lineales de n elementos más un procesamiento no lineal y un procesamiento no lineal. si lo piensas de esta manera, la red neuronal artificial es realmente algo muy complicado, que es difícil de entender para las personas, pero no tenemos que pensar tanto, tal cosa es muy útil.

 

Lo entendemos con la red neuronal artificial de dos capas más simple, como se muestra en la figura a continuación, la primera capa tiene 3 neuronas artificiales y la segunda capa tiene 2 neuronas artificiales.

El flujo de señal fluye de la primera capa a la segunda capa y finalmente sale.Se puede ver que la salida de la primera capa es la entrada a la segunda capa, por lo que

La salida de la primera neurona de la segunda capa se puede escribir como:

z1 = g(a1*w1+a2*w2+a3*w3)

La salida de la segunda neurona similar a la segunda capa se puede escribir como:

z2 = g(a1*w4+a2*w5+a3*w6)

Entre ellos, w1 es el peso de conexión entre la primera neurona de la primera capa y la primera neurona de la segunda capa , y el resto de pesos se entienden de la misma forma. Para facilitar la memoria: expresamos el peso de la conexión entre la i-ésima neurona de la primera capa y la j-ésima neurona de la segunda capa, y la salida de Nosotros la i-ésima neurona de la primera capa  ai , y la j-ésima ª neurona en la segunda capa La salida de la unidad está  zj representada por , luego la salida de la siguiente red neuronal de dos capas se puede expresar como:

z1 = g(a1*w11+a2*w21+a3*w31)

z2 = g(a1*w12+a2*w22+a3*w32)

Observe cuidadosamente estas dos expresiones, ignorando la función de activación g, se siente un poco como un sistema de ecuaciones lineales en álgebra lineal.

Sabemos que un sistema de ecuaciones lineales se puede describir mediante una matriz , entonces, ¿se puede describir mediante una matriz la salida de una red neuronal de dos capas? La respuesta es sí.

Use una matriz para describir una red neuronal de dos capas de la siguiente manera:

Abreviado como:

Inspirándose en la red neuronal de dos capas, ¿se pueden describir matrices con más capas de redes neuronales? Obviamente también es posible. Debido a que 3 capas es una extensión de 2 capas, y más capas son una extensión de 3 capas, la multiplicación de matrices puede representar una red neuronal multicapa .

 

Debido al problema de espacio, el algoritmo de la red neuronal posterior y el contenido de los parámetros se explicarán en la segunda parte, y la tercera parte describirá el código de implementación de Python de la red neuronal y la situación de entrenamiento y prueba.

Dirección de descarga del código fuente de la red neuronal manuscrita: código fuente  y datos de la red neuronal manuscrita de Python.rar_red neuronal artificial manuscrita-Python Documentation Resources-CSDN Download

La segunda dirección: la red neuronal artificial manuscrita más fácil de entender de la historia (2) algoritmo de retropropagación_Blog de redes neuronales convolucionales-CSDN Blog

Supongo que te gusta

Origin blog.csdn.net/xipengbozai/article/details/118115444
Recomendado
Clasificación