Está en la página 1de 7

2.

Red Neuronal Convolucional: La red neuronal convolucional se utiliza ampliamente en el campo


del procesamiento de imágenes. CNN se inspira por medio de procesos biológicos, como que el
cerebro humano puede distinguir entre diferentes objetos con solo visualizar, con la ayuda de
observaciones previas. Esto requiere un gran conjunto de datos entrenar al sistema CNN para
clasificar la imagen correctamente. Las imágenes también deben procesarse antes de ingresar al
sistema CNN para establecer un mejor diagnóstico de la enfermedad. Este documento se
concentra en la detección de bordes, que es uno de los pasos principales en el procesamiento de
imágenes como hardware.

Una red neuronal convencional: consiste en un conjunto de unidades elementales PE conectadas


de una forma concreta. El interés de las ANN no reside solamente en el modelo del elemento PE
sino en las formas en que se conectan estos elementos procesadores. Generalmente los
elementos PE están organizados en grupos llamados niveles o capas. Una red típica consiste en
una secuencia de capas con conexiones entre capas adyacentes consecutivas.

El informe de síntesis reveló que la arquitectura Prewitt consume menos área y el retraso es
menor en comparación con la arquitectura Sobel. La arquitectura de Sobel consume menos
energía que el algoritmo de Prewitt. Se recopilan imágenes biomédicas de muestra, se aplica el
algoritmo de detección de bordes y se presentan los resultados de la simulación. La arquitectura
propuesta para la detección de bordes se puede sintetizar y se puede implementar en hardware.

3. Cree una red de aprendizaje profundo simple para la clasificación:


Las redes neuronales convolucionales son herramientas esenciales para el aprendizaje profundo y
son especialmente adecuadas para el reconocimiento de imágenes.
El ejemplo demuestra cómo:

 Cargue y explore datos de imágenes.

 Defina la arquitectura de la red.

 Especifique las opciones de formación.

 Entrene a la red.

 Predecir las etiquetas de nuevos datos y calcular la precisión de la clasificación.

Cargar y explorar datos de imagen

Cargue los datos de muestra de dígitos como un almacén de datos de imágenes.


imageDatastoreetiqueta automáticamente las imágenes según los nombres de las carpetas y
almacena los datos como un ImageDatastoreobjeto. Un almacén de datos de imágenes le permite
almacenar datos de imágenes grandes, incluidos los datos que no caben en la memoria, y leer de
manera eficiente lotes de imágenes durante el entrenamiento de una red neuronal convolucional.

Figura 1.código implementado para la carga de datos.

Figura 2.Codigo para la Muestra de algunas de las imágenes en el almacén de datos.


Figura 3.Imagen que genera el código

Para calcular la cantidad de imágenes en cada categoría se utiliza labelCountes este crea una tabla
que contiene las etiquetas y el número de imágenes que tiene cada etiqueta. El almacén de datos
contiene 1000 imágenes para cada uno de los dígitos del 0 al 9, para un total de 10000 imágenes.
Se puede especificar el número de clases en la última capa completamente conectada de su red
como OutputSizeargumento.

Figura 4.Recuento de etiquetas.

Se debe especificar el tamaño de las imágenes en la capa de entrada de la red. Se verifica el


tamaño de la primera imagen en formato digitData. Cada imagen tiene 28 x 28 x 1 píxeles.
Figura 5.Tamaño de la imagen

Especificar conjuntos de formación y validación: Se dividen los datos en conjuntos de datos de


entrenamiento y validación, de modo que cada categoría del conjunto de entrenamiento contenga
750 imágenes y el conjunto de validación contenga las imágenes restantes de cada etiqueta.
splitEachLabeldivide el almacén de datos digitDataen dos nuevos almacenes de datos
trainDigitDatay valDigitData.

Figura 6. conjuntos de formación y validación.

Definir la arquitectura de red

Figura 7. Definir la arquitectura de red neuronal convolucional


La capa de entrada de imagen An imageInputLayeres donde especifica el tamaño de la imagen,
que, en este caso, es 28 por 28 por 1. Estos números corresponden a la altura, el ancho y el
tamaño del canal. Los datos de dígitos constan de imágenes en escala de grises, por lo que el
tamaño del canal (canal de color) es 1. Para una imagen en color, el tamaño del canal es 3,
correspondiente a los valores RGB. No es necesario mezclar los datos porque trainNetwork, de
forma predeterminada, los datos se mezclan al comienzo del entrenamiento.
trainNetworktambién puede mezclar automáticamente los datos al comienzo de cada época
durante el entrenamiento.

