• No se han encontrado resultados

Unidades Ocultas y Activaciones

In document Redes neuronales artificiales (página 37-39)

2. Mejorando el Aprendizaje de la Red Neuronal

2.3. Unidades Ocultas y Activaciones

En principio hemos construido nuestra red neuronal basada en unidades sigmoides, y de acuerdo al teorema de representaci´on para redes neuronales, una red basada en este tipo de neuronas puede aproximar cualquier funci´on continua sobre un compacto [2, 3]. Sin embargo, en la pr´actica, redes neuronales basadas en otro tipo de unidades pueden presentar un mejor rendimiento. Dependiendo de la aplicaci´on, reemplazar la activaci´on sigmoide puede permitir a la red aprender m´as r´apido, generalizar mejor, o ambas.

Una de las alternativas para la unidad sigmoide ya la vimos, y es la neurona tanh, la cual nos permiti´o, combinada con una inicializaci´on apropiada, mejorar notablemente la velocidad de aprendizaje de la red. Esta neurona est´a estrechamente relacionada con la sigmoide. Para ver esto, basta con calcular

1 + tanh(z/2) 2 = 1 2 1 + e z/2e−z/2 ez/2+e−z/2 = 1 2 ez/2+e−z/2+ez/2e−z/2 ez/2+e−z/2 = e z/2 ez/2+e−z/2 = 1 1 +e−z =σ(z). (2.30)

Por lo tanto, la activaci´on tanh no es m´as que una versi´on reescalada de la activaci´on sigmoide. Tambi´en se puede apreciar la similitud comparando las figuras 3b y 12. Una ventaja de la tangente hiperb´olica frente la sigmoide es que se parece m´as a la identidad cerca del 0, en el sentido de que tanh(0) = 0 y tanh0(0) = 1, mientras que σ(0) = 1/2 y σ0(0) = 1/4. Esto hace que entrenar una red neuronal utilizando unidades tanh sea similar a entrenar un modelo lineal, siempre que las activaciones se mantengan peque˜nas, lo cual hace el entrenamiento m´as f´acil.

Pese a que para nuestro problema ambos tipos de activaciones han tenido un rendi- miento satisfactorio, estas sufren de un problema importante en el contexto m´as general de redes neuronales, y es la tendencia a saturarse en la mayor parte del dominio, tanto si la magnitud de su entrada z es muy alta como tambi´en si es muy baja, siendo m´as sensibles solo cuandoz se encuentra cerca de 0. Esta tendencia hace que en muchos otros problemas el aprendizaje basado en gradiente se vuelva dif´ıcil y es por esta raz´on que hoy en d´ıa se suelen usar otras activaciones para las unidades ocultas. Por otra parte,

su uso para las unidades de salida es compatible con el aprendizaje basado en gradiente cuando se combinan con una funci´on costo que elimina el fen´omeno de saturaci´on sobre la capa de salida, que es precisamente lo que hicimos al introducir la entrop´ıa cruzada como funci´on costo en la secci´on 2.1.

Para combatir el problema presente en las unidades sigmoides y tanh es com´un utilizar hoy en d´ıa las unidades rectificadas lineales (ReLU) y sus generalizaciones. La activaci´on utilizada en las ReLU se define como

g(z) = m´ax{0, z}. (2.31) Est´as unidades son f´aciles de optimizar porque son similares a las unidades lineales, haciendo que los gradientes se mantengan grandes siempre que la unidad est´e activa.

−6 −4 −2 0 2 4 6 0 1 2 3 4 5 Figura 14: ReLU

Dado que la activaci´on suele aplicarse sobre una transformaci´on af´ın (como hemos hecho hasta ahora), resulta conveniente inicializar los sesgos a un valor positivo peque˜no como 0.1, para as´ı asegurarse de que las ReLU est´en activas para la mayor parte de las entradas del conjunto de entrenamiento y obtener se˜nal en los gradientes.

Al utilizar las ReLU se elimina el problema de saturaci´on que se pod´ıa observar en las unidades sigmoides, pero por otra parte estas no pueden aprender cuando su entrada es negativa, dado que en ese caso el gradiente se desvanece. De hecho, algo que puede ocurrir durante el entrenamiento al utilizar este tipo de unidades es que caigan en estados donde quedan desactivadas para cualquier entrada, y al ser cero el gradiente estas no pueden recuperarse, quedando efectivamente “muertas”. Para remediar este inconveniente existen varias generalizaciones de estas unidades. Una alternativa es usar una pendiente distinta de cero cuando zi <0, quedando la activaci´on de la forma

ai =g(z, α)i = m´ax(0, zi) +αim´ın(0, zi). (2.32) Si fijamos αi a un valor peque˜no como 0.01 obtenemos las que se conocen como leaky ReLU. Por otra parte, se puede tratar αi como un par´ametro que se aprende, de la misma manera que los pesos y los sesgos. En ese caso estamos en presencia de las ReLU param´etricas.

Otra posibilidad es la utilizaci´on de las unidadesmaxout. Estas llevan la generalizaci´on de las ReLU un paso m´as all´a, ya que lo que hacen es calcular, dada una entrada x,

hi(x) = m´ax

j∈[1,k]zij, (2.33)

donde

zij =Wij:x+bij, (2.34)

y W ∈Rd×m×k y b

Rm×k son par´ametros que se aprenden. Notemos, a modo de com- paraci´on, que hasta ahora lo que hac´ıamos era calcular zi =Wi:x+bi y luego aplicarle la activaci´on, mientras que ahora estamos calculandok funciones lineales distintas para una entrada x, qued´andonos luego con el m´aximo en cada una de las componentes. Lo que estamos diciendo con esto es que la unidad maxout puede describir una funci´on lineal a trozos, con hastakpiezas. Esto permite que durante el entrenamiento la red pueda apren- der cual es la funci´on de activaci´on que deber´ıa usar, siendo posible aproximar cualquier funci´on convexa con tal de tomar k lo suficientemente grande. En particular, se puede ver que una capa maxout con dos piezas puede aprender a implementar una activaci´on ReLU, Leaky ReLU o ReLU param´etrica, pero tambi´en puede aprender funciones com- pletamente distintas. Por otra parte, el problema que surge con las unidades maxout es que presentankveces la cantidad de par´ametros que si se usara una activaci´on convencio- nal, haci´endolas computacionalmente m´as costosas y siendo necesaria m´as regularizaci´on para prevenir el overfitting (el concepto de regularizaci´on se trata m´as adelante, en la secci´on 3).

In document Redes neuronales artificiales (página 37-39)