Академический Документы
Профессиональный Документы
Культура Документы
1 Deep Learning
El machine Learning tiene muchos enfoques donde uno de los más populares es
el Deep Learning – Aprendizaje Profundo. El cual está basado en una idea
simplificada de cómo funciona el cerebro humano. En esta técnica una red de
neuronas simuladas las cuales están representadas por arreglos de números, es
entrenada para obtener un modelo de relaciones entre varias entradas y salidas.
Existen distintas arquitecturas o arreglos neuronales útiles para diferentes tareas.
Por ejemplo, algunas arquitecturas sobresalen para obtener patrones de
imágenes, otras para predecir el siguiente valor de una secuencia.
Para implementar Deep learning en un proceso se recomienda seguir los
siguientes pasos
1.1.3.1 Soma
1.1.3.2 Dendritas
Son prolongaciones en forma de ramas de tamaño reducido que nacen del cuerpo
de neuronal y reciben estímulos y alimenta a la célula, incorporando a las espinas
dendríticas donde se realiza la sinapsis proceso que hace posible la transmisión
de potenciales de acción.
1.1.3.3 Axón
Es la señal eléctrica que viaja a través del axón con las características que
siempre posee el mismo potencial a lo largo de toda la longitud del mismo lo que
se explica por el hecho que a traviesa unos canales iónicos que impiden disminuir
este valor. La forma de onda del mismo se ve en la figura donde se puede ver que
la neurona está a una tensión de -70 mv en estado de reposo pero cuando se
recibe un estímulo mayor a -55 se activa este potencial de acción durante el
periodo refractario la célula se bloquea y no es posible volver a recibir un estímulo.
Figura. Potencial de acción
Para recrear una neurona mediante algoritmos se debe recordar que ésta a
grandes rasgos recibe los potenciales en las dendritas mediante la sinapsis
creando potenciales tantos excitatorios como inhibitorios dependiendo de la
intensidad de la conexión lo que se puede asociar a un producto estos a su vez
se suman en el cuerpo de la neurona creando un potencial propio que si supera
un umbral determinado será excitatorio o inhibitorio.
W 11 P1
W
[ ][]
⋮
W 1R
P
w= 12 p= 2
⋮
PR
Figura Estructura
de red monocapa
a=f ( ℘+ b ) (2)
Donde,
P1 b1 n1 a1 W T1 W 11 W 12 … W 1 R
[ ] [ ] [ ] [ ] [ ][
PR
⋮
bR
⋮
nR
⋮
aR
⋮
WR
T
p= P 2 b= b 2 n= n 2 p= a2 w= W 2 = W 21 W 22 … W 2 R
⋮
T
⋮ ⋮ ⋱ ⋮
W S 1 W S 2 … W SR ]
Donde los pesos están dados por la expresión w ij donde i corresponde a la
neurona y j a la entrada.
La mejor forma de comprender las expresiones matriciales es conociendo lo que
pasa con las d.imensiones de cada vector, donde se ve una seria de patrones R
expuestos a S neuronas generan una salida correspondiente la número de
neuronas
Existen problemas que no son linealmente separables dentro del estudio de redes
neuronales par eso se suele juntar en serie algunas capas individuales de
neuronas que ofrezca una mejor solución a dicho problema, lo anterior se conoce
como redes neuronales multicapa,
Las pérdidas en el contexto de una red neuronal indica el error de una predicción
determinando que tan lejos se está del modelo deseado y el método para medirlo
es llamada función de pérdida. Las pérdidas son usadas para calcular los
gradientes y a su vez este último son de ayuda para actualizar los pesos de la red
neuronal y la forma como es entrenada.
https://towardsdatascience.com/understanding-different-loss-functions-for-neural-
networks-dd1ed0274718
3.1.5.1 Error Cuadrático Medio
Esta función es usada para tareas de clasificación. Este solo necesita una neurona
en la salida para clasificar en dos clases. Usado la función de activación sigmoid.
Inicializar aleatoriamente θ
Desde i=1 a N repetor
θ= θ – α∇J(θ)
Fin
z L =wL x +b L (4)
Por tanto, se sabe que para encontrar la derivada de la función de coste se debe
tener en cuenta la composición de funciones C ( aL (z L ) )que implica la misma al
relacionarla con los pesos y las polarizaciones, obteniendo mediante la regla de la
cadena
∂ C ∂ C ∂ aL ∂ z L
= . . (7)
∂ w L ∂ aL ∂ zL ∂ w L
∂ C ∂ C ∂a L ∂ z L
= . . (8)
∂ b L ∂ aL ∂ z L ∂ b L
Desarrollando cada derivada parcial, considerando una función de coste raíz
cuadrática media
1
C ( aL )= ∑ ( y i−a Lj )2 (9)
2
∂C
L
=( aLj − y i ) (10)
∂a
Tomando como ejemplo una función de activación sigmoide logística
1
a L ( z L )= (11 )
L
1+e− z
∂ aL L ( L ) L L
L
=a z ( 1−a ( z ) ) ( 12 )
∂z
Considerando la ecuación 4 como la suma ponderada z sus derivadas parciales
con respecto a los pesos y polarizaciones son
∂zL L−1
L
=a j ( 13 )
∂w
∂ zL
=1 (14 )
∂ bL
Haciendo el producto de cada solución se obtiene
∂C
L
=( a Lj − y i ) aL ( z L ) ( 1−a L ( z L ) ) . aL−1
j (15)
∂w
∂C
L
=( aLj − y i ) a L ( z L ) ( 1−aL ( z L ) ) . 1(16)
∂b
∂ C ∂ aL
El término . determina cuanto varía el error en función de la suma
∂ a L ∂ zL
ponderada , indicando el grado de responsabilidad de las neuronas en la salida
por tanto un valor elevado del mismo asume un gran compromiso de dicha capa
son el error de la salida.
Esta derivada parcial es llamada error de neuronaδ L
Redefiniendo las ecuaciones (7) y (8)
∂C
L
=δ L a L−1
j (17)
∂w
∂C
L
=δ L (18)
∂b
Para la capa L-1 se define las funciones de coste como
∂ C ∂ C ∂ a L ∂ z L ∂a L−1 ∂ z L−1
= . . (19)
∂ w L ∂ a L ∂ z L ∂ aL−1 ∂ z L−1 ∂ w L−1
∂ C ∂ C ∂a L ∂ z L ∂ a L−1 ∂ z L−1
= . . (20)
∂ b L ∂ aL ∂ z L ∂ a L−1 ∂ z L−1 ∂ b L−1
∂ C ∂ aL L
L
. L =δ por la ecuación18
∂a ∂ z
∂zL L
L−1
=w ( 21)
∂a
∂ a L−1
=Derivada de función de activación (22)
∂ z L−1
∂ z L−1 L−2
¿ a j (23)
∂ w L−1
∂ z L−1
=1(24)
∂ w L−1
Donde las ecuaciones 18, 21, 22 definen a:
∂C
L−1
=δ L−1
∂a
∂ C ∂ aL L
L
. L =δ
∂a ∂ z
Retro-propagar el error a la capa anterior
L−1 L L ∂ a L−1
δ =δ w (25)
∂ z L−1
Derivada parcial de cada capa usando el error
∂C
L
=δ L−1 aL−2
j (26)
∂w
∂C
L
=δ L−1(27)
∂b
https://www.youtube.com/watch?v=M5QHwkkHgAA
3.1.7 Algoritmos de Optimización
Son metodologías que ayudan a minimiza o maximizar una función objetivo, por
ejemplo, error o precisión de un modelo para así actualizar los pesos y
polarizaciones de forma óptima con el menor número de pérdidas posibles.
Trabaja en conjunto con los algoritmos de retro-propagación y gradiente
descendente reciben los gradientes del primero, modificando el segundo para
actualizar los pesos de manera adecuada.
También llamado SGD, es una variante del gradiente descendente, este actualiza
los parámetros con más frecuencia en cada ejemplo de entrenamiento, en caso
que el dataset tenga 1000 filas se actualizarán los parámetros 1000 veces en un
ciclo como un gradiente descendiente.
θ= θ – α∇J(θ;x(i);y(i)) (28)
´
Donde {x(i), y(i)} son ejemplos de entrenamiento.
Este método suele encontrar una convergencia en menos tiempo y a un menor
costo de memoria, aunque podría hacer variar muchos los parámetros a una
velocidad de aprendizaje tan alta.
θ=θ−α ∇ J ( θ ; B ( i ) ) (29)
Esta técnica suele actualizar los parámetros con una menor variación a un costo
medio de memoria.
3.1.11 Momento
Fue desarrollado para reducir las variaciones del SGD y suavizar su convergencia,
acelerándola en la dirección indicada con menores fluctuaciones adicionando un
parámetros conocido como Momento- Momentum γ
θ=θ−V ( t ) (31)
γ usualmente debe tener valores cercanos a 0.9, este representa una mejora en el
proceso, pero adiciona otro parámetro manual.
Esta innovación implica que no se pierda el mínimo local, pero implica adicionar
otro parámetro manual.
3.1.13 Adagrad
3.1.15 Adam
vt
^v t= t
(38)
1−β 2
Aquí, se toma el promedio de M(t) y V(t) así E[m(t)] puede ser igual a E[g(t)]
donde E[f(x)] es un valor esperado de f(x).
Actualizando los parámetros,
η
θt +1=θ t− . m t (39)
√ v^ t + ϵ
Donde,
β 1=0.9 , β 2=0.9999 ϵ =10−8
https://medium.com/@sdoshi579/optimizers-for-training-neural-network-
59450d71caf6