Вычислять активации сетевого уровня глубокого обучения
Можно вычислить активизацию сетевого уровня глубокого обучения на CPU или GPU. Для использования графического процессора требуется Toolbox™ параллельных вычислений и поддерживаемое устройство графического процессора. Сведения о поддерживаемых устройствах см. в разделе Поддержка графического процессора по выпуску (Parallel Computing Toolbox). Укажите требования к оборудованию с помощью ExecutionEnvironment аргумент пары имя-значение.
возвращает сетевые активации с дополнительными параметрами, заданными одним или несколькими аргументами пары имя-значение. Например, act = activations(___,Name,Value)'OutputAs','rows' задает формат выходных данных активации как 'rows'. Укажите аргументы пары имя-значение после всех других входных аргументов.
В этом примере показано, как извлечь изученные особенности изображения из предварительно обученной сверточной нейронной сети и использовать их для обучения классификатора изображений. Извлечение характеристик - самый простой и быстрый способ использования репрезентативной силы предварительно подготовленных глубоких сетей. Например, можно обучить вспомогательную векторную машину (SVM) с помощью fitcecoc (Статистика и Toolbox™ машинного обучения) по извлеченным функциям. Поскольку извлечение функций требует только одного прохода через данные, это хорошая отправная точка, если у вас нет графического процессора для ускорения обучения сети с помощью.
Загрузить данные
Распакуйте и загрузите образцы изображений как хранилище данных изображений. imageDatastore автоматически помечает изображения на основе имен папок и сохраняет данные в виде ImageDatastore объект. Хранилище данных изображения позволяет хранить большие данные изображения, включая данные, которые не помещаются в память. Разбейте данные на 70% обучающих и 30% тестовых данных.
unzip('MerchData.zip'); imds = imageDatastore('MerchData', ... 'IncludeSubfolders',true, ... 'LabelSource','foldernames'); [imdsTrain,imdsTest] = splitEachLabel(imds,0.7,'randomized');
Этот очень маленький набор данных теперь имеет 55 обучающих изображений и 20 подтверждающих изображений. Отображение некоторых образцов изображений.
numImagesTrain = numel(imdsTrain.Labels);
idx = randperm(numImagesTrain,16);
I = imtile(imds, 'Frames', idx);
figure
imshow(I)
Загрузить предварительно обученную сеть
Загрузите предварительно обученную сеть SqueeEcNet. SqueeeNet обучен работе с более чем миллионом изображений и может классифицировать изображения по 1000 категориям объектов, например, клавиатура, мышь, карандаш и многие животные. В результате модель получила богатые представления элементов для широкого спектра изображений.
net = squeezenet;
Проанализируйте архитектуру сети.
analyzeNetwork(net)

Первый слой, изображение ввело слой, требует входных изображений размера 227 на 227 на 3, где 3 количество цветных каналов.
inputSize = net.Layers(1).InputSize
inputSize = 1×3
227 227 3
Извлечь элементы изображения
Сеть создает иерархическое представление входных изображений. Более глубокие слои содержат элементы более высокого уровня, построенные с использованием элементов более низкого уровня более ранних слоев. Для получения функциональных представлений обучающих и тестовых изображений используйте activations на уровне глобального среднего объединения 'pool10'. Чтобы получить представление изображений более низкого уровня, используйте более ранний уровень в сети.
Сеть требует входных изображений размером 227-на-227-на-3, но изображения в хранилищах данных изображений имеют разные размеры. Чтобы автоматически изменить размер обучающих и тестовых изображений перед их вводом в сеть, создайте хранилища данных дополненных изображений, укажите требуемый размер изображения и используйте эти хранилища данных в качестве входных аргументов для activations.
augimdsTrain = augmentedImageDatastore(inputSize(1:2),imdsTrain); augimdsTest = augmentedImageDatastore(inputSize(1:2),imdsTest); layer = 'pool10'; featuresTrain = activations(net,augimdsTrain,layer,'OutputAs','rows'); featuresTest = activations(net,augimdsTest,layer,'OutputAs','rows');
Извлеките метки класса из данных обучения и тестирования.
YTrain = imdsTrain.Labels; YTest = imdsTest.Labels;
Классификатор изображения подгонки
Используйте функции, извлеченные из обучающих изображений, в качестве переменных предиктора и поместите многоклассную машину векторов поддержки (SVM), используя fitcecoc (Статистика и инструментарий машинного обучения).
mdl = fitcecoc(featuresTrain,YTrain);
Классификация тестовых изображений
Классифицируйте тестовые изображения с использованием обученной модели SVM и функций, извлеченных из тестовых изображений.
YPred = predict(mdl,featuresTest);
Отображение четырех образцов тестовых изображений с их прогнозируемыми метками.
idx = [1 5 10 15]; figure for i = 1:numel(idx) subplot(2,2,i) I = readimage(imdsTest,idx(i)); label = YPred(idx(i)); imshow(I) title(label) end

