Subido por Roni Domínguez

Las redes neuronales artificiales

Anuncio
Las redes neuronales artificiales (también conocidas como sistemas conexionistas)
son un modelo computacional vagamente inspirado en el comportamiento observado en
su homólogo biológico1. Consiste en un conjunto de unidades, llamadas neuronas
artificiales, conectadas entre sí para transmitirse señales. La información de entrada
atraviesa la red neuronal (donde se somete a diversas operaciones) produciendo unos
valores de salida.
Cada neurona está conectada con otras a través de unos enlaces. En estos enlaces el
valor de salida de la neurona anterior es multiplicado por un valor de peso. Estos pesos
en los enlaces pueden incrementar o inhibir el estado de activación de las neuronas
adyacentes. Del mismo modo, a la salida de la neurona, puede existir una función
limitadora o umbral, que modifica el valor resultado o impone un límite que se debe
sobrepasar antes de propagarse a otra neurona. Esta función se conoce como función de
activación.
Estos sistemas aprenden y se forman a sí mismos, en lugar de ser programados de forma
explícita, y sobresalen en áreas donde la detección de soluciones o características es
difícil de expresar con la programación convencional. Para realizar este aprendizaje
automático, normalmente, se intenta minimizar una función de pérdida que evalúa la red
en su total. Los valores de los pesos de las neuronas se van actualizando buscando
reducir el valor de la función de pérdida. Este proceso se realiza mediante la
propagación hacia atrás.
El objetivo de la red neuronal es resolver los problemas de la misma manera que el
cerebro humano, aunque las redes neuronales son más abstractas. Las redes neuronales
actuales suelen contener desde unos miles a unos pocos millones de unidades
neuronales.
Nuevas investigaciones sobre el cerebro a menudo estimulan la creación de nuevos
patrones en las redes neuronales. Un nuevo enfoque está utilizando conexiones que se
extienden mucho más allá y capas de procesamiento de enlace en lugar de estar siempre
localizado en las neuronas adyacentes. Otra investigación está estudiando los diferentes
tipos de señal en el tiempo que los axones se propagan, como el aprendizaje profundo,
interpola una mayor complejidad que un conjunto de variables booleanas que son
simplemente encendido o apagado.
Las redes neuronales se han utilizado para resolver una amplia variedad de tareas, como
la visión por computador y el reconocimiento de voz, que son difíciles de resolver
usando la ordinaria programación basado en reglas. Históricamente, el uso de modelos
de redes neuronales marcó un cambio de dirección a finales de los años ochenta de alto
nivel, que se caracteriza por sistemas expertos con conocimiento incorporado en sientonces las reglas, a bajo nivel de aprendizaje automático, caracterizado por el
conocimiento incorporado en los parámetros de un modelo cognitivo con algún sistema
dinámico.
Índice














1Historia
o 1.1Aprendizaje de Hebb
o 1.2Propagación hacia atrás y el resurgimiento
o 1.3Diseños basados en Hardware
2Mejoras desde 2006
3Modelos
o 3.1Función de red
o 3.2El aprendizaje
o 3.3La elección de una función de coste
o 3.4Paradigmas de aprendizaje
 3.4.1El aprendizaje supervisado
 3.4.2Aprendizaje no supervisado
 3.4.3Aprendizaje por refuerzo
