Referencias | References


Referencias completas de vocabulario, eventos, crónicas, evidencias y otros contenidos utilizados en los proyectos relacionados con biotecnología y neurociencia de la KW Foundation.

Full references of vocabulary, events, chronicles, evidences and other contents used in KW Projects related to biotechnology and neuroscience.


Actualmente ordenados Por fecha de actualización (ascendente) Buscar cronológicamente: Por fecha de actualización cambiar a descendente | Por fecha de creación

Página: (Anterior)   1  ...  96  97  98  99  100  101  102  103  104  105
  TODAS

Logo KW

Red Neural [1778]

de System Administrator - jueves, 10 de agosto de 2017, 15:11
 

Red Neural

 

por Mahsa Hassankashi | Traducido automáticamente con Google, contiene errores

Este artículo proporciona una explicación simple y completa de la red neuronal con un ejemplo práctico. Usted leerá aquí qué es lo que sucede exactamente en el cerebro humano y también en la aplicación artificial.

Introducción

Hoy en día los científicos están encontrando poder del cerebro humano y tratan de imitar de él para resolver y analizar grandes problemas de datos. 

Sentí la falta de un artículo comprensivo que explicaba de forma fácil, muestra y claro además de práctico sobre la red neuronal (NN) y también necesitaba saber cómo funciona el cerebro humano biológicamente.Tuve muchas preguntas que quedaron sin respuesta y siempre tuve ambigua para averiguar cualquier detalle sobre NN.   Mis preguntas que quiero discutir sobre ellas: 

1. ¿Cómo funcionan las células cerebrales humanas exactamente?

Para entender que cómo funciona la red neuronal, es mejor mirar la operación del cerebro humano. Hay aproximadamente 10 11 neuronas dentro del cerebro que están altamente conectadas entre sí. Cuando ves a un animal por ejemplo gato, ingresas sus características (tamaño, color, forma) por tus ojos a tu cerebro y luego, esta información de entrada será calculada por pequeñas células llamadas neuronas que son responsables de procesar cosas en tu cerebro. Neuronas en primer lugar buscar en sus otras imágenes de los gatos que usted ha visto antes y hacer una comparación con sus imágenes de gato anterior en su memoria y nuevo gato, esta comparación que es un fundamental del proceso de aprendizaje supervisado ha hecho de su cerebro como una herramienta para la analogía, Por eso los seres humanos tienden a compararlo todo. 

  

Usted puede procesar 20 Mb por segundo sólo con la ayuda de su sentido óptico y es impresionante porque es independientemente de sus habilidades para aprender algo o para detectar la voz de alguien o su capacidad auditiva. Supongamos que tener una escala mucho menor de este enorme sistema cuánto puede resolver hoy en día problemas en diferentes áreas y dominios. Por ejemplo, hacer una porción muy pequeña de las características del cerebro puede resolver problemas en el habla y el reconocimiento de la cara o la imagen, el análisis de sentimientos y la opinión o la lectura de la emoción, conducir un coche automáticamente o incluso el diagnóstico de la enfermedad. 

Hay una célula neuronal en la imagen de abajo. Por favor, lea de izquierda a derecha. Las dendritas son responsables de recibir información y núcleo es donde se procesan los datos y el resultado se pasará de axón a terminado de dendritas de la cola de la neurona. La estructura total de una de estas neuronas en la inteligencia artificial se llama perceptron. Otra célula neuronal en el lado derecho obtendrá el resultado de la neurona del lado izquierdo con la ayuda de algunas sustancias químicas que causan el fuego y encender para enviar y transferir datos a otras células y la salida de la neurona del lado izquierdo es tal como la entrada para la derecha Neurona lateral y toda esa historia de proceso sucederá en las células siguientes.Por lo tanto 10 10 neuronas en el cerebro están colaborando para alcanzar su propia meta para cada proceso. Suponga cuántos procesos por día tiene que analizar para manejar su vida. El cerebro hace todas ellas sin mucho agotamiento. Al final del día solo necesitas 7 horas para enfriar estas pequeñas celdas. Neurocientista descubrió que más aprendizaje puede hacer que sus dendritas mush más fuerte, porque encender o disparar la conexión entre sus células es una práctica que es casi como hacer ejercicio para sus músculos. Por lo tanto, alguien que intenta mantener su propia rutina de estudio tiene menos probabilidades de contraer la enfermedad de Alzheimer. Porque encender o disparar la conexión entre sus células es una práctica que es casi como hacer ejercicio para sus músculos. Por lo tanto, alguien que intenta mantener su propia rutina de estudio tiene menos probabilidades de contraer la enfermedad de Alzheimer.Porque encender o disparar la conexión entre sus células es una práctica que es casi como hacer ejercicio para sus músculos. Por lo tanto, alguien que intenta mantener su propia rutina de estudio tiene menos probabilidades de contraer la enfermedad de Alzheimer.

 

