Транспонированный 2-D сверточный слой
Транспонированный слой свертки 2-D увеличивает выборку карт элементов.
Этот слой иногда неверно известен как «деконволюционный» или «деконв» слой. Этот слой является транспонированием свертки и не выполняет деконволюцию.
Создание транспонированной свертки 2-D выходного слоя с помощью transposedConv2dLayer.
FilterSize - Высота и ширина фильтровВысота и ширина фильтров, заданная как вектор двух положительных целых чисел [h w], где h - высота и w - ширина. FilterSize определяет размер локальных областей, к которым соединяются нейроны на входе.
Если установить FilterSize используя входной аргумент, можно указать FilterSize как скаляр, чтобы использовать одно и то же значение для обоих измерений.
Пример:
[5 5] задает фильтры высоты 5 и ширины 5.
NumFilters - Количество фильтровЧисло фильтров, указанное как положительное целое число. Это число соответствует количеству нейронов в сверточном слое, которые соединяются с одной и той же областью на входе. Этот параметр определяет количество каналов (карты характеристик) на выходе сверточного уровня.
Пример:
96
Stride - Размер шага для проходного ввода[1 1] (по умолчанию) | вектор двух положительных целых чиселРазмер шага для прохождения входного сигнала по вертикали и горизонтали, заданный как вектор [a b] двух положительных целых чисел, где a - вертикальный размер шага и b - размер шага по горизонтали. При создании слоя можно указать Stride в качестве скаляра для использования одинакового значения для обоих размеров шага.
Пример:
[2 3] задает вертикальный размер шага 2 и горизонтальный размер шага 3.
CroppingMode - Метод определения размера обрезки'manual' (по умолчанию) | 'same'Метод определения размера обрезки, указанный как 'manual' или то же самое.
Программа автоматически устанавливает значение CroppingMode на основе 'Cropping' значение, задаваемое при создании слоя.
Если установить 'Cropping' в числовое значение, то программное обеспечение автоматически устанавливает CroppingMode свойства слоя для 'manual'.
Если установить 'Cropping' опция для 'same', то программное обеспечение автоматически устанавливает CroppingMode свойства слоя для 'same' и установить обрезку таким образом, чтобы выходной размер был равен inputSize .* Stride, где inputSize - высота и ширина входного слоя.
Для задания размера обрезки используйте 'Cropping' вариант transposedConv2dLayer.
CroppingSize - Уменьшение размера выпуска[0 0 0 0] (по умолчанию) | вектор четырех неотрицательных целых чиселУменьшение размера выходного сигнала, определяемое как вектор четырех неотрицательных целых чисел [t b l r], где t, b, l, r являются суммами для обрезки сверху, снизу, слева и справа соответственно.
Чтобы задать размер обрезки вручную, используйте 'Cropping' вариант transposedConv2dLayer.
Пример:
[0 1 0 1]
Cropping - Уменьшение размера выпуска[0 0] (по умолчанию) | вектор двух неотрицательных целых чиселПримечание
Cropping свойство будет удалено в следующем выпуске. Использовать CroppingSize вместо этого. Чтобы задать размер обрезки вручную, используйте 'Cropping' вариант transposedConv2dLayer.
Уменьшение размера выходного сигнала, определяемое как вектор двух неотрицательных целых чисел [a b], где a соответствует обрезке сверху и снизу и b соответствует обрезке слева и справа.
Чтобы задать размер обрезки вручную, используйте 'Cropping' вариант transposedConv2dLayer.
Пример:
[0 1]
NumChannels - Количество каналов для каждого фильтра'auto' (по умолчанию) | целое числоКоличество каналов для каждого фильтра, указанное как 'NumChannels«и» 'auto' или целое число.
Этот параметр должен быть равен количеству каналов входа в этот сверточный уровень. Например, если вход является цветным изображением, то количество каналов для входа должно быть равно 3. Если число фильтров для сверточного уровня до текущего уровня равно 16, то количество каналов для этого уровня должно быть равно 16.
WeightsInitializer - Функция инициализации весов'glorot' (по умолчанию) | 'he' | 'narrow-normal' | 'zeros' | 'ones' | дескриптор функцииФункция для инициализации весов, указанных как одно из следующих:
'glorot' - Инициализируйте веса с помощью инициализатора Glorot [1] (также известного как инициализатор Xavier). Инициализатор Glorot независимо отсчитывает из однородного распределения с нулевым средним и дисперсией 2/(numIn + numOut), где numIn = FilterSize(1)*FilterSize(2)*NumChannels и numOut = FilterSize(1)*FilterSize(2)*NumFilters.
'he' - Инициализируйте веса с помощью инициализатора He [2]. Выборка инициализатора He из нормального распределения с нулевым средним и дисперсией 2/numIn, где numIn = FilterSize(1)*FilterSize(2)*NumChannels.
'narrow-normal' - Инициализация весов путем независимой выборки из нормального распределения с нулевым средним и стандартным отклонением 0,01.
'zeros' - Инициализация весов с нулями.
'ones' - Инициализируйте веса единицами.
Дескриптор функции - инициализация весов с помощью пользовательской функции. Если указан дескриптор функции, то функция должна иметь вид weights = func(sz), где sz - размер весов. Пример см. в разделе Определение пользовательской функции инициализации веса.
Слой инициализирует веса только в том случае, если Weights пустое свойство.
Типы данных: char | string | function_handle
BiasInitializer - Функция инициализации смещения'zeros' (по умолчанию) | 'narrow-normal' | 'ones' | дескриптор функцииФункция инициализации смещения, указанная как одно из следующих:
'zeros' - Инициализируйте смещение нулями.
'ones' - Инициализировать смещение с помощью таковых.
'narrow-normal' - Инициализировать смещение путем независимой выборки из нормального распределения с нулевым средним и стандартным отклонением 0,01.
Дескриптор функции - инициализация смещения с помощью пользовательской функции. Если указан дескриптор функции, то функция должна иметь вид bias = func(sz), где sz - размер смещения.
Уровень инициализирует смещение только в том случае, если Bias пустое свойство.
Типы данных: char | string | function_handle
Weights - Веса слоев[] (по умолчанию) | числовой массивВеса слоев для сверточного слоя, заданные как FilterSize(1)около-FilterSize(2)около-NumFiltersоколо-NumChannels массив.
Веса слоев являются обучаемыми параметрами. Можно указать начальное значение для весов непосредственно с помощью Weights свойство слоя. При обучении сети, если Weights свойство слоя является непустым, то trainNetwork использует Weights свойство в качестве начального значения. Если Weights свойство пустое, затем trainNetwork использует инициализатор, указанный WeightsInitializer свойство слоя.
Типы данных: single | double
Bias - Смещения слоев[] (по умолчанию) | числовой массивСмещения слоев для сверточного слоя, заданные как числовой массив.
Смещения слоя - это обучаемые параметры. При обучении сети, если Bias является непустым, то trainNetwork использует Bias свойство в качестве начального значения. Если Bias пуст, затем trainNetwork использует инициализатор, указанный BiasInitializer.
Во время обучения, Bias является 1 на 1-by-NumFilters массив.
Типы данных: single | double
WeightLearnRateFactor - Коэффициент коэффициента усвоения весовКоэффициент скорости обучения для весов, заданный как неотрицательный скаляр.
Программное обеспечение умножает этот коэффициент на глобальную скорость обучения, чтобы определить скорость обучения для весов на этом уровне. Например, если WeightLearnRateFactor 2, то скорость обучения для весов в этом слое вдвое превышает текущую глобальную скорость обучения. Программа определяет глобальную скорость обучения на основе настроек, указанных в trainingOptions функция.
Пример:
2
BiasLearnRateFactor - Коэффициент успеваемости для предубежденийКоэффициент скорости обучения для смещений, заданный как неотрицательный скаляр.
Программное обеспечение умножает этот коэффициент на глобальную скорость обучения, чтобы определить скорость обучения для отклонений на этом уровне. Например, если BiasLearnRateFactor 2, тогда скорость обучения для отклонений в слое в два раза превышает текущую глобальную скорость обучения. Программа определяет глобальную скорость обучения на основе настроек, указанных в trainingOptions функция.
Пример:
2
WeightL2Factor - коэффициент регуляризации L2 для весовL2 коэффициент регуляризации для весов, определяемый как неотрицательный скаляр.
Программное обеспечение умножает этот коэффициент на глобальный коэффициент регуляризации L2, чтобы определить L2 регуляризацию для весов в этом слое. Например, если WeightL2Factor 2, то L2 регуляризация для весов в этом слое вдвое больше глобального коэффициента регуляризации L2. Можно указать глобальный коэффициент регуляризации L2 с помощью trainingOptions функция.
Пример:
2
BiasL2Factor - коэффициент регуляризации L2 для отклоненийL2 коэффициент регуляризации для смещений, определяемый как неотрицательный скаляр.
Программное обеспечение умножает этот коэффициент на глобальный коэффициент регуляризации L2, чтобы определить L2 регуляризацию для смещений на этом уровне. Например, если BiasL2Factor 2, то L2 регуляризация для смещений в этом слое вдвое превышает глобальный коэффициент регуляризации L2. Можно указать глобальный коэффициент регуляризации L2 с помощью trainingOptions функция.
Пример:
2
Name - Имя слоя'' (по умолчанию) | символьный вектор | строковый скаляр
Имя слоя, указанное как символьный вектор или строковый скаляр. Чтобы включить слой в график слоев, необходимо указать непустое уникальное имя слоя. Если вы обучаете последовательную сеть с уровнем и Name имеет значение ''затем программа автоматически присваивает имя слою во время обучения.
Типы данных: char | string
NumInputs - Количество входовКоличество входов слоя. Этот слой принимает только один вход.
Типы данных: double
InputNames - Входные имена{'in'} (по умолчанию)Входные имена слоя. Этот слой принимает только один вход.
Типы данных: cell
NumOutputs - Количество выходовКоличество выходов уровня. Этот уровень имеет только один выход.
Типы данных: double
OutputNames - Имена выходных данных{'out'} (по умолчанию)Выходные имена слоя. Этот уровень имеет только один выход.
Типы данных: cell
Создайте транспонированный сверточный слой с 96 фильтрами, каждый с высотой и шириной 11. Используйте шаг 4 в горизонтальном и вертикальном направлениях.
layer = transposedConv2dLayer(11,96,'Stride',4);В R2019a изменилось поведение
Начиная с R2019a, программное обеспечение по умолчанию инициализирует веса слоев этого слоя с помощью инициализатора Glorot. Такое поведение помогает стабилизировать обучение и обычно сокращает время обучения глубоких сетей.
В предыдущих версиях программное обеспечение по умолчанию инициализирует веса слоев путем выборки из нормального распределения с нулевым средним значением и дисперсией 0,01. Чтобы воспроизвести это поведение, установите 'WeightsInitializer' параметр слоя в 'narrow-normal'.
Cropping имущество TransposedConvolution2DLayer будет удаленНе рекомендуется начинать с R2019a
Cropping имущество TransposedConvolution2DLayer будет удален, используйте CroppingSize вместо этого. Чтобы обновить код, замените все экземпляры Cropping свойство с CroppingSize.
[1] Глорот, Ксавье и Йошуа Бенгио. «Понимание сложности обучения глубоким нейронным сетям». Материалы тринадцатой Международной конференции по искусственному интеллекту и статистике, 249-356. Сардиния, Италия: AISTATS, 2010.
[2] Хэ, Каймин, Сянъу Чжан, Шаоцин Жэнь и Цзянь Сунь. «Углубляясь в выпрямители: превосходя показатели на уровне человека по классификации ImageNet». В трудах Международной конференции IEEE 2015 по компьютерному зрению, 1026-1034. Вашингтон, округ Колумбия: Общество компьютерного зрения IEEE, 2015.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.