Es una investigación que ha realizado sobre: Técnicas para mejorar la forma en que las redes neuronales aprendan de los errores más rápidamente. Las técnicas utilizadas con sus formulas y laboratorios llevado adelante para verificar la sostenibilidad del proyecto y viabilidad logrando resultados asombrosos
Perfiles NEUROPSI Atención y Memoria 6 a 85 Años (AyM).pdf
Mejores Tecnicas en Redes Neuronales
1. ¿Cómo mejorar la forma en que las
redes neuronales aprendan de los
errores rápidamente?
La técnica o metodología que utilizaremos, es la conocida como la función
de costo de Entropía Cruzada.
Por supuesto, con esta técnica solo cubrimos una de las muchas hoy
existen; muchas técnicas de las que se han desarrollado para su uso en
redes neuronales. La filosofía y/o secreto es que la mejor entrada a la gran
cantidad de técnicas disponibleses el estudio en profundidadde algunasde
las más importantes. Con esto podrá profundizar su comprensión de los
problemas que pueden surgir cuando usa redes neuronales.
Con este artículo logrará quedar preparado para aprender rápidamente
otras técnicas, según lo requiera.
La función de costo de entropía cruzada:
Idealmente, esperamos que nuestras redes neuronales aprendan
rápidamente de sus errores. ¿Es esto lo que sucede en la práctica? Para
2. poderles responder a esta pregunta, veamos un ejemplo. El ej. involucra
una neurona con solo una entrada:
Entrenaremos a esta neurona para que haga algo muy sencillo: llevar la
entrada a la salida 0. Por supuesto, esta es una tarea tan trivial que
podríamos descubrir fácilmenteun peso y un sesgo apropiados a mano, sin
utilizar un algoritmo de aprendizaje. Sin embargo, resulta interesante usar
el descenso en forma de degradé para intentar aprender un peso y un
sesgo. Así que démosle un vistazo a cómo aprende nuestra neurona.
En este caso elegiremos el peso inicial y el sesgo inicial para que tome un
valor igual a 0,9. Estos valores son tomados referencialmente para
comenzar a aprender, no fueron elegidos para que fueran especiales de
ninguna manera. La salida inicial de la neurona es 0,82, por lo que se
necesitará bastante aprendizajeantes de que nuestra neurona se acerque
a una salida deseada con valor 0.
La tasa de aprendizajees η=0.150.60.60.90.90.820.820.00.00.00.0η=0,15
El costo es la función de costo cuadrático, más adelante estaremos
publicando la forma exacta de la función de costo, por lo que no hay
necesidad de buscar la definición.
Como podrán notar, nuestra neurona aprende rápidamente, con un peso y
sesgo que reduce el costo y genera un rendimiento de la neurona
considerablemente precisa. Pero esa no es la salida deseada, 0,09, pero no
3. podemos precisar que es perfecta, sino que es bastante
buena. Supongamos, sin embargo, que en su lugar elegimos que tanto el
peso inicial como el sesgo inicial sean 2,0. En este caso, la salida inicial
es 0,98, lo cual no es una buena salida y eso es malo.
Aunque este ejemplo usa la misma tasa de aprendizaje, podemos observar
que el aprendizaje comienza mucho más lento. De hecho, durante las, los
pesos y sesgos no cambian mucho. Luego, comienza el aprendizaje e igual
que en nuestro primer ejemplo, la salida de nuestra neurona se acerca
rápidamente a 0,0.
η=0.15η=0.150.0
Este comportamiento es extraño en contraste con el aprendizaje
humano. Por lo general, a menudo aprendemos más rápido cuando
estamos muy equivocados acerca de algo. Pero acabamos de ver que
nuestra neurona artificial tiene muchas más dificultades para hacerlo
cuandoestá muy mal, es decirtienemucha másdificultadquecuandoestá
un poco mal. Además, resulta queeste comportamiento ocurreno solo en
este modelo, sino en redes más generales. ¿Por qué el aprendizajees tan
lento? ¿Y podemos encontrar una manera de evitar esta desaceleración
en el aprendizaje?
Para comprender el origen del problema, considere que nuestra neurona
aprende cambiando el peso y el sesgo a una tasa determinada por las
derivadas parciales de la función de costo, y ∂C/∂b.
El desafío es entender por qué “El aprender para una neurona es lento”,
para entender eso, calculemos las derivadas parciales. Recuerde que
estamos usando la función de costo cuadrático, que es la ecuación que
4. viene dada por ∂C/∂w, ∂C/∂w, ∂C/∂b, ∂C/∂b donde a es la salida de la
neurona cuando se usa la entrada de entrenamiento x=1, e y=0, es la salida
deseada correspondiente. Para escribir esto más explícitamente en
términos de peso y sesgo, recuerde que a=σ(z), donde z=wx+b. Usando la
regla de la cadena para diferenciar con respecto al peso y al sesgo que
obtenemos.
ax=1, x=1, y=0, a=σ(z), z=wx+b donde he sustituido x=1 e y=0. Para
comprender el comportamiento de estas expresiones, veamos más de
cerca el término σ′(z)enel lado derecho. Recordemosla forma dela función
σ:
Podemos ver en este gráfico que cuando la salida de nuestra neurona es
cercana a a, la curva se vuelve muy plana, por lo que σ′(z) se vuelve muy
pequeña. Las ecuaciones expuestas anteriormente nos dicen
que ∂C/∂w y ∂C/∂b se vuelven muy pequeñas. Este es el origen de la
desaceleración delaprendizaje.Además,como veremosun pocomás tarde,
la ralentización del aprendizaje ocurre esencialmente por la misma razón
5. en redes neuronales más generales, no solo en este ejemplo con el que
hemos estado exponiendo.
Según todo lo demostrado presentamos la función de costo de
entropía cruzada:
¿Cómo podemos corregir la desaceleración del aprendizaje de nuestra
neurona? Resulta que podemos resolver el problema reemplazando el
costo cuadrático con una función de costo diferente, conocida como
entropía cruzada. Para entender la entropía cruzada, alejémonos un poco
de nuestro modelo expuesto anteriormente. En su lugar, supondremos que
estamostratando de entrenar una neurona con variasvariablesde entrada,
los pesos correspondientes w1,w2,... , y un sesgo, b : x1,x2,….
La salida de nuestra neuronaes dondez=∑jwjxj+b,esla suma ponderadade
las entradas. Definimos la función de costo de entropía cruzada para esta
neurona por a=σ(z), z=∑jwjxj+b, donde n es el número total de elementos
de datos de entrenamiento, la suma es sobre todas las entradas de
entrenamiento x e y es la salida deseada correspondiente.
No es obvio que la expresión corrige el problema de desaceleración del
aprendizaje. Dehecho, francamente, ni siquiera es obvio que tenga sentido
llamar a esto una función de costo. Antes de abordar la desaceleración del
aprendizaje, veamos en qué sentido la entropía cruzada puede
interpretarse como una función de costo.
Aplicamos esta función para medir su resultado sobreel aprendizaje:
6. ¡Un Éxito! Esta vez, nuestra neurona aprendió rápidamente, tal como
esperábamos. Si pueden observar de cerca, pueden ver que la pendiente
de la curva decosto fue mucho más pronunciada inicialmente que la región
plana inicial en la curva correspondiente para el costo cuadrático. Es esa
inclinación la que nos da como resultado de la entropía cruzada, evitando
que nos atasquemos justo cuando esperamos que nuestra neurona
aprenda más rápido, es decir, cuando la neurona comienza mal.
Los gráficosnosevidencian de cómo cambia la velocidad deaprendizaje.En
particular, cuando usamos el costo cuadrático, el aprendizaje es más
lento cuando la neurona está inequívocamente equivocada, ya que la
neurona seacerca a la salida correcta; mientrasque con la entropía cruzada
el aprendizaje es más rápido cuando la neurona está inequívocamente
equivocada.
7. ∑j evita una relentización del aprendizajeen redes de muchas neuronas.
"Espero que este artículo le haya sido de interés y les pueda servir
para aplicarlo en algún modelo."
Escrito por Cristian Martín D´Agata