Innovando la educación en la tecnología. Группа авторов
Чтение книги онлайн.
Читать онлайн книгу Innovando la educación en la tecnología - Группа авторов страница 13
El modelo de aprendizaje de máquinas seleccionado fue de redes neuronales recurrentes, en específico el tipo LSTM (Hochreiter y Schmidhuber, 1997), este tipo se escogió debido a la capacidad de poder “recordar” los elementos de un texto, esto es fundamental en el análisis de textos largos porque de esta manera se puede capturar su contexto completo.
Para normalizar los datos de entrada (inputs) del modelo se usó la técnica de mean pooling por dos motivos: 1) para controlar la cantidad de features que van a ser recibidas por la capa de regresión logística; 2) para extraer la información promedio de cada texto, tomando en cuenta toda la información del texto, esto quiere decir que todos los valores son usados para realizar un mapeado de features.
Para determinar la clasificación de las noticias, en la capa final de la red neuronal, se usó una regresión logística, debido a que la salida de la red LSTM normalizada por el average pooling brinda valores entre 0 y 1, lo cual demuestra una probabilidad de ser positivos o negativos, pero para ser aún más exactos, se decidió usar la regresión logística ya que sólo se cuenta con dos posibles clasificaciones, positivas o negativas.
Se decidió recolectar un dataset propio de noticias de medios de comunicación locales, debido a que no existe uno. Igualmente, se recurrió al uso de técnicas de limpiado de datos como la eliminación de signos de puntación y de stopwords, ya que ambos no agregan valor para la tarea a realizar. Luego se realizó un muestreo aleatorio en la base de datos para tenerla en una relación de 1:1 con respecto a noticias positivas y negativas, esto con el fin de que no exista un bias a la hora de entrenar el modelo.
El modelo propuesto es una variación de la red neuronal LSTM. En esta variación, la activación que ocurre en la puerta de salida de la capa LSTM no depende de su estado Ct, esto permite realizar parte de las operaciones necesarias en paralelo, volviendo el modelo mucho más eficiente computacionalmente, menos tiempo en entrenar el modelo sin algún impacto notable en la efectividad del modelo (Gers, Schmidhuber y Cummins, 2000).
Las ecuaciones siguientes describen como se actualiza la capa LSTM en cada unidad de tiempo t, según el modelo propuesto.
1) Es el input (datos de entrada) de la capa LSTM en un tiempo t.
2) Wf, Wc, Wo, Ui, Uf, Uc, Uo y Vo son matrices de weights (pesos del modelo).
3) bi, bf, bc y bo son vectores “bias”.
Primero, se calculan los valores para la puerta de entrada y el valor candidato para los estados de la capa LSTM en un tiempo t.
Donde it es el valor de la puerta de entrada en un tiempo t y σ es la función de activación.
Donde
Luego se calcula el valor de la función de activación ft de las puertas de olvido en un tiempo t.
Luego de obtener el valor de la función de activación de la puerta de entrada, el valor de la función de activación de la puerta de salida y el valor candidato para los estados de la capa LSTM, se pasa a calcular el nuevo estado Ct de la capa LSTM en un tiempo t.
Donde
Una vez calculado el nuevo estado Ct de la capa LSTM, se puede obtener el valor de sus puertas de salida y, como consecuencia, la salida final ht de la capa LSTM.
Donde ot es el valor de la puerta de salida de la red LSTM y σ es la función de activación.
La estructura final del modelo a usar consiste en una sola capa de redes neuronales LSTM, luego se implementará una capa de normalización (mean pooling), esto va a disminuir la variancia entre los valores, debido a que se va a tomar un promedio de la cantidad de datos para realizar un mapeo final de features. Después se implementará una capa de regresión logística para obtener una mayor eficacia a la hora de clasificar las noticias.
2.3 Algoritmo de optimización
Para incrementar la eficiencia de la red neuronal propuesta, se ha decidido implementar un algoritmo llamado Adam, el cual sirve para escoger el mejor learning rate para que el entrenamiento de la red neuronal sea el más rápido y efectivo posible (Kingma et al., 2014).
Adam es un algoritmo de learning rate adaptativo, lo que significa que calcula learning rates individuales para diferentes parámetros. Su nombre se deriva de la estimación del momento adaptativo, y la razón por la que se llama así es porque Adam usa estimaciones del primer y segundo momento del gradiente para adaptar la velocidad de aprendizaje para cada weight de la red neuronal.
Adam utiliza los gradientes elevados al cuadrado para escalar la velocidad de aprendizaje como el algoritmo RMSprop (Tieleman y Hinton, 2012) y aprovecha el impulso al usar la media móvil de los gradientes en lugar de solo la gradiente como el algoritmo stochastic gradient descent.
Para estimar los momentos, Adam utiliza promedios móviles exponenciales, calculados en el gradiente evaluado en un minilote actual:
Donde mt y vt son los promedios móviles, g es la gradiente del minilote actual y los β son los hiperparámetros del algoritmo. Ambos tienen un valor default de 0,9 y 0,999, respectivamente
La fórmula para obtener el promedio móvil mt también puede ser representada por la siguiente ecuación:
Después de esto se necesita realizar