61 votos

¿Qué es el maxout en una red neuronal?

¿Alguien puede explicar qué hacen las unidades maxout en una red neuronal? ¿Cómo actúan y en qué se diferencian de las unidades convencionales?

Traté de leer el 2013 "Red Maxout" papel de Goodfellow y otros. (del grupo del profesor Yoshua Bengio), pero no lo entiendo del todo.

40voto

Avik Chatterjee Puntos 21

Una capa de máximo es simplemente una capa donde la función de activación es el máximo de las entradas. Como se indica en el documento, incluso un MLP con 2 unidades de maxout puede aproximar cualquier función. Dan un par de razones de por qué el maxout puede funcionar bien, pero la razón principal que dan es la siguiente

El abandono puede considerarse una forma de promediación del modelo en la que se entrena una subred aleatoria en cada iteración y al final se promedian los pesos de las diferentes redes aleatorias. Como no se pueden promediar los pesos explícitamente, se utiliza una aproximación. Esta aproximación es exactamente para una red lineal
En maxout, no dejan caer las entradas a la capa de maxout. Por lo tanto, la identidad de la entrada que emite el valor máximo para un punto de datos permanece inalterada. Por lo tanto, el abandono sólo se produce en la parte lineal del MLP, pero todavía se puede aproximar a cualquier función debido a la capa maxout.
Como el abandono se produce sólo en la parte lineal, conjeturan que esto conduce a un promedio de modelos más eficiente, ya que la aproximación del promedio es exacta para las redes lineales.

Su código está disponible aquí .

2 votos

Gracias. Ahora entiendo cómo hacer el maxout. Tengo algunas preguntas. (1) Así que usted no hace dropout antes de maxout a cabo de acuerdo con lo que usted escribió "En maxout, no dejan caer las entradas a la capa maxout. "? (2) ¿Qué significa la parte lineal de MLP? "Por lo tanto, el dropout sólo ocurre en la parte lineal del MLP, pero todavía se puede aproximar cualquier función debido a la capa maxout. "(3) ¿Por qué es mejor promediar? "Como el abandono ocurre sólo en la parte lineal, conjeturan que esto conduce a un promedio más eficiente del modelo, ya que la aproximación del promedio es exacta para las redes lineales".

3 votos

(1) Por lo que entiendo, un nodo de capa máxima es $\max (z_i)$ y $z_i = \sum_k x_k$ . Así, los propios nodos de entrada a la capa maxout son combinaciones lineales de los nodos de las capas inferiores. El dropout no se hace para la capa maxout o para la capa z, pero sí para las capas más profundas. (2) Por parte lineal, se refiere a las capas ocultas que sólo tienen funciones de activación lineales (3) mejor promediación como para las redes lineales, el esquema de promediación utilizado por dropout es exacto. En general las NN no son lineales pero con maxout, hacen que la mayoría de las NN sean lineales y sólo hacen dropout en la parte lineal.

1 votos

Gracias. Para (3) ¿qué significa "exacto", y por qué NN se convierte en lineal con maxout? Muchas gracias por su ayuda.

24voto

DVC Puntos 59

Una unidad maxout puede aprender una función lineal a trozos y convexa con hasta k trozos. 1

Así que cuando k es 2, puede implementar la ReLU, la ReLU absoluta, la ReLU con fugas, etc., o puede aprender a implementar una nueva función. Si k es digamos 10, puede incluso aprender aproximadamente la función convexa.

Cuando k es 2:

la neurona Maxout calcula la función $\max(w_1^Tx+b_1, w_2^Tx + b_2)$ . Tanto ReLU como Leaky ReLU son un caso especial de esta forma (por ejemplo, para ReLU tenemos $w_1, b_1 = 0$ ). La neurona Maxout goza por tanto de todas las ventajas de una unidad ReLU (régimen de funcionamiento lineal, sin saturación) y no tiene sus inconvenientes (ReLU moribundo).

Sin embargo, a diferencia de las neuronas ReLU, duplica el número de parámetros para cada neurona, lo que lleva a un elevado número total de parámetros. 2

Puede leer los detalles aquí:<br>1. <a href="https://books.google.com/books?id=omivDQAAQBAJ&amp;pg=PA188&amp;lpg=PA188&amp;dq=%22maxout%20unit%20can%20learn%20a%20piecewise%20linear,%20convex%22&amp;source=bl&amp;ots=MMM19voFUU&amp;sig=xNLwRoj-A8TBU87E7YRxu6WhNrM&amp;hl=en&amp;sa=X&amp;ved=0ahUKEwjXlv6A6OHVAhUS2WMKHST0AA0Q6AEILTAB#v=onepage&amp;q=%22maxout%20unit%20can%20learn%20a%20piecewise%20linear%2C%20convex%22&amp;f=false" rel="noreferrer">Libro DL</a><br>2. <a href="http://cs231n.github.io/neural-networks-1" rel="noreferrer">http://cs231n.github.io/neural-networks-1</a><br>

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X