Рассчитайте точность классификации на тестовом наборе. Точность - это доля меток, которую сеть предсказывает правильно.
accuracy = mean(YPred == YTest)
accuracy = 1
Этот SVM имеет высокую точность. Если точность недостаточно высока с помощью извлечения элементов, попробуйте перенести обучение.
net - Обученная сетьSeriesNetwork объект | DAGNetwork объектОбученная сеть, указанная как SeriesNetwork или DAGNetwork объект. Обученную сеть можно получить путем импорта предварительно обученной сети (например, с помощью googlenet функция) или обучая собственную сеть с помощью trainNetwork.
imds - Хранилище данных образаImageDatastore объектХранилище данных изображения, указанное как ImageDatastore объект.
ImageDatastore позволяет выполнять пакетное чтение файлов изображений JPG или PNG с помощью предварительной выборки. Если для чтения изображений используется пользовательская функция, то ImageDatastore не выполняет предварительную выборку.
Совет
Использовать augmentedImageDatastore для эффективной предварительной обработки изображений для глубокого обучения, включая изменение размеров изображений.
Не используйте readFcn вариант imageDatastore для предварительной обработки или изменения размера, поскольку этот параметр обычно значительно медленнее.
ds - Хранилище данныхХранилище данных для данных из памяти и предварительной обработки. Хранилище данных должно возвращать данные в таблице или массиве ячеек. Формат выходных данных хранилища данных зависит от архитектуры сети.
| Сетевая архитектура | Выходные данные хранилища данных | Пример вывода |
|---|---|---|
| Одиночный вход | Таблица или массив ячеек, где первый столбец определяет предикторы. Элементы таблицы должны быть скалярами, векторами строк или массивами ячеек 1 на 1, содержащими числовой массив. Пользовательские хранилища данных должны выводить таблицы. |
data = read(ds) data =
4×1 table
Predictors
__________________
{224×224×3 double}
{224×224×3 double}
{224×224×3 double}
{224×224×3 double}
|
data = read(ds) data =
4×1 cell array
{224×224×3 double}
{224×224×3 double}
{224×224×3 double}
{224×224×3 double} | ||
| Множественный вход | Массив ячеек по крайней мере с Первое Порядок входных данных задается |
data = read(ds) data =
4×2 cell array
{224×224×3 double} {128×128×3 double}
{224×224×3 double} {128×128×3 double}
{224×224×3 double} {128×128×3 double}
{224×224×3 double} {128×128×3 double} |
Формат предикторов зависит от типа данных.
| Данные | Формат предикторов |
|---|---|
| 2-D изображение | h-by-w-by-c числовой массив, где h, w и c - высота, ширина и количество каналов изображения соответственно. |
| 3-D изображение | h-by-w-by-d-by-c числовой массив, где h, w, d и c - высота, ширина, глубина и количество каналов изображения соответственно. |
| Векторная последовательность | матрица c-by-s, где c - число признаков последовательности, а s - длина последовательности. |
| 2-D последовательность изображений | h-by-w-by-c-by-s массив, где h, w и c соответствуют высоте, ширине и количеству каналов изображения соответственно, а s - длина последовательности. Каждая последовательность в мини-партии должна иметь одинаковую длину. |
| 3-D последовательность изображений | h-by-w-d-by-c-by-s массив, где h, w, d и c соответствуют высоте, ширине, глубине и количеству каналов изображения, соответственно, и s - длина последовательности. Каждая последовательность в мини-партии должна иметь одинаковую длину. |
| Особенности | вектор столбца c-by-1, где c - количество элементов. |
Дополнительные сведения см. в разделе Хранилища данных для глубокого обучения.
X - Данные изображения или элементаДанные изображения или элемента, заданные как числовой массив. Размер массива зависит от типа ввода:
| Вход | Описание |
|---|---|
| 2-D изображения | Числовой массив h-by-w-by-c-by-N, где h, w и c - высота, ширина и количество каналов изображений соответственно, а N - количество изображений. |
| 3-D изображения | Числовой массив h-by-d-by-c-by-N, где h, w, d и c - высота, ширина, глубина и количество каналов изображений соответственно, а N - количество изображений. |
| Особенности | A N-by-numFeatures числовой массив, где N - количество наблюдений и numFeatures - количество признаков входных данных. |
Если массив содержит NaNs, затем они распространяются по сети.
Для сетей с несколькими входами можно указать несколько массивов X1, …, XN, где N - количество сетевых входов и входов Xi соответствует сетевому входу net.InputNames(i).
Для ввода изображения, если 'OutputAs' опция - 'channels', затем изображения во входных данных X может быть больше, чем входной размер входного слоя изображения сети. Для других форматов вывода изображения в X должен иметь тот же размер, что и входной размер входного слоя изображения сети.
sequences - Данные последовательности или временных рядовДанные последовательности или временного ряда, заданные как массив N-by-1 ячеек числовых массивов, где N - количество наблюдений, числовой массив, представляющий одну последовательность, или хранилище данных.
Для ввода массива ячеек или числового массива размеры числовых массивов, содержащих последовательности, зависят от типа данных.
| Вход | Описание |
|---|---|
| Векторные последовательности | матрицы c-by-s, где c - число признаков последовательностей, а s - длина последовательности. |
| 2-D последовательности изображений | массивы h-by-w-by-s, где h, w и c соответствуют высоте, ширине и количеству каналов изображений, соответственно, и s - длина последовательности. |
| 3-D последовательности изображений | h-by-w-d-by-c-by-s, где h, w, d и c соответствуют высоте, ширине, глубине и количеству каналов 3-D изображений, соответственно, и s - длина последовательности. |
Для входа хранилища данных хранилище данных должно возвратить данные как множество клетки последовательностей или стола, первая колонка которого содержит последовательности. Размеры данных последовательности должны соответствовать приведенной выше таблице.
tbl - Таблица данных изображения или элементаtable
Таблица данных изображения или элемента. Каждая строка в таблице соответствует наблюдению.
Расположение предикторов в столбцах таблицы зависит от типа входных данных.
| Вход | Предсказатели |
|---|---|
| Данные изображения |
Укажите предикторы в одном столбце. |
| Данные о характеристиках | Числовой скаляр. Укажите предикторы в первом |
Этот аргумент поддерживает сети только с одним входом.
Типы данных: table
layer - Слой для извлечения активаций изСлой для извлечения активаций, указанный как числовой индекс или символьный вектор.
Вычисление активаций SeriesNetwork укажите слой, используя его числовой индекс, или в качестве символьного вектора, соответствующего имени слоя.
Вычисление активаций DAGNetwork укажите слой в качестве символьного вектора, соответствующего имени слоя. Если слой имеет несколько выходов, укажите слой и вывод в качестве имени слоя, за которым следует символ «/», за которым следует имя вывода слоя. То есть layer имеет вид 'layerName/outputName'.
Пример: 3
Пример: 'conv1'
Пример: 'mpool/out'
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
activations(net,X,layer,'OutputAs','rows')'OutputAs' - Формат выходных активаций'channels' (по умолчанию) | 'rows' | 'columns'Формат выходных активаций, определяемый как разделенная запятыми пара, состоящая из 'OutputAs' и либо 'channels', 'rows', или 'columns'. Описание различных форматов вывода см. в разделе act.
Для ввода изображения, если 'OutputAs' опция - 'channels', затем изображения во входных данных X может быть больше, чем входной размер входного слоя изображения сети. Для других форматов вывода изображения в X должен иметь тот же размер, что и входной размер входного слоя изображения сети.
Пример: 'OutputAs','rows'
'MiniBatchSize' - Размер мини-партийРазмер мини-пакетов, используемых для прогнозирования, задается как положительное целое число. Большие размеры мини-партии требуют больше памяти, но могут привести к более быстрым прогнозам.
Пример: 'MiniBatchSize',256
'SequenceLength' - Опция для вставки, усечения или разделения входных последовательностей'longest' (по умолчанию) | 'shortest' | положительное целое числоОпция для вставки, усечения или разделения входных последовательностей, заданная как одна из следующих:
'longest' - Последовательности прокладок в каждой мини-партии должны иметь ту же длину, что и самая длинная последовательность. Этот параметр не отбрасывает данные, хотя заполнение может вызвать шум в сети.
'shortest' - Усечение последовательностей в каждой мини-партии до такой же длины, что и самая короткая последовательность. Этот параметр обеспечивает отсутствие добавления дополнений за счет отбрасывания данных.
Положительное целое число - для каждой мини-партии поместите последовательности в ближайшую кратную указанную длину, которая больше, чем самая длинная длина последовательности в мини-партии, а затем разбейте последовательности на меньшие последовательности указанной длины. Если происходит разделение, программа создает дополнительные мини-пакеты. Используйте эту опцию, если полные последовательности не помещаются в память. Либо попробуйте уменьшить количество последовательностей на мини-пакет, установив 'MiniBatchSize' для более низкого значения.
Дополнительные сведения об эффекте заполнения, усечения и разделения входных последовательностей см. в разделах Заполнение последовательности, усечение и разделение.
Пример: 'SequenceLength','shortest'
'SequencePaddingValue' - Значения для входных последовательностей площадкиЗначение, с помощью которого подаются входные последовательности, заданные как скаляр. Параметр допустим только в том случае, если SequenceLength является 'longest' или положительное целое число. Не устанавливать последовательности с NaN, поскольку это может распространять ошибки по всей сети.
Пример: 'SequencePaddingValue',-1
'SequencePaddingDirection' - Направление заполнения или усечения'right' (по умолчанию) | 'left'Направление заполнения или усечения, указанное как одно из следующих:
'right' - Последовательность подушек или усечений справа. Последовательности начинаются на одном и том же этапе, и программное обеспечение усекает или добавляет дополнение к концу последовательностей.
'left' - Последовательность подушек или усечений слева. Программное обеспечение усекает или добавляет дополнение к началу последовательностей, так что последовательности заканчиваются на одном и том же шаге времени.
Поскольку уровни LSTM обрабатывают данные последовательности один раз за раз, когда уровень OutputMode свойство - 'last'любое заполнение на последних временных этапах может отрицательно влиять на выход слоя. Для размещения или усечения данных последовательности слева установите 'SequencePaddingDirection' опция для 'left'.
Для сетей «последовательность-последовательность» (когда OutputMode свойство - 'sequence' для каждого уровня LSTM), любое заполнение в первых временных шагах может негативно влиять на прогнозы для более ранних временных шагов. Для добавления или усечения данных последовательности справа установите 'SequencePaddingDirection' опция для 'right'.
Дополнительные сведения об эффекте заполнения, усечения и разделения входных последовательностей см. в разделах Заполнение последовательности, усечение и разделение.
'Acceleration' - Оптимизация производительности'auto' (по умолчанию) | 'mex' | 'none'Оптимизация производительности, указанная как пара, разделенная запятыми, состоящая из 'Acceleration' и одно из следующих:
'auto' - Автоматически применять ряд оптимизаций, подходящих для входной сети и аппаратных ресурсов.
'mex' - Компиляция и выполнение функции MEX. Эта опция доступна только при использовании графического процессора. Для использования графического процессора требуется панель параллельных вычислений и поддерживаемое устройство графического процессора. Сведения о поддерживаемых устройствах см. в разделе Поддержка графического процессора по выпуску (Parallel Computing Toolbox). Если панель инструментов Parallel Computing Toolbox или подходящий графический процессор недоступны, программа возвращает ошибку.
'none' - Отключить все ускорения.
Параметр по умолчанию: 'auto'. Если 'auto' указано, MATLAB ® применит ряд совместимых оптимизаций. Если вы используете 'auto' , MATLAB никогда не генерирует функцию MEX.
Использование 'Acceleration' варианты 'auto' и 'mex' может обеспечить преимущества производительности, но за счет увеличенного начального времени выполнения. Последующие вызовы с совместимыми параметрами выполняются быстрее. Оптимизация производительности используется при планировании многократного вызова функции с использованием новых входных данных.
'mex' генерирует и выполняет функцию MEX на основе сети и параметров, используемых в вызове функции. Вы можете иметь несколько функций MEX, связанных с одной сетью одновременно. При сбросе сетевой переменной также удаляются все функции MEX, связанные с этой сетью.
'mex' доступна только при использовании графического процессора. Необходимо установить компилятор C/C + + и пакет поддержки GPU Coder™ Interface for Deep Learning Libraries. Установите пакет поддержки с помощью проводника Add-On в MATLAB. Инструкции по установке см. в разделе Настройка MEX (кодер графического процессора). Кодер графического процессора не требуется.
'mex' не поддерживает все слои. Список поддерживаемых слоев см. в разделе Поддерживаемые слои (кодер графического процессора). Рецидивирующие нейронные сети (RNN), содержащие sequenceInputLayer не поддерживаются.
'mex' не поддерживает сети с несколькими входными слоями или с несколькими выходными слоями.
Нельзя использовать MATLAB Compiler™ для развертывания сети при использовании 'mex' вариант.
Пример: 'Acceleration','mex'
'ExecutionEnvironment' - Аппаратный ресурс'auto' (по умолчанию) | 'gpu' | 'cpu'Аппаратный ресурс, указанный как разделенная запятыми пара, состоящая из 'ExecutionEnvironment' и одно из следующих:
'auto' - использовать графический процессор, если он доступен; в противном случае используйте CPU.
'gpu' - Использовать графический процессор. Для использования графического процессора требуется панель параллельных вычислений и поддерживаемое устройство графического процессора. Сведения о поддерживаемых устройствах см. в разделе Поддержка графического процессора по выпуску (Parallel Computing Toolbox). Если панель инструментов Parallel Computing Toolbox или подходящий графический процессор недоступны, программа возвращает ошибку.
'cpu' - Использовать ЦП.
Пример: 'ExecutionEnvironment','cpu'
act - Активации с сетевого уровняАктивации с сетевого уровня, возвращаемые в виде числового массива или массива ячеек числовых массивов. Формат act зависит от типа входных данных, типа вывода слоя и 'OutputAs' вариант.
Если слой выводит данные изображения или сложенной последовательности, то act является числовым массивом.
'OutputAs' | act |
|---|---|
'channels' | Для вывода 2-D изображения: Для вывода 3-D изображения: Для вывода последовательности сложенных 2-D изображений, Для вывода последовательности сложенных 3-D изображений, |
'rows' | Для вывода 2-D и 3-D изображения: Для сложенных 2-D и 3-D вывода последовательности изображений, |
'columns' | Для вывода 2-D и 3-D изображения: Для сложенных 2-D и 3-D вывода последовательности изображений, |
Если layer имеет вывод последовательности (например, уровни LSTM с режимом вывода) 'sequence'), то act является массивом ячеек. В этом случае 'OutputAs' параметр должен быть 'channels'.
'OutputAs' | act |
|---|---|
'channels' | Для вывода векторной последовательности Для вывода 2-D последовательности изображений: Для вывода 3-D последовательности изображений: В этих случаях |
Если layer выводит один временной шаг последовательности (например, уровень LSTM с режимом вывода) 'last'), то act является числовым массивом.
'OutputAs' | act |
|---|---|
'channels' | Для одного временного шага, содержащего векторные данные, Для одного временного шага, содержащего 2-D данные изображения, Для одного временного шага, содержащего 3-D данные изображения, |
'rows' | матрица n-by-m, где n - число наблюдений, и m - количество выходных элементов выбранного слоя. В этом случае act(i,:) содержит активации для iВ-й последовательности. |
'columns' | матрица m-на-n, где m - количество выходных элементов выбранного уровня, а n - количество наблюдений. В этом случае act(:,i) содержит активации для iтретье изображение. |
При обучении сети с помощью trainNetwork функция или при использовании функций прогнозирования или проверки с DAGNetwork и SeriesNetwork объекты, программное обеспечение выполняет эти вычисления, используя арифметику с одной точностью и плавающей запятой. Функции обучения, прогнозирования и проверки включают trainNetwork, predict, classify, и activations. Программа использует арифметику с одинарной точностью при обучении сетей с использованием процессоров и графических процессоров.
[1] М. Кудо, Дж. Тояма и М. Симбо. «Многомерная классификация кривых с использованием сквозных областей». Буквы распознавания образов. т. 20, № 11-13, стр. 1103-1111.
[2] Хранилище машинного обучения UCI: набор данных гласных на японском языке. https://archive.ics.uci.edu/ml/datasets/Japanese+Vowels
Примечания и ограничения по использованию:
Генерация кода C++ поддерживает следующие синтаксисы:
act = activations(net,X,layer)
act = activations(net,sequences,layer)
act = activations(__,Name,Value)
Вход X не должен иметь переменный размер. Размер входного сигнала должен быть фиксированным во время генерации кода.
Для входов векторной последовательности число элементов должно быть константой во время генерации кода. Длина последовательности может быть переменной.
Для входных данных последовательности изображений высота, ширина и количество каналов должны быть постоянными во время генерации кода.
layer аргумент должен быть константой во время создания кода.
Только 'OutputAs', 'MiniBatchSize', 'SequenceLength', 'SequencePaddingDirection', и 'SequencePaddingValue' для создания кода поддерживаются аргументы пары имя-значение. Все пары имя-значение должны быть константами времени компиляции.
Формат выходных активаций должен быть 'channels'.
Только 'longest' и 'shortest' вариант 'SequenceLength' для создания кода поддерживается пара имя-значение.
Создание кода для целевого устройства Intel ® MKL-DNN не поддерживает комбинацию 'SequenceLength','longest', 'SequencePaddingDirection','left', и 'SequencePaddingValue',0 аргументы «имя-значение».
Дополнительные сведения о создании кода для нейронных сетей глубокого обучения см. в разделе Workflow for Deep Learning Code Generation with MATLAB Coder (Кодер MATLAB).
Примечания и ограничения по использованию:
Генерация кода графического процессора поддерживает следующие синтаксисы:
act = activations(net,X,layer)
act = activations(net,sequences,layer)
act = activations(__,Name,Value)
Вход X не должен иметь переменный размер. Размер входного сигнала должен быть фиксированным во время генерации кода.
Генерация кода графического процессора не поддерживает gpuArray входные данные для activations функция.
Библиотека cuDNN поддерживает векторные и 2-D последовательности изображений. Библиотека TensorRT поддерживает только векторные входные последовательности. ARM
®Compute Library для GPU не поддерживает повторяющиеся сети.
Для входов векторной последовательности число элементов должно быть константой во время генерации кода. Длина последовательности может быть переменной.
Для входных данных последовательности изображений высота, ширина и количество каналов должны быть постоянными во время генерации кода.
layer аргумент должен быть константой во время создания кода.
Только 'OutputAs', 'MiniBatchSize', 'SequenceLength', 'SequencePaddingDirection', и 'SequencePaddingValue' для создания кода поддерживаются аргументы пары имя-значение. Все пары имя-значение должны быть константами времени компиляции.
Формат выходных активаций должен быть 'channels'.
Только 'longest' и 'shortest' вариант 'SequenceLength' для создания кода поддерживается пара имя-значение.
Генерация кода графического процессора для activations функция поддерживает входные данные, определенные как типы данных с плавающей запятой с полуточностью. Дополнительные сведения см. в разделе half (Кодер графического процессора).
Когда входные данные являются gpuArray, массив ячеек или таблица, содержащая gpuArray данные или хранилище данных, которое возвращает gpuArray данные, "ExecutionEnvironment" параметр должен быть "auto" или "gpu".
Дополнительные сведения см. в разделе Запуск функций MATLAB на графическом процессоре (панель инструментов параллельных вычислений).
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.