Diseño y entrenamiento de Redes Neuronales Artificiales
Enviado por Christian Alba Cisneros • 29 de Agosto de 2019 • Documentos de Investigación • 1.956 Palabras (8 Páginas) • 84 Visitas
Diseño y entrenamiento de Redes Neuronales Artificiales
El entrenamiento de las RNAs ha sido un tema explorado con algunos métodos siendo el mas popular la retropropagación hacia atrás por medio del cálculo del gradiente con un buen desempeño, pero presentado algunas desventajas como el ajuste de parámetros definidos por un experto donde cada parámetro toma una relevancia significativa para el buen desempeño de la red otra desventaja relevante es el estancamiento en mínimos locales.
Otro método para entrenamiento de las RNAs adicional al diseño son las gramáticas evolutivas, estas pertenecen a los algoritmos evolutivos, en las gramáticas evolutivas (GE) se emplean genotipo y fenotipo donde el genotipo es una cadena lineal de longitud variable que es decodificada en un árbol de derivación en el lenguaje definido por la gramática y el fenotipo es la estructura que se ejecuta directamente para producir una solución, este método brinda modelos mas robustos ya que se permite la flexibilidad en el diseño de la arquitectura a comparación del entrenamiento con el método de retropropagación que solo esta dedicado a la calibración de los pesos.
Diseño y entrenamiento de Redes Neuronales Artificiales por Metaheurísticas.
Una opción viable para el entrenamiento de RNAs son las metaheurísticas, estas nos ayudan con el entrenamiento y el diseño ya que normalmente se ocupa un humano experto de definir su arquitectura, así mismo con la elección de una función de transferencia y algunos otros parámetros, en el trabajo de (28) explora nuevos métodos para diseñar automáticamente RNAs utilizando el algoritmo de Evolución Diferencial (ED). Esta metodología brinda soluciones comparables al de retropropagación atrás, pero con la habilidad de encontrar la arquitectura adecuada con conexiones entre neuronas parcialmente conectadas, funciones de transferencias y pesos sinápticos.
Las redes neuronales artificiales (RNAs) son modelos computacionales utilizadas para resolver muchos tipos de problemas como reconocimiento de patrones \cite{Zhang2000} (imágenes, voz, caracteres) o para predicción de clima \cite{Ojha2017} o ambito bursátil, así también como para generadores de texto, traducción de idiomas, conducción autónoma entre muchos otros estas representan una herramienta indispensable en el area de Inteligencia Artificial. En \cite{Kohonen1988}, Kohonen describe: “Las redes neuronales artificiales son redes interconectadas masivamente en paralelo de elementos simples (usualmente adaptativos) y con organización jerárquica, las cuales intentan interactuar con los objetos del mundo real del mismo modo que lo hace el sistema nervioso biológico”. Este tipo de modelos matemáticos están basados en la dinámica cerebral de los seres vivos, Ramón y Cajal \cite{Ramon1910}demuestra que el sistema nervioso se compone de celulas individuales llamadas neuronas, para el caso tenemos estas neuronas que son las unidades básicas de procesamiento que trabajan conjuntamente dando estructuras más grandes y complejas con el fin de aprender, cada RNA tiene una arquitectura que contiene principalmente tres componentes: unidades computacionales, enlaces de comunicación y tipo de mensaje \cite{Judd1990}.
Se pueden distinguir tres generaciones de las RNA según sus unidades informáticas la primera generación puede resolver problemas digitales y se basa en unidades de umbral tales como el perceptrón \cite{Rosenblatt1957}, la segunda problemas analógicos estas están basadas en unidades con funciones de activación como la función sigmoide, estas RNAs pueden ser entrenador por algoritmos de descenso de gradiente tal como Back-Propagation (Retro propagación hacia atrás), algoritmos evolutivos entre otros\cite{Rumelhart1988} y la tercera problemas espacio temporales, cada siguiente generación tiene la capacidad de resolver los problemas de su antecesora.
La creación de una RNA requiere la experiencia de un humano que defina su arquitectura, regla de aprendizaje entre otros parámetros independientemente del problema que se requiera resolver, esta tarea es de vital importancia ya que el buen funcionamiento de una red está fuertemente relacionada con su diseño, todos estos aspectos de las redes son implementados sin un método científico establecido ya sea por ensayo y error o por experiencia del propio humano esto nos lleva a que no se explore otras arquitecturas que pudieran dar buenos resultados.
Las RNAs de segunda generación está compuesta con diferentes capas estas son la capa de entrada la cual se encarga de recibir la información del entorno o problema a resolver, la capa oculta donde la información es procesada y la capa de salida la cual entrega un patrón asociado al patrón de la entrada estas capas contienen todas las neuronas de la red y están conformadas por pesos sinápticos, un sesgo (bias) y una función de activación, esto nos da por resultado la conexión de varias neuronas para construir modelos más complejos \cite{Simon1999} donde las neuronas alimentaran a otras hasta conseguir una salida, dependiendo del tipo de arquitectura de la red la información puede ir hacia adelante en un único sentido (14) o ser recurrente de forma que la información fluye en ambos sentidos originando posibles retroalimentaciones en la propia neurona (15).
Existen tres tipos de aprendizaje para una RNA, el aprendizaje supervisado consiste en que la red conoce la salida esperada y con base a esta podemos medir el error proporcionad por la red, el aprendizaje no supervisado no cuenta con una salida esperada por lo cual la red trabaja solamente con la información de entrada clasificando con las características comunes de los patrones y el aprendizaje por refuerzo donde solo se deja ver a la red si acertó o no pero no se le muestra el valor esperado de salida, las RNAs utilizan un mecanismo de aprendizaje en una fase llamada entrenamiento donde se optimizan los pesos sinápticos de cada conexión en la red en base a un conjunto patrones, cuando la RNA es entrenada puede recibir diferentes patrones a los ya conocidos previamente y generar un resultado acorde a lo aprendido, en esta fase de entrenamiento la información que se le da a la capa de entrada fluye hacia las siguientes capas sufriendo modificaciones en base a los pesos sinápticos de cada conexión y transformada por cada función de transferencia hasta terminar el entrenamiento, en la presente investigación de opto por el método de clasificación supervisada.
...