









Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Conceptos basicos del Deep Learning y las Redes Neuronales.
Tipo: Monografías, Ensayos
1 / 15
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!










El Machine Learning representa una forma de la inteligencia artificial, la cual permite a un sistema aprender
de los datos en lugar de aprender mediante la programación explícita. Si bien lo anterior suena sencillo el
machine Learning no es un proceso fácil, ya que conforme el algoritmo utilizado será la forma en que la
maquina adquiera datos de entrenamiento, para poder producir modelos cada vez más precisos (basados
en datos).
Este tipo de aprendizaje se puede entender como una acción realizada por la máquina para resolver una
tarea, es decir, si el resultado es favorable se continúa utilizando dicho método y si el resultado no es el
esperado, la maquina podrá discernir entre los algoritmos aplicados para determinar el más eficiente y poder
realizar la acción de forma correcta según el entrenamiento aplicado previamente. Es por eso que el
Machine Learning es la base de la Inteligencia Artificial, la cual se define como la rama de la informática
encargada de replicar la forma en que funciona la mente y los procesos cerebrales en los seres vivos, para
poder replicarlos en las maquinas.
El Machine Learning normalmente hace referenciar a los cambios que realiza un sistema en tareas asociadas
con la Inteligencia como, por ejemplo, reconocimiento facial, diagnósticos, planificación, control,
predicciones, entre otras. De tal manera que la máquina se adapte y modifique sus acciones al presentarse
nuevas circunstancias en el desarrollo de sus tareas, buscando una forma óptima de resolverlas haciendo
uso de la ciencia o ramas académicas tales como: Estadística, Modelos cerebrales, Teoría de control
adaptativa, Modelos evolutivos, Algebra línea, entre otras muchas posibilidades.
Según lo analizado anteriormente y considerando que el machine Learning al igual que una mente humana
o de un animal requiere un régimen de entrenamiento con la finalidad de realizar una tarea específica,
podemos resumir dicho régimen de entrenamiento en 3 tipos de aprendizaje:
comprensión de cómo se clasifican. Este tipo de aprendizaje tiene la intención de encontrar
patrones en datos que se pueden aplicar a un proceso de analítica. Algunos ejemplos son el
aprendizaje por clasificación y la regresión.
una cantidad masiva de datos sin etiquetar, es decir una estructura de aprendizaje en ausencia de
cualquier valor de salida identificado. Algunos ejemplos son el aprendizaje son por medio de
Clustering y las reglas de asociación.
retroalimentación del análisis de datos, conduciendo el usuario hacia el mejor resultado (el sistema
aprende a través de la prueba y el error). Un ejemplo de este modelo es el MDP (proceso de decisión
de Márkov).
A continuación, se definen diversos elementos, los cuales nos ayudaran a comprender los algoritmos
utilizados en los puntos 1.1.3 y 1.1.4:
𝑗
): Resultado entregado por el algoritmo.
𝑖𝑗
): representa la ponderación de conexiones entre los nodos 𝑖 y 𝑗.
(respuesta correcta que el algoritmo debe aprender).
La regresión lineal es un algoritmo de aprendizaje supervisado que se utiliza en Machine Learning y en
estadística. La cual, en su versión más sencilla, lo que hace es dibujar una recta (recta de regresión) que nos
indicará la tendencia de un conjunto de datos continuos, y es de la forma:
0
1
En este caso se describe la relación algebraica entre las dos variables (x, y), pero si nos enfocamos
directamente en el Machine Learning la ecuación es de la siguiente forma:
1
1
En este caso este algoritmo mide el error con respecto a los puntos de entrada y el valor “Y” de salida real.
En este caso 𝑦′ representa el target(t), 𝑏 la coordenada de origen o intercepto con eje 𝑦, 𝑤 1
es la ponderación
del atributo 1 y 𝑥1 es un atributo entregado. Además, si se desea minimizar el error se pueden considerar 𝑛
atributos, dejando la ecuación de la siguiente forma:
ℎ
ℎ
𝑛
ℎ= 1
Si todos estos elementos anteriores se reúnen, es posible entrenar continuamente al modelo y explotar los
resultados aprendiendo de los datos (Inteligencia Artificial).
Figura 1 Inteligencia Artificial y sus derivados.
Una Red Neuronal artificial es un modelo computacional inspirado en el comportamiento de la estructura
del sistema nervioso humano. Consiste en un grupo de unidades de procesamiento llamadas neuronas
artificiales, que están conectadas entre sí para transmitir señales. La información de entrada estimula y pasa
a través de la red neuronal (donde se realizan varias operaciones) para producir el valor de salida. Ya que
este tipo de modelo pertenece al área de Machine Learning (IA) aprenden por sí mismo, en lugar de ser
programados explícitamente. Son buenos en áreas donde la programación tradicional es difícil de expresar
soluciones funcionales. Aunque las redes neuronales son más abstractas, el objetivo de estas es resolver
problemas de la misma manera que el cerebro humano. Las redes neuronales actuales suelen contener de
miles a millones de unidades neuronales.
Entre las décadas de 1950 y 1960, el científico Frank Rosenblatt se inspiró en Warren McCulloch y Walter
Pitts para crear el Perceptrón, de esta unidad nacerán y mejorarán las redes neuronales artificiales. El
perceptrón o bien dicho la neurona, es la unidad básica de procesamiento dentro de una red neuronal,
requiere varias entradas binarias (x1, x2, etc.), y produce una única salida binaria. Para calcular la salida, se
introdujo el concepto de pesos (w1, w2, etc.) que representa la importancia de cada entrada en la salida. Si
la suma del peso multiplicado por la entrada es mayor o menor que un determinado umbral, la salida de la
neurona será 1 o 0. Su propósito principal es tomar decisiones binarias simples o crear funciones lógicas,
como OR y AND.
Para entenderlo de forma más simple, la neurona es una función matemática la cual tiene valores de entrada
con los que realiza una suma ponderada, cada ponderación viene dada por cada peso que se les asigna a las
entradas, estos pesos indican con que intensidad la variable de entrada afecta a la neurona.
La suma ponderada que realiza la neurona viene de la regresión lineal, la cual con las variables de entrada
definen una recta o hiperplano al que podemos variar la inclinación utilizando nuestros parámetros, además
la regresión lineal tiene un término independiente que permite mover verticalmente a la recta. En el caso
de la neurona también se encuentra este término y se denomina bias (sesgo), se representa como otra
entrada a la neurona, pero con una variable siempre asignada a 1.
Figura 2 Representación Neurona Artificial con 3 datos de entradas (x) y sus respectivos pesos (w).
Antes de comenzar a construir una red neuronal, debemos definir la salida de la neurona según lo que
queremos que brinde la red. Por lo que sabemos, la neurona realiza una suma ponderada que da como
resultado un valor lineal, para esto la función de activación cumple el rol de distorsionar la salida añadiendo
deformaciones no-lineales para poder encadenar de forma efectiva varias neuronas.
El papel de la función de activación es distorsionar el plano generado por la neurona, esta distorsión
depende de cada función, por eso buscamos una función con una derivada simple para minimizar el costo
computacional. A continuación, se observan algunas de las principales funciones de Activación:
Figura 3 Funciones de Activación más usadas.
estimulados de izquierda a derecha (feedforward) y el entrenamiento suele ser mediante
Backpropagation.
de los cuales permite que la información persista durante algunas épocas de entrenamiento.
todas las capas están formadas con neuronas, se dividen en dos bloques: el primero, por las capas
convolucionales identifica patrones gráficos, mientras que el segundo clasifica los datos.
Pero una de las principales características del Deep Learning es que se busca es que no seamos nosotros los
que ajusten los parámetros de la red neuronal, sino que se ajusten automáticamente por la propia red, para
esto se busca la manera de que la propia red sea la que aprenda por si sola a partir de los datos.
El algoritmo más utilizado para que una red neuronal aprenda se denomina “Backpropagation”, este
algoritmo se basa en el aprendizaje supervisado y en el modelo del cálculo del gradiente. Es un proceso
iterativo que comienza estimulando la red con los datos hacia adelante (forwardpropagation), y una vez en
la salida se calcula el error de la predicción y se propaga hacia atrás (backpropagation), calculando el error
en cada capa y neurona, generando que los pasos se puedan ir actualizando.
Para el error se utiliza una función de perdida con la que se mide la predicción entregada por la red en
relación con la etiqueta (predicción deseada). Para una mayor exactitud se busca que el coste de sea cero
por lo que a medida que los pesos se ajustan o mejor dicho se entrena el modelo, la red entregara
predicciones correctas.
Figura 5 Representación del Backpropagation.
Entonces, se utiliza el descenso del gradiente para optimizar la función de pérdida dentro de la red, y al
propagar el error hacia atrás se genera que cada neurona le llegue parte de él y así poder compensar los
parámetros de cada una de ellas. Esto tiene sentido, ya que en una red neuronal el error de las capas
anteriores depende directamente del error de las capas posteriores, por lo que cada neurona tiene una
responsabilidad en el resultado final y con el uso de este algoritmo de retro propagación hacia atrás se
detecta que parte de culpa tiene cada neurona en el error. Por lo que se detectan todos los errores con una
única propagación hacia atrás.
entender de mejor manera el funcionamiento de una neurona aplicando el siguiente algoritmo:
𝑢
𝑢
𝑢
𝑢
= − 1. Entonces no se hace nada, en caso contrario se aplica la
siguiente regla para modificar los pesos: 𝑤
′
𝑢
𝑢
acerque a un valor deseado.
El algoritmo se aplicará en los siguientes ejemplos:
1
1
= 0 y 𝑡
1
= − 1 por lo que se deben corregir
los pesos: 𝑤
′
4
4
: ( 1 ∗ (− 1 ) + 1 ∗ 1 + 1 ∗ 1 ) = 1 y 𝑡
4
= + 1 por lo que no se deben corregir
los pesos.
3
3
: ( 1 ∗ (− 1 ) + 1 ∗ 1 + (− 1 ) ∗ 1 ) = − 1 y 𝑡
3
= + 1 por lo que se deben
corregir los pesos: 𝑤
′
2
2
= − 2 y 𝑡
2
= + 1 por lo que se deben corregir
los pesos: 𝑤
′
mantienen por lo que la clasificación es posible de realizar para la tabla OR.
Backpropagation con MSE, se usará la función de activación sigmoidal y los pesos inicializados en
cero. El objetivo de este algoritmo es encontrar los valores de las salidas de cada neurona y los
próximos pesos después de una iteración.
1
2
0
𝑫
𝑨
𝑩
𝑪
regla de la capa de salida , se ajustan los deltas:
𝐴
′
𝐴
𝐴
𝐴
𝐴
𝑨
𝐵
′
𝐵
𝐵
𝐵
𝐵
𝑩
𝐶
′
𝐶
𝐶
𝐶
𝐶
𝑪
Y luego se ajustan los pesos de la capa de salida:
𝐴
𝐴
𝐴
𝑨
𝐵
𝐵
𝐵
𝑩
𝐶
𝐶
𝐶
𝑪
𝐷
𝐴
𝐴
𝐵
𝐵
𝐶
𝐶
𝐷
𝑫
Y luego se ajustan los pesos de la red:
𝐷
ℎ
ℎ
1
𝐷
𝒉
𝟏
𝑫
𝟐
ℎ 2
𝐷
𝒉 𝟐
𝑫
𝟐
Figura 6 Algoritmo de Backpropagation.
La inteligencia artificial y el estudio de cómo funciona la mente humana es la base fundamental del Machine
Learning y sus derivados. En estos tipos de aprendizaje mediante modelos y algoritmos se intenta replicar la
forma en que los seres humanos piensan, pero esta vez enfocado en las maquinas, logrando que estas
tengan una retroalimentación y puedan aprender a partir de las etapas de entrenamiento aplicadas.
Para poder entender el funcionamiento del Machine Learning y su derivado, el Deep Learning, es necesario
tener una base sólida de programación junto con el manejo de vectores, matrices, algebra lineal e incluso
estadística y manejo de datos, para poder definir de mejor forma las entradas y salidas de un sistema. Dichas
entradas cumplen un rol fundamental, ya que gracias a estas es posible determinar los estados siguientes y
tener una retroalimentación positiva para que la maquina pueda aprender, teniendo en consideración tanto
el vector de error, como el descenso de gradiente, el cual tiene como función principal determinar si la tasa
de aprendizaje es adecuada (|∇𝑓| ∙ 𝑎), es decir si su valor es elevado nunca se llegara a un valor optimo
debido al gran desplazamiento que se produce y si su valor es muy pequeño el tiempo de ejecución será
muy alto. Es por ese motivo, para que una maquina tenga un aprendizaje optimo se recomienda que el valor
de la tasa de aprendizaje sea aproximadamente un 0.4 % de la magnitud del gradiente.
Cuando Hablamos de Deep Learning o “aprendizaje profundo” se hace referencias al uso de
transformaciones lineales, no lineales y las redes neuronales, las cuales tienen la capacidad de aprender
generando conocimiento jerarquizado basado en niveles. Esto último es esencial en el uso del Deep
Learning, ya que una sola neurona colapsaría y no se lograría el aprendizaje esperado.
Según lo desarrollado anteriormente existen 3 tipos de aprendizaje: supervisado, no supervisado y
reforzado. En este caso se utiliza el algoritmo del perceptrón el cual es uno de los tipos de aprendizaje más
sencillos, entregando resultados óptimos en problemas de regresión lineal y clasificación, pero al momento
de ser utilizado en problemas no lineales genera problemas debido a que el valor nunca converge debido a
que se presenta un argumento cíclico. En segunda instancia tenemos el algoritmo de Backpropagation
basado en el aprendizaje supervisado el cual un proceso iterativo, es decir, es capaz de calcular el error en
cada capa y neurona, generando que los pasos siguientes se puedan ir actualizando, donde se obtuvieron
los resultados esperados.