2. ¿Cómo hicimos NN a partir de células neuronales - Propagación hacia adelante?

En la imagen inferior se ve un perceptron simple y su funcionamiento y cómo calculamos su salida. En primer lugar hay  dos entradas como X 1 X 2 , y luego hay pesos para cada conexión al nodo. Toda la unidad de procesamiento es el nodo ya pesar de los sistemas informáticos que tienen unidad de procesamiento compleja, en NN hay unidad simple para procesar. Multiplicamos X y peso y luego sumamos todo el peso de X * y aplicamos la función de activación en el valor del resultado y la salida final es la respuesta del perceptron.

  

Toda la historia en el párrafo anterior se denomina propagación directa en la red neuronal. Pero de hecho usamos más nodos y capas múltiples para el aprendizaje NN. He mencionado que en nuestro cerebro hay miles de millones de capas y debido a ese enorme sistema que podemos ser como un ser humano hoy en día. Por lo tanto, para tener un mejor aprendizaje usamos más capas. Casi puede garantizar la mejora de los resultados en el aprendizaje o la formación en NN. Hay dos capas ocultas como azul claro en la imagen de abajo. El cálculo para cada nodo de capa oculta ocurrirá como un perceptron simple. 

   

3. ¿Cuál es el papel del peso en NN? 

Peso se refiere a la fuerza de la conexión entre los nodos. Valor sin signo (sin +, -) de peso depende de cómo los nodos tienen poder para conectarse entre sí. Puede ser positivo o negativo. Positivo significa que es más probable que transmita a otros nodos y negativo es viceversa. En el punto de inicialización seleccionamos el peso al azar pero para tener un mejor resultado es mejor normalizar los datos de entrada como sigue, X es datos de entrada:

  

Debido a que nuestra función de activación en este artículo es sigmoide, hay una forma abreviada de seleccionar aleatoriamente nuestro valor de peso en un rango específico. Por debajo de la fórmula depende de la distribución uniforme, que sigue siendo su lógica no expresada aquí y se extenderá en el próximo artículo.

 

Referencia para la selección del rango de peso: Tutoriales de Aprendizaje Profundo; Glorot y Bengio (2010)  

He mencionado que NN es altamente interconectado y el elemento más valioso que hace que esta conectividad es el peso. Seleccionamos el peso al azar en la primera fase. Calculamos la propagación hacia delante y luego hacemos una comparación de que cuánto valor de salida está lejos de nuestro valor real o etiqueta que es "Y" en el conjunto de datos de entrenamiento. Entonces hacemos la propagación hacia atrás , que hace el cálculo en la trayectoria inversa. El avance es de izquierda a derecha pero la propagación posterior es de derecha a izquierda para optimizar y ganar nuevo peso para mejorar la próxima salida y si la siguiente salida tiene menos diferencia de "Y" en lugar de salida anterior, nos muestra que estamos en la derecha dirección. Por lo tanto, el peso es una herramienta para conectar nodos entre sí y un factor para entrenar NN por tener menos error. 

Para tener la mejor comprensión sobre el papel del peso en NN, le invito a leer mi artículo sobre el "Aprendizaje de la máquina y el descenso del gradiente". El peso en NN es casi algo cercano a la pendiente "a" en la línea de predicción Y , Y = aX + b, ya que teníamos exacta "a" podríamos encontrar una mejor línea de predicción para clasificar nuestros datos, aquí en peso NN es también un factor tal Como "a" y nos esforzamos por encontrar su valor con precisión para tener una clasificación más precisa. 

 4. ¿Cuál es la palabra coincidente para el peso en la neurona biológica?

Todo en nuestras estructuras NN está inspirado en el cerebro humano. Por lo tanto, valor sin signo para el peso significa: conexión dendrítica entre neuronas + conteo de sinapsis entre dendritas + terminales pre y post sinápticas + forma de hueco entre neuronas + intensidad de fusión y la última pero no menos importante es mielinización. 

La mielinización es sustancia blanca y grasa alrededor del axón de las células neuronales y es tal como vaina o protector para ellos. En la imagen de abajo, la propagación en la neurona derecha con mielinización es mucho más rápida que la neurona izquierda sin vaina debido a la conducción saltatoria. Rápida y más propagación y sinapsis juegan un papel importante para tener un mejor aprendizaje en nuestro cerebro.Actividad de la Imagen de Resonancia Magnética Funcional - FMRI - en alguien con mejor función en el cerebro tiene más sinapsis con más puntos rojos. 

Por lo tanto, el peso en NN es igual que la combinación de los factores anteriores biológicamente. 

