Main Content

Especificar capas de una red neuronal convolucional

Puede crear y personalizar un modelo de deep learning de varias formas. Por ejemplo, puede importar y adaptar un modelo preentrenado, crear una red desde cero o definir un modelo de deep learning como una función.

En la mayoría de los casos, puede especificar muchos tipos de modelos de deep learning como una red neuronal de capas y, a continuación, entrenarla mediante la función trainnet. Para obtener una lista de capas e información sobre cómo crearlas, consulte Lista de capas de deep learning.

En el caso de redes neuronales simples con capas conectadas en serie, puede especificar la arquitectura como un arreglo de capas. Por ejemplo, para crear una red neuronal que clasifique imágenes en escala de grises de 28 por 28 en 10 clases, puede especificar el arreglo de capas:

layers = [
    imageInputLayer([28 28 1])
    convolution2dLayer(5,20)
    batchNormalizationLayer
    reluLayer
    fullyConnectedLayer(10)
    softmaxLayer];

Para redes neuronales con una estructura más compleja, como redes neuronales con ramificación, puede especificar la red neuronal como un objeto dlnetwork. Puede añadir y conectar capas mediante las funciones addLayers y connectLayers, respectivamente. Por ejemplo, para crear una red con varias entradas que clasifique pares de imágenes RGB de 224 por 224 y en escala de grises de 64 por 64 en 10 clases, puede especificar la red neuronal:

net = dlnetwork;
layers = [
    imageInputLayer([224 224 3])
    convolution2dLayer(5,128)
    batchNormalizationLayer
    reluLayer
    flattenLayer
    concatenationLayer(1,2,Name="cat")
    fullyConnectedLayer(10)
    softmaxLayer];

net = addLayers(net,layers);

layers = [
    imageInputLayer([64 64 1])
    convolution2dLayer(5,128)
    batchNormalizationLayer
    reluLayer
    flattenLayer(Name="flatten2")];

net = addLayers(net,layers);
net = connectLayers(net,"flatten2","cat/in2");
Visualice la red neuronal en una gráfica.
figure
plot(net)

Para los modelos que no se pueden especificar como redes de capas, puede definir el modelo como una función. Para obtener un ejemplo sobre cómo entrenar un modelo de deep learning definido como una función, consulte Train Network Using Model Function.

Consulte también

| |

Temas relacionados