Se encontraron 7 coincidencias

por antonio
29 May 2018, 15:20
Foros: Inteligencia Artificial
Tema: Long Short-Term Memory Units (LSTMs)
Respuestas: 0
Vistas: 471

Long Short-Term Memory Units (LSTMs)

Uno de los problemas de las RNN de las que se hable en el anterior post: http://ssyspe.org/viewtopic.php?t=984&p=1315#p1315 es que muchas veces es establecer las relaciones correctas entre los outputs y las entradas realizadas muchos pasos antes. Este problema se debe a que al multiplicar cualquier valor muchas varias veces por cualquier numero numero diferente de 1 genera un efecto de explosion (>1) o desvanesimiento (<1). Por este motivo los pesos de estas redes ante ligeras variaciones generan efectos "caóticos".

Del mismo modo la aplicación de las funciones de activación repetidamente genera un desvanecimiento de la gradiente como se observa en la siguiente imagen:
Imagen

Long Short-Term Memory" (LSTM) es una arquitectura RNN que contiene informacion fuera del flujo normmal de la red neuronal en una celda cerrada. Estas celdas toman decisión sobre que memoriza, cuando permitir "lecturas", "escrituras" o "borrados" basados en una set propio de pesos, los cuales tambien son ajustados durante el entrenamiento del modelo. De esta forma esta celdas son capaces de decidir que memorizar y cuando hacerlo.

Imagen

Fuente:
https://deeplearning4j.org/lstm.html
por antonio
29 May 2018, 14:04
Foros: Inteligencia Artificial
Tema: Sequence to Sequence Learning with Neural Networks
Respuestas: 0
Vistas: 470

Sequence to Sequence Learning with Neural Networks

Apesar de la flexibilidad del deep neural networks, estas poseen una sensible limitación, ambos inputs y outputs de los modelos tienen que estar codificados en vectores de un tamaño fijo. Por ejemplo, para clasificacion imagenes, siempre se tienen que tener un tamaño fijo de la imagen ingresada, y el tamaño de las salidas en un vector one-hot de todas las clases posibles a clasificar. Sin embargo muchos problemas son mejor definidos como problemas "sequences to sequences" en donde tanto las entradas como las salidas son sequencias de largo indefinido de palabras, imagenes, sonidos, etc.

Para este tipo de problemas se utilizan en la actualidad redes neuronales recurentes.
Las redes neuronales recurrentes son modelos en los cuales las predicciones en el "tiempo" 't' usan como input los outputs del modelo en el "tiempo" 't-1'. De esta forma el output (h_t) seria representado por la siguiente ecuacion. Donde W y U son parametros del modelo.
Imagen

De esta manera el modelo genera outputs en funcion al "tiempo" o secuencia de entrada de los inputs como se observa a continuacion.

Imagen

Link:
https://deeplearning4j.org/lstm.html
por antonio
25 May 2018, 12:18
Foros: Inteligencia Artificial
Tema: Algoritmos de optimizacion para redes neuronales
Respuestas: 0
Vistas: 969

Algoritmos de optimizacion para redes neuronales

Para la optimizacion de los parametros de una Red neuronal, se pueden utilizar distintas técnicas. Hoy en dia las técnicas mas utilizadas son aquellas basadas en la gradiente de la función objetivo, estas técnicas son conocidas como "Gradient Descent Optimization". Muchas veces estos algoritmos se utilizan como cajas negras que brindan a nuestra red neuronal la capacidad de aprender.

En el siguiente link se encuentra una explicación de los distintos algoritmos que se utilizan para la optimizacion de los parametros de la red neuronal.

http://ruder.io/optimizing-gradient-descent/

Del blog de Sebastian Ruder.

Los algoritmos mencionados en el blog son: Momentum, Nesterov accelerated gradient, Adagrad, Adadelta, RMSprop, Adam, AdaMax, Nadam, AMSGrad
Ademas realiza una comparación entre estos y una recomendación de como elegir el optimizador a utilizar.

Imagen

Imagen
por antonio
05 May 2018, 12:01
Foros: Inteligencia Artificial
Tema: DILATED RESIDUAL NETWORKS
Respuestas: 0
Vistas: 416