Https://en.wikipedia.org/wiki/Myelin

5. ¿Cuál es el papel de la función de activación en NN?

Quiero traer un ejemplo como introducción para la polarización y estabilizar en matemáticas. Para tener un cómputo fácil necesitamos algunos valores de polarización especialmente los decimales. Por ejemplo, tenemos 1.298456 y sólo necesitamos un número como decimal, con el fin de redondear y polarizar y tener un cómputo fácil y rápido convertimos 1.298456 a 1.3 porque el número después de 2 en decimal es 9 y es más de 5 por lo que convertir 2 A 3. En estos casos, los valores de redondeo pueden ayudar a tener un valor y resultado más elegante.

En NN queremos distinguir y predecir mejor. Así, las funciones no lineales tienen más redondeo y flexión como abajo cuadro. En comparación con las funciones lineales y no lineales, es obvio que la no lineal tiene más precisión para predecir y tener una mejor línea de decisión de límites para categorizar entre dos clases diferentes.

En el descenso de gradiente se utilizó "Algunos Squared Error SSE", pero la función de activación de NN debe ser la función no lineal, como exponencial o tangente y también debe ser diferenciable, ya que en la propagación hacia atrás, tenemos que encontrar el mínimo global y, Realiza descenso en pendiente. Por favor, lea el artículo sobre el descenso gradiente con este enlace .

Suma de errores cuadrados (SSE) = ½ suma ( Y real - Y predicho 2

  

SSE mide el valor de las diferencias entre todo el Y actual , Y predicho  y para tener la mejor línea de la predicción en vez de la línea azul en encima de la imagen diferenciamos SSE y calculamos la nueva pendiente para esta línea. 

Puede seleccionar una de las siguientes funciones como su función de activación. Para referencia, consulte este enlace.

 

6. ¿Cuál es la palabra coincidente para la función de activación en la neurona biológica? 

La función de activación en NN también se denomina función de transferencia. La función de transferencia en NN produce la salida final de los nodos según sus propias entradas. En la función de activación biológica se llama como potencial de acción que se relaciona con cómo las señales o el valor viajan en el axón. La sustancia química hace el encendido eléctrico y la infusión de la neurona y luego su axón para sacudir y empujar la señal en sólo una dirección de la neurona. Es un pulso auxiliar y su objetivo final es producir resultados para la neurona impulsiva actual. Para referencia, consulte este enlace.

   

7. ¿Cómo funciona la propagación posterior? 

Con el fin de resumir todos los conceptos anteriores, quiero dividir la propagación hacia atrás en varios pasos como sigue: 

* En los pasos iniciales hay conjunto de datos de entrenamiento que tiene una o más columnas para X como entrada y una etiqueta como Y que debe ser leída y considerada, por lo que se definen los números de capas de entrada y salida. 

* Necesitamos seleccionar el número de capas ocultas; La cantidad de capas ocultas muestra la profundidad del aprendizaje. Las capas más ocultas pueden imitar mejor el cerebro humano y mejorar su precisión. Pero la cuestión más importante es que las capas más ocultas necesitan más cálculo, especialmente en la propagación hacia atrás y consume más memoria. 

* Después de la definición de capas ocultas, necesitamos valores de pesaje que se seleccionan al azar con Gaussian y hay fórmula que he explicado en la tercera sección de este artículo "¿cuál es el papel de peso en NN?" 

Propagación hacia adelante para alcanzar el valor de salida: 

* Cada capa tiene un nodo y asumo dos valores para ellos, primero es sin aplicar la función sigmoide llamada "Input_sigma" o "hidden_ ​​sigma" y la siguiente es con la función sigmoide como "node_declarado", "output_node". Luego comenzamos el cálculo de izquierda a derecha para propagación hacia adelante. 

(1) Input_sigma = input_node * peso_1 

(2) hidden_node = Sigmoid (input_sigma) 

(3) hidden_sigma = nodo_culto * peso_2 

(4) Sigmoid (hidden_sigma) = nodo de salida 

(5) margin_error = esperado - output_node 

Propagación hacia atrás para alcanzar un mejor peso: 

* En retroceso porque necesitamos un valor óptimo para que nos diferenciemos de la función sigmoide e ir inversamente de derecha a izquierda, con el fin de encontrar un nuevo valor para los pesos. 

(6) output_node '= Sigmoid' (hidden_sigma) * margen 

(7) weight_2 '= (nodo_salida' / nodo_culto) + peso_2 

(8) nodo_culto '= (nodo_saída' / peso_2) * Sigmoide '(input_sigma) 

(9) weight_1 '= (nodo_incluido' / input_node) + peso_1 

