主要内容

Crear una red de深度学习senilla para clasificación

Este ejemplo muestra cómo crear y entrenar una红色神经元convolucional sensenilla para la clasificación中间深度学习。深度学习的基本原理和计算结果,特别的计算方法imágenes。

Este ejemplo muestra cómo hacer lo siguiente:

  • Cargar探索数据imágenes。

  • Definir la arquitectura de la red。

  • 特别的情话。

  • Entrenar la red。

  • 前人的礼仪,新数据和计算器precisión德拉clasificación。

Para ver un ejemplo de cómo crear y entrenar una de clasificación de imágenes互动方式,协商Crear una red de clasificación de imágenes senilla utilzando深度网络设计师

Cargar探索数据imágenes

货物资料dígitos我们必须行动almacén资料imágenes。imageDatastore形式上的礼仪automática las imágenes basándose在地毯上的名字和仪式上的内容联合国客体ImageDatastore.Un almacén de datos imágenes permite almacenar Un gran卷de datos imágenes, incluidos los que no caben en la memoria, y leer eficazmente lotes de imágenes durante el entrenamiento de una red neuronal convolucional。

digitDatasetPath = fullfile(matlabroot,“工具箱”“nnet”“nndemos”...“nndatasets”“DigitDataset”);imds = imageDatastore(digitDatasetPath,...“IncludeSubfolders”,真的,“LabelSource”“foldernames”);

博物馆imágenes del almacén de datos。

图;Perm = randperm(10000,20);I = 1:20 subplot(4,5, I);imshow (imds.Files{烫发(i)});结束

计算el número de imágenes en cada categoría。labelCount是一个手板的连续性的礼仪y el número de imágenes que tiene cada礼仪。El almacén de datos contiene 1000 imágenes para cada uno de los dígitos de 0 a 9, lo que hace un total de 10.000 imágenes。Puede speciificel número de clases en la última capa total conectada de su red como el argumentOutputSize

labelCount = countEachLabel(imds)
labelCount =10×2表标签计数_____ _____ 0 1000 1 1000 2 1000 3 1000 4 1000 5 1000 6 1000 7 1000 8 1000 9 1000

Debe speciificel tamaño de las imágenes en la capa de entrada de la red。验证tamaño原始图像digitData.Cada imagen tiene un tamaño de 28 por 28 por 1 píxeles。

Img = readimage(imds,1);大小(img)
ans =1×228日28日

特别是与之相连的validación

与之相结合的资料validación,与之相结合的形式categoría与之相结合的方式750 imágenes与之相结合的方式validación与之相结合的方式imágenes与之相结合的礼仪。splitEachLabel除el almacén de datosdigitData新时代的日子:trainDigitDatayvalDigitData

numTrainFiles = 750;[imdsTrain,imdsValidation] = splitEachLabel(imds,numTrainFiles,“随机”);

红色建筑的定义

定义la arquitectura de la red神经元旋。