DILATED RESIDUAL NETWORKS

DILATED RESIDUAL NETWORKS

La mayoría de redes neuronales destruyen la imagen para lograr clasificarlas. La idea principal de las DRN es preservar la resolución de las redes convolucionales. A pesar que reducir la resolución ha sido una técnica muy eficiente para clasificación de dígitos u otras imágenes, la perdida de información espacial resulta un obstáculo para la clasificación de imágenes donde la se aprecian varios objetos y donde la posición de estos representa información importante para el entendimiento de la escena o en imágenes donde objetos pequeños importantes se pierden debido a esta reducción de la resolución. Sin embargo, remover las capas en las que se reduce la resolución (subsampling) reduciría el campo receptivo de las capas posteriores.
Para resolver esta problemática se realizan “dilated convolutions” (convoluciones dilatadas) para ampliar el campo receptivo de las capas posteriores compensando así el efecto de eliminar las capas de subsampling.

La arquitectura base que utiliza la arquitectura ResNet propuesta por ]K. He, X. Zhang, S. Ren, and J. La cual consiste en 5 grupos de capas convolucionales en donde la primera capa de cada grupo es un capa de downsamplimg. Se elimina estas capas en los 2 últimos grupos ((G_4 y G_5). Luego se dilata las capas convolucionales de G_4 por un factor de 2 y un G_5 por un factor de 4.
Usando esta arquitectura se puede producir directamente usando una capa convolucional 1x1 desde G5 una predicción por pixeles para los objetos en los que se ha entrenado la red neuronal, de esta manera se puede obtener fácilmente una localización de los objetos en las imágenes de ser este el objetivo. Para adaptar el modelo para realizar clasificación de imágenes se debe mantener la capa de global pooling de la arquitectura original.

Además de la red descrita previamente (DRN-A-18) se proponen 2 arquitecturas en las que se modificaron otros componentes descritos en la imagen (DRN-B-26 y DRN-C-26). En las cuales se reemplazó un filtro inicial polling por varias capas convolucionales 3x3 tanto al inicio como al final de la red.
Estas modificaciones permitieron superar la arquitectura inicial usando redes neuronales de tamaños iguales. Por ejemplo, ResNet – 50 obtuvo un error de top 1 de 24.01 mientras que DRN-A – 50 y DRN-C-42 Obtuvieron uno de 22.94
La arquitectura DRN-C a pesar de aumentar la cantidad de parámetros a su vez mejora significativamente el rendimiento superando a redes ResNet más profundas y con mayor cantidad de parámetros.
por antonio
05 May 2018, 11:50
Foros: Inteligencia Artificial
Tema: Natural Language Processing usandoTextBlob
Respuestas: 0
Vistas: 523

Natural Language Processing usandoTextBlob

Textblob es una libreria de python que permite implementar facilmente la mayoria de los metodos mas usados de NLP. Una de las ventajas de utilizar textblob es que puede definirse la data tal como si definieras un string y a estos objetos aplicarle las siguiente tecnicas de NLP.

Algunas de las tecnicas que se pueden implementar son:
Tokenization
Extraccion de sustantivos
Agregar que tipo de palabra es cada una (verbo, sustantivo, objeto directo, etc)
lemmatization
N-grams
Analisis de sentimiento

Correccion de ortografia
Creacion de un resumen corto
Detección de idioma
Traduccion

Pros:
Esta construida en base de NLTK brindando una interface muy amigable para realizar las distintas actividades
La traduccion esta implementada usando google translate

Contras
Es ligeramente mas lento que NLTK
No provee funcionalidades como word to vectors o parsing.

Link: https://www.analyticsvidhya.com/blog/20 ... -textblob/
Se puede encontrar codigo que muestra como utilizar textblob.
por antonio
05 May 2018, 11:39
Foros: Inteligencia Artificial
Tema: MobileNets: Redes convolucionales eficientes
Respuestas: 0
Vistas: 1727

MobileNets: Redes convolucionales eficientes

MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

Si bien las arquitecturas de Deep learning desde AlexNet hasta la actualidad han mejorado su eficiencia para diversas funciones, estas a su vez se están volviendo cada vez mas complejas y profundas, con mayor cantidad de parámetros para lograr esto. Estos avances sin embargo no son necesariamente en relación a la eficiencia con respecto a su tamaño y velocidad de predicción. En muchas aplicaciones reales, se requiere que está ejecuten sus predicciones en entornos con recursos computacionales limitados y con un límite del tiempo de respuesta especifico. Para esto el paper trata de proponer una arquitectura que es eficiente y adaptable a las diferentes necesidades.

La arquitectura mobileNet se basa en factorizar las convoluciones tradicionales en 2 tipos de capas, una primera capa convolucional “depthwise” y una capa convolucional 1x1 “pointwise”. Esta división permite reducir el costo computacional y el tamaño del modelo.
Las capas convolucionales estandares tienen un costo computacional entre 8 y 9 veces mayor que el el costo computacional de ambas capas “depthwise” y “poinwise”:
Ademas se agregan 2 parametros que permiten reducir el tamaño y la velocidad de la red neuronal.
El parametro α es un factor que reduce la cantidad de filtros/canales aplicados en cada capa multiplicandolos α ϵ 〈0,1〉. El parametro β es un factor que reduce el tamaño de los inputs multiplicandolo por ∈ 〈0,1〉. Ambos parametros permiten reducir incluso mas el tamaño y tiempo de respuesta de la red neuronal.
computacionales o necesidad de mayor velocidad de las predicciones. Para mayores limitaciones considero que la posibilidad de reducir aún más el tamaño y el tiempo de respuesta es una gran ventaja de esta arquitectura.  
por antonio
05 May 2018, 11:32
Foros: Inteligencia Artificial
Tema: Dropout. Tecnica para reducir overfitting en redes neuronale
Respuestas: 0
Vistas: 1367

Dropout. Tecnica para reducir overfitting en redes neuronale

DROPOUT: A Simple Way to Prevent Neural Networks from Overfitting

El overfitting en las redes neuronales profundas, (Deep neural Networks). Muchas veces las redes neuronales son lentas lo que dificulta la solución del overfitting mediante combinación de predicciones.


¿Qué solución propone?
La mejor manera de solucionar este problema es promediar las predicciones de varias redes neuronales entrenadas separadas, sin embargo, el uso de recursos computacionales sería demasiado elevado.
La técnica Dropout consiste en remover aleatoria y temporalmente unidades (neuronas) de las capas internas y ocultas de la red neuronal. Lo probabilidad de remover una unidad está dada por p, la cual puede ser considerada una variable a optimizar o simplemente establecerla en 0.5, probabilidad que resulta ser cercana a la óptima para la varios de casos estudiados.

Para la evaluación del modelo no es factible promediar las predicciones de las varias redes neuronales, sin embargo, buen aproximado a esto es entrenar una sola red neuronal donde los pesos de las neuronas sean disminuidos multiplicándolos por la probabilidad de aparecer de cada neurona.

Se observa que para valores bajos de p (<0.4) el error del modelo es alto puesto que la ausencia de unidades durante el entrenamiento provoca falta de entrenamiento (underfitting) mientras que a partir de 0.4 hasta 0.8 se tienen modelos óptimos a partir de 0.8 se empieza a aprecia una reducción de rendimiento en la data de evaluación debido al overfitting.

Haciendo uso de la misma arquitectura se evaluó el efecto de la aplicación de Dropout con diferentes volúmenes de data. Se observa que, con bajos volúmenes de data, no es conveniente la aplicación de esta técnica. Mientras mayor es el volumen de data aumenta, la aplicación de Dropout mejor la performance del modelo hasta alcanzar un punto donde el volumen de la data es suficiente como para no que no sea memorizada.

La aplicación de la técnica mostro permitir la reducción del overfitting en distintos dominios como clasificación de imágenes, reconocimiento de voz, entre otras.
Sin embargo una desventaja es que aumenta el tiempo de entrenamiento del modelo a 2 – 3 veces el tiempo del modelo original.