Capa convolucional, el primer argumento es filterSize, que es la altura y el ancho de los filtros que
usa la función de entrenamiento mientras explora las imágenes. Para una capa convolucional con
un paso predeterminado de 1,'same'padding asegura que el tamaño de salida espacial sea el
mismo que el tamaño de entrada. También puede definir las tasas de zancada y aprendizaje para
esta capa utilizando argumentos de par nombre-valor de convolution2dLayer.

Capa de normalización por lotes Las capas de normalización por lotes normalizan las activaciones
y gradientes que se propagan a través de una red, lo que hace que el entrenamiento de la red sea
un problema de optimización más fácil. Utilice capas de normalización por lotes entre capas
convolucionales y no linealidades, como las capas ReLU, para acelerar el entrenamiento de la red y
reducir la sensibilidad a la inicialización de la red. Úselo batchNormalizationLayerpara crear una
capa de normalización por lotes.

Capa ReLU La capa de normalización por lotes va seguida de una función de activación no lineal. La
función de activación más común es la unidad lineal rectificada (ReLU). Úselo reluLayerpara crear
una capa ReLU.

Capa de agrupación máxima convolucionales a veces van seguidas de una operación de muestreo
descendente que reduce el tamaño espacial del mapa de características y elimina la información
espacial redundante. Una forma de muestreo descendente es usar una agrupación máxima, que
crea usando maxPooling2dLayer

Capa completamente conectada Las capas convolucionales y de muestreo descendente son


seguidas por una o más capas completamente conectadas. Esta capa combina todas las
características aprendidas por las capas anteriores en la imagen para identificar los patrones más
grandes. Por lo tanto, el OutputSizeparámetro en la última capa completamente conectada es
igual al número de clases en los datos de destino.

Capa Softmax La función de activación softmax normaliza la salida de la capa completamente


conectada. La salida de la capa softmax consta de números positivos que suman uno, que luego
pueden ser utilizados como probabilidades de clasificación por la capa de clasificación. Cree una
capa softmax usando la softmaxLayerfunción después de la última capa completamente
conectada.

Capa de clasificación La capa final es la capa de clasificación. Esta capa utiliza las probabilidades
devueltas por la función de activación softmax para cada entrada para asignar la entrada a una de
las clases mutuamente excluyentes y calcular la pérdida. Para crear una capa de clasificación, use
classificationLayer.

Especificar opciones de formación: después de definir la estructura de la red, se especifican las


opciones de entrenamiento. Entrene la red utilizando descenso de gradiente estocástico con
impulso (SGDM) con una tasa de aprendizaje inicial de 0.01. Se Establece el número máximo de
épocas en 4. Una época es un ciclo de entrenamiento completo en todo el conjunto de datos de
entrenamiento. Luego se mezclan los datos en cada época. El software entrena a la red con los
datos de entrenamiento y calcula la precisión de los datos de validación a intervalos regulares
durante el entrenamiento. Los datos de validación no se utilizan para actualizar los pesos de la red.
Activar la gráfica de progreso del entrenamiento y desactivar la salida de la ventana de comandos.

Figura 8.Opciones de formación.

Entrenar a la red utilizando datos de entrenamiento: Entrenar la red utilizando la arquitectura


definida por layers, los datos de entrenamiento y las opciones de entrenamiento. De forma
predeterminada, trainNetworkusa una GPU si hay una disponible; de lo contrario, usa una CPU. La
formación en una GPU requiere Parallel Computing Toolbox ™ y un dispositivo GPU compatible.
Para obtener información sobre los dispositivos compatibles, consulte Compatibilidad con GPU por
versión (Parallel Computing Toolbox) . También puede especificar el entorno de ejecución
utilizando el 'ExecutionEnvironment'argumento de par nombre-valor de trainingOptions.

La gráfica de progreso del entrenamiento muestra la pérdida y precisión de mini lotes y la pérdida
y precisión de la validación. Para obtener más información sobre el gráfico de progreso del
entrenamiento, consultar para supervisar el progreso del entrenamiento del aprendizaje
profundo. La pérdida es la pérdida de entropía cruzada. La precisión es el porcentaje de imágenes
que la red clasifica correctamente.
Figura 9. Opciones de entrenamiento.

Clasifique las imágenes de validación y calcule la precisión: Para predecir las etiquetas de los
datos de validación se utiliza la red entrenada y se calcula la precisión de validación final. La
precisión es la fracción de etiquetas que la red predice correctamente. En este caso, más del 99%
de las etiquetas predichas coinciden con las etiquetas verdaderas del conjunto de validación.

Figura 10.Precisión

También podría gustarte