(10) Nuevamente repetimos los pasos 1 a 5 con nuevos pesos y el valor de comparación de errores de margen actuales y errores de margen anteriores si el error actual es menor que el anterior, por lo que nos muestra que estamos en la dirección correcta. 

(11) Repetimos los pasos 1 a 10 hasta que el error de margen esté cerca de nuestro "Y". 

 

8. ¿Cuál es la lógica matemática exacta detrás de BP NN? 

La propagación hacia atrás realiza como el descenso del gradiente y necesitamos tener diferenciación de nuestra función de activación que aquí es función sigmoide. Describí cómo se calcula:

  

XOR es una muestra más simple para probar nuestra primera red neuronal. Hay una mesa XOR con dos entradas y una salida: 

 

Quiero implementar la siguiente fila en XOR que es (1, 1) = 0. 

Y es 0 y la salida es 0,68. Así que el error de margen es -0,68.

  

9. ¿Cómo codificar implementar la propagación posterior? 

Archivo de ejecución: 

De acuerdo con toda la explicación anterior, quiero implementarla en Matlab. En primer lugar, creé el archivo execution.m para llamar a la función de predicción. 

%% Machine Learning -  Neural Networks  - Simple Example

%% Initialization
clear ; close all; clc

input_node = [1 1]; %1*2

% Generate Weight By Gausian Distribution
Weight_1 = [ -0.5 1.01  0.23 ; -0.32 -0.24 -0.12 ]; %2*3
Weight_2 = [ 0.15 1.32 -0.37 ]; %1*3
pred = mypredict(Weight_1, Weight_2, input_node);
fprintf('\Final Output Backward Propagation: %f\n', perd);
Archivo de predicción:

Entonces escribí "myprerdict.m" que más código va a pasar allí: 

function p = mypredict(Weight_1, Weight_2, input_node)

%Forward Propagation
input_sigma = input_node*Weight_1;
hidden_node = sigmoid(input_sigma); % 1*3
hidden_sigma = hidden_node*Weight_2';
output_node = sigmoid(hidden_sigma);

for jj=1:1000
    %sigmoid' = f(x)(1-f(x))
    %output_node_prime = s'(inner_sigma)*margin
    if jj>1
        Weight_2 = Weight_2_prime;
        Weight_1 = Weight_1_prime;
    end
        margin = 0 - output_node;
        sigmoid_prime_hidden_sigma = sigmoid(hidden_sigma);
        output_node_prime = (sigmoid_prime_hidden_sigma *(1-sigmoid_prime_hidden_sigma))*margin;
       
        delta_weight = (output_node_prime)./hidden_node; % 1*3
        Weight_2_prime = Weight_2 + delta_weight;
               
        sigmoid__prime_input_sigma = sigmoid_derivative(input_sigma);
        mydivide = output_node_prime./Weight_2;
        hidden_node_prime = zeros(1,3);
        hidden_node_prime(1,1) = mydivide(1,1) * sigmoid__prime_input_sigma(1,1);
        hidden_node_prime(1,2) = mydivide(1,2) * sigmoid__prime_input_sigma(1,2);
        hidden_node_prime(1,3) = mydivide(1,3) * sigmoid__prime_input_sigma(1,3); 
  
        delta_weight_2 = hidden_node_prime'*input_node;

        Weight_1_prime = Weight_1 + delta_weight_2';

        input_sigma = input_node*Weight_1_prime;
        hidden_node = sigmoid(input_sigma); % 1*3
        hidden_sigma = hidden_node*Weight_2_prime';
        output_node = sigmoid(hidden_sigma);
end

p = output_node;

end
Sigmoide Función:
function y = sigmoid(x)

y = 1.0 ./ (1.0 + exp(-x));

end
Sigmoid_derivative:
function y = sigmoid_derivative(x)

 %sigmoid' = f(x)*(1-f(x))

 sigmoid_helper_2 = zeros(1,3);
    for i=1:3
        a= x(1,i);
        sigmoid_helper_2(1,i)= sigmoid(a)*(1-sigmoid(a));
    end
 y = sigmoid_helper_2;
       
end

Puntos de interés

He encontrado la red neuronal muy emocionante, creo que podemos llamarla madre de la inteligencia artificial.

La mayoría de las ventajas y desventajas de NN es que: 

  • 1. Después de normalizar su conjunto de datos y selección de características, usted tendrá la mejor respuesta en el gran conjunto de datos de entrenamiento. 
  • 2. El rendimiento y la precisión depende del peso, pero si lo selecciona en el rango correcto, será perfecto. 
  • 3. Debido a backpropagation consume memoria más que otra manera. 

Link: https://www.codeproject.com

 


Página: (Anterior)   1  ...  96  97  98  99  100  101  102  103  104  105
  TODAS