o 3.5Tipo de entrada
4Algoritmos de aprendizaje
o 4.1Algoritmo recursivo convergente de aprendizaje
o 4.2El empleo de redes neuronales artificiales
5Aplicaciones
o 5.1Aplicaciones de la vida real
o 5.2Las redes neuronales y la neurociencia
6Potencia del cálculo
7La crítica
o 7.1Cuestiones de capacitación
o 7.2Cuestiones teóricas
8Las clases y tipos de RNAs
9Ejemplos
o 9.1Quake II Neuralbot
o 9.2Clasificador No Sesgado de Proteínas
10Galería
11Herramientas de software
12Véase también
13Referencias
14Enlaces externos
Historia[editar]
Warren McCulloch y Walter Pitts 2 (1943) crearon un modelo informático para redes
neuronales, que se llama lógica umbral, que se base en las matemáticas y los algoritmos.
Este modelo señaló el camino para que la investigación de redes neuronales se divida en
dos enfoques distintos. Un enfoque se centró en los procesos biológicos en el cerebro y
el otro se centró en la aplicación de redes neuronales para la inteligencia artificial.
Aprendizaje de Hebb[editar]
A finales de la década de 1940 el psicólogo Donald Hebb34 creó una hipótesis de
aprendizaje basado en el mecanismo de plasticidad neuronal que ahora se conoce como
aprendizaje de Hebb. Aprendizaje de Hebb se considera que es un "típico" de
aprendizaje no supervisado y sus variantes posteriores fueron los primeros modelos de
la potenciación a largo plazo. Los investigadores empezaron a aplicar estas ideas a los
modelos computacionales en 1948 con la sugerencia de Turing, que el córtex humano
infantil es lo que llamaba "máquina desorganizada" (también conocido como "máqina
Turing Tipo B").56
Farley y Wesley A. Clark7 (1954) al principio utilizaron máquinas computacionales, que
entonces se llamaban "calculadoras", para simular una red de Hebb en el MIT. Otras
simulaciones de redes neuronales por computadora han sido creadas por Rochester,
Holanda, Hábito y Duda (1956).8
Frank Rosenblatt9 10 (1958) creó el perceptrón, un algoritmo de reconocimiento de
patrones basado en una red de aprendizaje de computadora de dos capas, que utilizaba
adición y sustracción simples. Con la notación matemática, Rosenblatt también describe
circuitería que no está en el perceptrón básico, tal como el circuito de o-exclusiva, un
circuito que no se pudo procesar por redes neuronales antes de la creación del algoritmo
de propagación hacia atrás por Paul Werbos (1975).11
En 1959, un modelo biológico propuesto por dos laureados de los Premios Nobel, David
H. Hubel y Torsten Wiesel, estaba basado en su descubrimiento de dos tipos de células
en la corteza visual primaria: células simples y células complejas.12
El primer reporte sobre redes funcionales multicapas fue publicado en 1965 por
Ivakhnenko y Lapa, y se conoce como el método de agrupamiento para el manejo de
datos.131415
La investigación de redes neuronales se estancó después de la publicación de la
investigación de aprendizaje automático por Marvin Minsky y Seymour Papert (1969)16,
que descubrió dos cuestiones fundamentales con las máquinas computacionales que
procesan las redes neuronales. La primera fue que los perceptrones básicos eran
incapaces de procesar el circuito de o-exclusivo. La segunda cuestión importante era
que los ordenadores no tenían suficiente poder de procesamiento para manejar
eficazmente el gran tiempo de ejecución requerido por las grandes redes neuronales.
Propagación hacia atrás y el resurgimiento[editar]
Un avance clave posterior fue el algoritmo de propagación hacia atrás que resuelve
eficazmente el problema de o-exclusivo, y en general el problema del entrenamiento
rápido de redes neuronales de múltiples capas (Werbos 1975). El proceso de
propagación hacia atrás utiliza la diferencia entre el resultado producido y el resultado
deseado para cambiar los "pesos" de las conexiones entre las neuronas artificiales.11
A mediados de la década de 1980, el procesamiento distribuido en paralelo se hizo
popular con el nombre conexionismo. El libro de David E. Rumelhart y James
McClelland (1986) proporcionan una exposición completa de la utilización de
conexionismo en los ordenadores para simular procesos neuronales.17
Las redes neuronales, tal como se utilizan en la inteligencia artificial, han sido
consideradas tradicionalmente como modelos simplificados de procesamiento neuronal
en el cerebro, a pesar de que la relación entre este modelo y la arquitectura biológica del
cerebro se debate; no está claro en qué medida las redes neuronales artificiales reflejan
el funcionamiento cerebral.
Máquinas de soporte vectorial y otros métodos mucho más simples, tales como los
clasificadores lineales, alcanzaron gradualmente popularidad en el aprendizaje
automático. No obstante, el uso de redes neuronales ha cambiado algunos campos, tales
como la predicción de las estructuras de las proteínas.1819
En 1992, max-pooling (una forma de submuestreo, en la que se divide los datos en
grupos de tamaños iguales, que no tienen elementos en común, y se transmite solamente
el valor máximo de cada grupo) fue introducido para ayudar con el reconocimiento de
objetos tri-dimensionales.20 21 22
En 2010, el uso de max-pooling en el entrenamiento por propagación hacia atrás fue
acelerado por los GPUs, y se demostró que ofrece mejor rendimiento que otros tipos de
agrupamiento.23
El problema del desvanecimiento del gradiente afecta las redes neuronales
prealimentadas de múltiples capas, que usan la propagación hacia atrás, y también los
redes neuronales recurrentes (RNNs).2425 Aunque los errores se propagan de una capa a
otra, disminuyen exponencialmente con el número de capas, y eso impide el ajuste hacia
atrás de los pesos de las neuronas basado en esos errores. Las redes profundas se ven
particularmente afectadas.
Para vencer este problema, Schmidhuber adoptaba una jerarquía multicapa de redes
(1992) pre entrenados, una capa a la vez, por aprendizaje no supervisado, y refinado por
propagación hacia atrás.26 Behnke (2003) contaba solamente con el signo del gradiente
(Rprop)27 tratándose de problemas tales como la reconstrucción de imágenes y la
localización de caras.
Como retos anteriores en redes neuronales profundas de capacitación se resolvieron con
métodos como pre-entrenamiento no supervisado y potencia de cálculo incrementada a
través del uso de las GPU y la computación distribuida, las redes neuronales se
desplegaron de nuevo a gran escala, sobre todo en problemas de procesamiento de
imágenes y de reconocimiento visual. Esto se conoció como "aprendizaje profundo",
aunque el aprendizaje profundo no es estrictamente sinónimo de redes neuronales
profundas.
Diseños basados en Hardware[editar]
Se crearon en CMOS dispositivos de cómputo para la simulación biofísica al igual que
para la cómputo neuromórfico. Nanodispositivos28 para análisis de componentes
principales de escala muy grande y convolución pueden crear una clase nueva de
cómputo neuronal, porque son fundamentalmente analógicos en vez de digitales
(aunque las primeras implementaciones puedan utilizar dispositivos digitales).29 Ciresan
y sus cólegos (2010)30 en el grupo de Schmidhuber mostraron que, a pesar del problema
del desvanecimiento del gradiente, los GPUs hacen factible la propagación hacia atrás
para las redes neuronales prealimentadas con múltiples capas.
Mejoras desde 2006[editar]
Se han creado dispositivos computacionales en el CMOS, tanto para la simulación
biofísica como para computación neuromórfica. Los esfuerzos más recientes se
muestran prometedores para la creación de nanodispositivos31 para análisis de
componentes principales de gran escala. Si tiene éxito, se crearía una nueva clase de
computación neuronal, ya que depende de aprendizaje automático en lugar de la
programación y porque es fundamentalmente analógico en lugar de digital a pesar de
que las primeras instancias pueden ser de hecho con los dispositivos digitales CMOS.32
Entre 2009 y 2012, las redes neuronales recurrentes y redes neuronales profundas
feedforward desarrollados en el grupo de investigación de Jürgen Schmidhuber en el
laboratorio suizo de IA IDSIA han ganado ocho concursos internacionales de
reconocimiento de patrones y aprendizaje automático. Por ejemplo, la memoria bidireccional y multidimensional de largo a corto plazo (LSTM) de Alex Graves ha
ganado tres competiciones en el reconocimiento de escritura conectada en Conferencia
Internacional sobre Análisis de documentos y Reconocimiento (ICDAR) del 2009, sin
ningún conocimiento previo acerca de los tres idiomas diferentes que se pueden
aprender.
Implementaciones de este método basadas en unidades de procesamiento gráfico
rápidas, hechos por Dan Ciresan y sus colegas de IDSIA han ganado varios concursos
de reconocimiento de patrones, incluyendo la Competición de Reconocimiento de
Señales de Tráfico del 2011,33 el desafío de ISBI 2012 de segmentación de estructuras
neuronales en series de imágenes de Microscopía Electrónica,34 y otros. Sus redes
neuronales también fueron las primeras reconocedoras artificiales de patrones en lograr
un rendimiento superior al humano en los puntos de referencia importantes, tales como
el reconocimiento de señales de tráfico (IJCNN 2012) o el problema de clasificación de
dígitos escritos a mano.
Arquitecturas profundas altamente no lineales similares a las del 1980 Neocognitrón por
Kunihiko Fukushima y la "arquitectura estándar de la visión", inspirados en las células
simples y complejas identificadas por David H. Hubel y Torsten Wiesel en la corteza
visual, pueden también ser pre-formados por métodos no supervisados en el laboratorio
de la universidad de Toronto. Un equipo de este laboratorio ganó un concurso en 2012
patrocinado por Merck para el diseño de software para ayudar a encontrar moléculas
que podrían conducir a nuevos medicamentos.
Modelos[editar]
Los modelos de redes neuronales en la inteligencia artificial se refieren generalmente a
las redes neuronales artificiales (RNA); estos son modelos matemáticos esencialmente
simples que definen una función f:X→Y o una distribución más X o ambos X e Y. Pero
a veces los modelos también están íntimamente asociadas con un algoritmo de
aprendizaje en particular o regla de aprendizaje. Un uso común de la frase "modelo
ANN" es en realidad la definición de una clase de tales funciones (donde los miembros
de la clase se obtiene variando parámetros, los pesos de conexión, o específicos de la
arquitectura, tales como el número de neuronas o su conectividad).
Función de red[editar]
La palabra red en el término "red neuronal artificial" se refiere a las interconexiones
entre las neuronas en las diferentes capas de cada sistema. Un sistema ejemplar tiene
tres capas. La primera capa tiene neuronas de entrada que envían datos a través de las
sinapsis a la segunda capa de neuronas, y luego a través de más sinapsis a la tercera
capa de neuronas de salida. Los sistemas más complejos tendrán más capas, algunos
aumentando las de entrada y de salida de neuronas. Las sinapsis almacenan parámetros
llamados "pesos" que manipulan los datos en los cálculos.
Un RNA se define típicamente por tres tipos de parámetros:
1. El patrón de interconexión entre las diferentes capas de neuronas
2. El proceso de aprendizaje para la actualización de los pesos de las interconexiones
3. La función de activación que convierte las entradas ponderadas de una neurona a su
activación a la salida.
Matemáticamente, la función de red de una neurona
se define como una
composición de otras funciones
. Este se representa como una estructura de red,
con flechas que representan las dependencias entre variables.Un tipo ampliamente
utilizado de la composición es la suma ponderada no lineal , donde
, dónde k
(denominado comúnmente como la función de activación35) es una función predefinida,
como la tangente hiperbólica o función sigmoide . La característica importante de la
función de activación es que proporciona una transición suave como valores de entrada
de cambio, es decir, un pequeño cambio en la entrada produce un pequeño cambio en la
producción. Será conveniente para la siguiente para referirse a una colección de
funciones
simplemente como un vector
.
Esta cifra representa una descomposición de tales
, Con las dependencias entre las
variables indicadas por las flechas. Estos pueden ser interpretados de dos maneras.
La primera vista es la vista funcional: la entrada
dimensiones
se transforma en un vector de 3
, Que se transforma a continuación en un vector de 2 dimensiones
, Que es finalmente transformado en
. Este punto de vista se encuentra más
comúnmente en el contexto de la optimización.
El segundo punto de vista es la vista probabilístico: la variable aleatoria
de la variable aleatoria
, Que depende de
depende
, Que depende de la variable
aleatoria
. Este punto de vista se encuentra más comúnmente en el contexto de
modelos gráficos .
Grafo de dependencias ANN
Los dos puntos de vista son en gran medida equivalente. En cualquier caso, para esta
arquitectura de red en particular, los componentes de las capas individuales son
independientes entre sí (por ejemplo, los componentes de
sí, dada su aportación
ejecución.
son independientes entre
). Esto permite, naturalmente, un grado de paralelismo en la
Las redes como la anterior se llaman comúnmente alimentación hacia delante , porque
su gráfica es un grafo dirigido acíclico . Las redes con ciclos se denominan comúnmente
recurrentes . Tales redes se representan comúnmente de la manera mostrada en la parte
superior de la figura, donde
se muestra como dependiente sobre sí misma. Sin
embargo, no se muestra una dependencia temporal implícita.
Descargar