Транспонированный 3-D слой свертки
Транспонированный 3-D слой свертки сверхдискретизировал 3D карты функции.
Этот слой иногда неправильно известен как "развертку" или "deconv" слой. Этот слой является транспонированием свертки и не выполняет развертку.
layer = transposedConv3dLayer(filterSize,numFilters)
layer = transposedConv3dLayer(filterSize,numFilters,Name,Value)
возвращает транспонированный 3-D слой свертки и устанавливает свойства layer
= transposedConv3dLayer(filterSize
,numFilters
)FilterSize
и NumFilters
.
возвращает транспонированный 3-D сверточный слой и задает дополнительные опции с помощью одного или нескольких аргументов пары "имя-значение".layer
= transposedConv3dLayer(filterSize
,numFilters
,Name,Value
)
Создайте транспонированный 3-D сверточный слой с 32 фильтрами, каждого с высотой, шириной и глубиной 11. Используйте шаг 4 в горизонтальных и вертикальных направлениях и 2 вдоль глубины.
layer = convolution3dLayer(11,32,'Stride',[4 4 2])
layer = Convolution3DLayer with properties: Name: '' Hyperparameters FilterSize: [11 11 11] NumChannels: 'auto' NumFilters: 32 Stride: [4 4 2] DilationFactor: [1 1 1] PaddingMode: 'manual' PaddingSize: [2x3 double] Learnable Parameters Weights: [] Bias: [] Show all properties
filterSize
— Высота, ширина и глубина фильтровВысота, ширина и глубина фильтров, заданных как векторный [h w d]
трех положительных целых чисел, где h
является высотой, w
, являются шириной, и d
является глубиной. FilterSize
задает размер локальных областей, с которыми нейроны соединяются во входе.
Если вы устанавливаете FilterSize
с помощью входного параметра, то можно задать FilterSize
как скаляр, чтобы использовать то же значение для всех трех измерений.
Пример:
[5 5 5]
задает фильтры с высотой, шириной и глубиной 5.
numFilters
— Количество фильтровКоличество фильтров, заданных как положительное целое число. Этот номер соответствует количеству нейронов в сверточном слое, которые соединяются с той же областью во входе. Этот параметр определяет количество каналов (карты функции) в выводе сверточного слоя.
Пример:
96
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
'Cropping',1
'Stride'
— Размер шага для того, чтобы пересечь вход[1 1 1]
(значение по умолчанию) | вектор трех положительных целых чиселРазмер шага для того, чтобы пересечь вход в трех измерениях, заданных как векторный [a b c]
трех положительных целых чисел, где a
является вертикальным размером шага, b
, является горизонтальным размером шага, и c
является размером шага вдоль глубины. При создании слоя можно задать Stride
как скаляр, чтобы использовать то же значение для размеров шага во всех трех направлениях.
Пример:
[2 3 1]
задает вертикальный размер шага 2, горизонтальный размер шага 3 и размер шага вдоль глубины 1.
'Cropping'
— Выведите сокращение размера0
(значение по умолчанию) | 'same'
| вектор неотрицательных целых чисел | матрица неотрицательных целых чиселВыведите сокращение размера, заданное как одно из следующего:
'same'
– Установите обрезку так, чтобы выходной размер равнялся inputSize .* Stride
, где inputSize
является высотой, шириной и глубиной входа слоя. Если вы устанавливаете опцию 'Cropping'
на 'same'
, то программное обеспечение автоматически устанавливает свойство CroppingMode
слоя к 'same'
.
Программное обеспечение обрезает равную сумму от верха и низа, левого и правого, и передняя и задняя часть, если это возможно. Если вертикальная сумма обрезки имеет нечетное значение, то программное обеспечение обрезает дополнительную строку от нижней части. Если горизонтальная сумма обрезки имеет нечетное значение, то программное обеспечение обрезает дополнительный столбец справа. Если сумма обрезки глубины имеет нечетное значение, то программное обеспечение обрезает дополнительную плоскость от спины.
Положительное целое число – Обрезка заданный объем данных от всех ребер.
Вектор неотрицательных целых чисел [a b c]
– Обрезка a
от верха и низа, обрежьте b
слева и право, и обрежьте c
от передней и задней части.
матрица неотрицательных целых чисел [t l f; b r bk]
неотрицательных целых чисел — Обрезка t
, l
, f
, b
, r
, bk
от верхней части, оставленной, передняя сторона, нижняя часть, право и задняя часть входа, соответственно.
Пример:
[1 2 2]
'NumChannels'
— Количество каналов для каждого фильтра'auto'
(значение по умолчанию) | положительное целое числоКоличество каналов для каждого фильтра, заданного как 'NumChannels
' и вектор символов 'auto'
или положительное целое число.
Этот параметр должен быть равен количеству каналов входа к этому сверточному слою. Например, если вход является цветным изображением, то количество каналов для входа должно быть 3. Если количество фильтров для сверточного слоя до текущего слоя равняется 16, то количество каналов для этого слоя должно быть 16.
'WeightsInitializer'
— Функция, чтобы инициализировать веса'glorot'
(значение по умолчанию) | 'he'
| 'narrow-normal'
| 'zeros'
| 'ones'
| указатель на функциюФункция, чтобы инициализировать веса, заданные как одно из следующего:
'glorot'
– Инициализируйте веса с инициализатором Glorot [1] (также известный как инициализатор Ксавьера). Инициализатор Glorot независимо выбирает от равномерного распределения с нулевым средним значением и отклонением 2/(numIn + numOut)
, где numIn = filterSize(1)*filterSize(2)*filterSize(3)*NumChannels
, numOut = filterSize(1)*filterSize(2)*filterSize(3)*numFilters
и NumChannels
являются количеством входных каналов.
'he'
– Инициализируйте веса с Ним инициализатор [2]. Выборки инициализатора Его от нормального распределения с нулевым средним значением и отклонением 2/numIn
, где numIn = filterSize(1)*filterSize(2)*filterSize(3)*NumChannels
и NumChannels
являются количеством входных каналов.
'narrow-normal'
– Инициализируйте веса путем независимой выборки от нормального распределения с нулевым средним и стандартным отклонением 0.01.
нули
Инициализируйте веса с нулями.
единицы
Инициализируйте веса с единицами.
Указатель на функцию – Инициализирует веса с пользовательской функцией. Если вы задаете указатель на функцию, то функция должна иметь форму weights = func(sz)
, где sz
является размером весов. Для примера смотрите, Задают Пользовательскую Функцию Инициализации Веса.
Слой только инициализирует веса, когда свойство Weights
пусто.
Типы данных: char
| string
| function_handle
'BiasInitializer'
— Функция, чтобы инициализировать смещение'zeros'
(значение по умолчанию) | 'narrow-normal'
| 'ones'
| указатель на функциюФункция, чтобы инициализировать смещение, заданное как одно из следующего:
нули
Инициализируйте смещение с нулями.
единицы
Инициализируйте смещение с единицами.
'narrow-normal'
– Инициализируйте смещение путем независимой выборки от нормального распределения с нулевым средним и стандартным отклонением 0.01.
Указатель на функцию – Инициализирует смещение с пользовательской функцией. Если вы задаете указатель на функцию, то функция должна иметь форму bias = func(sz)
, где sz
является размером смещения.
Слой только инициализирует смещение, когда свойство Bias
пусто.
Типы данных: char
| string
| function_handle
'Weights'
— Веса слоя[]
(значение по умолчанию) | числовой массивВеса слоя для транспонированного сверточного слоя, заданного как числовой массив.
Веса слоя являются learnable параметрами. Можно задать начальное значение для весов непосредственно с помощью свойства Weights
слоя. При обучении сети, если свойство Weights
слоя непусто, то trainNetwork
использует свойство Weights
в качестве начального значения. Если свойство Weights
пусто, то trainNetwork
использует инициализатор, заданный свойством WeightsInitializer
слоя.
В учебное время Weights
является FilterSize(1)
-by-FilterSize(2)-by-FilterSize(3)-by-numFilters-by-
NumChannels
массив.
Типы данных: single | double
'Bias'
— Смещения слоя[]
(значение по умолчанию) | числовой массивСлой смещает для транспонированного сверточного слоя, заданного как числовой массив.
Смещения слоя являются learnable параметрами. При обучении сети, если Bias
непуст, то trainNetwork
использует свойство Bias
в качестве начального значения. Если Bias
пуст, то trainNetwork
использует инициализатор, заданный BiasInitializer
.
В учебное время, Bias
1 1 1 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
установлен в ''
, то программное обеспечение автоматически присваивает имя к слою в учебное время.
Типы данных: char | string
layer
— Транспонированный 3-D слой сверткиTransposedConvolution3DLayer
Транспонированный 3-D слой свертки, возвращенный как объект TransposedConvolution3dLayer
.
[1] Glorot, Ксавьер и Иосуа Бенхио. "Понимая трудность учебных глубоких feedforward нейронных сетей". В Продолжениях тринадцатой международной конференции по вопросам искусственного интеллекта и статистики, стр 249-256. 2010.
[2] Он, Kaiming, Сянюй Чжан, Шаоцин Жэнь и Цзянь Сунь. "Копаясь глубоко в выпрямителях: Превосходная производительность человеческого уровня на imagenet классификации". В Продолжениях международной конференции IEEE по вопросам компьютерного зрения, стр 1026-1034. 2015.
SoftmaxLayer
| TransposedConvolution3dLayer
| averagePooling3dLayer
| maxPooling3dLayer
| transposedConv2dLayer
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.