图层= [imageInputLayer([28 28 1])卷积2dlayer (3,8,“填充”“相同”maxPooling2dLayer(2,“步”2) convolution2dLayer(16日“填充”“相同”maxPooling2dLayer(2,“步”32岁的,2)convolution2dLayer (3“填充”“相同”batchNormalizationLayer reluLayer fullyConnectedLayer(10) softmaxLayer classificationLayer];

Capa de entrada de la imagenUnaimageInputLayer这是我们的特殊之处tamaño这是我们的形象,28可怜28可怜1。Estos números对应a la altura, la anchura y el tamaño del canal。Los datos de dígitos consisten imágenes en escala de grises, así que el tamaño del canal(运河颜色)es 1。彩色图像,el tamaño del canal es 3,对应的值为RGB。没有必要的形制,没有既定的形式,trainNetwork这是一个庄严的盟约。trainNetworkTambién形成层形成层的形式数据的秩序automática我们的心época我们的心。

卡帕convolucionalEn la capa convolucional, el primer argumento esfilterSize,在这片土地上,在这片土地上,在这片土地上,在这片土地上,在这片土地上,在这片土地上función在这片土地上,在这片土地上imágenes。在这里,número 3 indica que el tamaño del filter de 3 por 3。Puede特有的不同tamaños para la altura y la anchura del filtro。第二论点número filtros,numFilters, que es el número de neuronas que se conectan a la misma región de la entrada。Este parámetro determina el número de mapas de características。英勇无畏“填充”Para añadir relleno al mapa de características de entrada。在一个轮回中,在一个既定的条件下“相同”Garantiza que el tamaño salida space sea el mismo que el tamaño de entrada。También在这里,我们可以定义,我们可以做什么,我们可以做什么,我们可以做什么convolution2dLayer

Capa de normalización de lotes最后的结局normalización正常的活动和宣传的梯度través红色的,红海的海洋问题optimización más fácil。利用这段时间normalización在这段时间内,在这段时间内,在这段时间内,在这段时间内,在这段时间内,在这段时间内,在这段时间内,在这段时间内,在这段时间内,在这段时间内,在这段时间内,在这段时间内,在这段时间内,在这段时间内,在这段时间内,在这段时间内,在这段时间内,在这段时间内,在这段时间内,在这段时间内。UtilicebatchNormalizationLayerPara crear una capa de normalización de lotes。

卡帕ReLULa capa de normalización de lotes va seguida de una función de activación没有线性。La función de activación más习惯性统一线性整流(ReLU)。UtilicereluLayerpara crear una capa ReLU。

Capa de agrupación máximaconvolucucales (con funciones de activación) van seguidas en ocasiones de una operación de submuestreo que reduce el tamaño空间的mapa de características y elimina información空间冗余。白土下的增量的El número de filtros在土地上的回旋más深深的sin在必要的悬臂de cálculos por capa。我们的实现之路我们的实用之路agrupación máxima,中间之路maxPooling2dLayer.La capa de agrupación máxima devuelve los valores máximos区域矩形entradas, speciificados por el primer argument (poolSize).En este ejemplo, el tamaño de la región矩形es[2,2]。英勇的辩论“步”特别是el tamaño del salto que la función de entrenamiento toma medida que escanea la entrada。

Capa totalmente conectada拉斯capas convolucional y de submuestreo van seguidas por una o más总的conectada。这是我们的精神世界,这是我们的精神世界,这是我们的精神世界,这是我们的精神世界。这是我们的共同之处características这是我们的前任,这是我们的形象,这是我们的守护神。La última capa total conectada combina las características para classiificar las imágenes。Por tanto, el parámetroOutputSize在la última总括的共同法律número在客观数据上的分类。En este ejemplo, el tamaño salida es 10, que se corresponde con las 10类。UtilicefullyConnectedLayerPara crear una capa total conectada。

卡帕softmaxLa función de activación softmax normaliza La salida de La capmente total conectada。La salida de La capa softmax consistmax en números正面的关于人类的问题,que luego se pueden使用comabilabilades clasificación部分的关于La capa clasificación。Cree una capa softmax mediante la funciónsoftmaxLayerDespués de la última capa totalmente conectada。

Capa de clasificaciónLa capa final es La capa de clasificación。Esta capa utiliza las概率devueltas por la función de activación softmax para cada entrada para asignar la entrada a una de clasesmutuamententesucluyentes y calculus la pérdida。Para crear una capa de clasificación效用classificationLayer

特别的情话

红色结构的定义,特别是连接的操作。红的自然梯度estocástico美好的时刻(SGDM)美好的自然景观(SGDM) 0.01。Establezca el número máximo de épocas en 4.;那época我们的关系是完整的,我们的关系是完整的,我们的关系是完整的。监控precisión红色的持续时间和具体数据validación和一个关系validación。Cambie el orden de los datos en cada época。El software entrena la red según los datos de entrenamiento y calcula la precisión de los datos de validación en intervalos regulares durante El entrenento。关于validación的资料,没有什么可利用的,没有什么可实现的,关于红色的比索。积极的la gráfica行动的进步和行动的la salida de la ventana de突击队。

选项= trainingOptions(“个”...“InitialLearnRate”, 0.01,...“MaxEpochs”4...“洗牌”“every-epoch”...“ValidationData”imdsValidation,...“ValidationFrequency”30岁的...“详细”假的,...“阴谋”“训练进步”);

心中有一颗红色的心

红彤彤的建筑,“约会的日子”和“约会的行动”。形式上的预先决定,trainNetworkusa una GPU en caso de que esté不可用。De lo contrario, usa una CPU。Entrenar en una GPU requiere并行计算工具箱™y undispositivo GPU兼容。Para obtener información清醒的性格,协商GPU计算要求(并行计算工具箱).También puede speciificel enorno de ejecución con el argument de normre -valor“ExecutionEnvironment”trainingOptions

La gráfica de progreso del entreniento muestra La pérdida y La precisión de minilotes y La pérdida y La precisión de validación。Para obtener más información清醒的la gráfica精神进步,协商深度学习进程监测.La pérdida es La pérdida de entropía cruzada。La precisión es el porcentaje de imágenes que La红色分类正确。

net = trainNetwork(imdsTrain,layers,options);

分类imágenes de validación y calcular la precisión

Prediga las etiquetas de los datos de validación con la red entrenada y calcule 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%的预测礼仪与现实礼仪相一致validación。

YPred =分类(net,imdsValidation);YValidation = imdsValidation.Labels;精度= sum(YPred == YValidation)/numel(YValidation)
准确度= 0.9988

Consulte也

|||

特马relacionados