Предскажите ответы с помощью обученной глубокой нейронной сети
Можно сделать предсказания с помощью обученной нейронной сети в глубоком обучении или на центральном процессоре или на графическом процессоре. Используя графический процессор требует Parallel Computing Toolbox™, и CUDA® включил NVIDIA®, графический процессор с вычисляет возможность 3.0 или выше. Задайте требования к аппаратным средствам с помощью ExecutionEnvironment
аргумент пары "имя-значение".
[YPred1,...,YPredM] = predict(___)
предсказывает ответы для M
выходные параметры мультивыходной сети, использующей любой из предыдущих синтаксисов. Выход YPredj
соответствует сетевому выходу net.OutputNames(j)
. Чтобы возвратить категориальные выходные параметры для классификации выходные слои, установите 'ReturnCategorical'
опция к true
.
___ = predict(___,
предсказывает ответы с дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение".Name,Value
)
При создании предсказаний с последовательностями различных длин мини-пакетный размер может повлиять на объем дополнения добавленного к входным данным, которые могут привести к различным ожидаемым значениям. Попытайтесь использовать различные значения, чтобы видеть, который работает лучше всего с вашей сетью. Чтобы задать мини-пакетный размер и дополнительные опции, используйте 'MiniBatchSize'
и 'SequenceLength'
опции.
Загрузите выборочные данные.
[XTrain,YTrain] = digitTrain4DArrayData;
digitTrain4DArrayData
загружает набор обучающих данных цифры как 4-D данные массива. XTrain
28 28 1 5 000 массивов, где 28 высота, и 28 ширина изображений. 1 количество каналов, и 5000 количество синтетических изображений рукописных цифр. YTrain
категориальный вектор, содержащий метки для каждого наблюдения.
Создайте архитектуру сверточной нейронной сети.
layers = [ ... imageInputLayer([28 28 1]) convolution2dLayer(5,20) reluLayer maxPooling2dLayer(2,'Stride',2) fullyConnectedLayer(10) softmaxLayer classificationLayer];
Установите опции на настройки по умолчанию для стохастического градиентного спуска с импульсом.
options = trainingOptions('sgdm');
Обучите сеть.
rng('default')
net = trainNetwork(XTrain,YTrain,layers,options);
Warning: Support for GPU devices with Compute Capability 3.0 will be removed in a future MATLAB release. For more information on GPU support, see <a href="matlab:web('http://www.mathworks.com/help/parallel-computing/gpu-support-by-release.html','-browser')">GPU Support by Release</a>.
Training on single GPU. Initializing input data normalization. |========================================================================================| | Epoch | Iteration | Time Elapsed | Mini-batch | Mini-batch | Base Learning | | | | (hh:mm:ss) | Accuracy | Loss | Rate | |========================================================================================| | 1 | 1 | 00:00:01 | 10.16% | 2.3195 | 0.0100 | | 2 | 50 | 00:00:03 | 50.78% | 1.7102 | 0.0100 | | 3 | 100 | 00:00:05 | 63.28% | 1.1632 | 0.0100 | | 4 | 150 | 00:00:07 | 60.16% | 1.0859 | 0.0100 | | 6 | 200 | 00:00:09 | 68.75% | 0.8996 | 0.0100 | | 7 | 250 | 00:00:10 | 76.56% | 0.7921 | 0.0100 | | 8 | 300 | 00:00:12 | 73.44% | 0.8410 | 0.0100 | | 9 | 350 | 00:00:14 | 81.25% | 0.5513 | 0.0100 | | 11 | 400 | 00:00:16 | 89.84% | 0.4745 | 0.0100 | | 12 | 450 | 00:00:17 | 92.19% | 0.3615 | 0.0100 | | 13 | 500 | 00:00:19 | 94.53% | 0.3159 | 0.0100 | | 15 | 550 | 00:00:21 | 96.09% | 0.2545 | 0.0100 | | 16 | 600 | 00:00:23 | 92.19% | 0.2764 | 0.0100 | | 17 | 650 | 00:00:24 | 95.31% | 0.2461 | 0.0100 | | 18 | 700 | 00:00:26 | 99.22% | 0.1418 | 0.0100 | | 20 | 750 | 00:00:28 | 98.44% | 0.1000 | 0.0100 | | 21 | 800 | 00:00:30 | 98.44% | 0.1449 | 0.0100 | | 22 | 850 | 00:00:31 | 98.44% | 0.0989 | 0.0100 | | 24 | 900 | 00:00:33 | 96.88% | 0.1315 | 0.0100 | | 25 | 950 | 00:00:35 | 100.00% | 0.0859 | 0.0100 | | 26 | 1000 | 00:00:37 | 100.00% | 0.0701 | 0.0100 | | 27 | 1050 | 00:00:38 | 100.00% | 0.0759 | 0.0100 | | 29 | 1100 | 00:00:40 | 99.22% | 0.0663 | 0.0100 | | 30 | 1150 | 00:00:42 | 98.44% | 0.0776 | 0.0100 | | 30 | 1170 | 00:00:43 | 99.22% | 0.0732 | 0.0100 | |========================================================================================|
Запустите обучивший сеть на наборе тестов и предскажите баллы.
[XTest,YTest] = digitTest4DArrayData; YPred = predict(net,XTest);
predict
, по умолчанию, использует CUDA®, включенный графический процессор с, вычисляют возможность 3.0, когда доступно. Можно также принять решение запустить predict
на центральном процессоре с помощью 'ExecutionEnvironment','cpu'
аргумент пары "имя-значение".
Отобразите первые 10 изображений в тестовых данных и сравните с предсказаниями от predict
.
YTest(1:10,:)
ans = 10x1 categorical
0
0
0
0
0
0
0
0
0
0
YPred(1:10,:)
ans = 10x10 single matrix
0.9978 0.0001 0.0008 0.0002 0.0003 0.0000 0.0004 0.0000 0.0002 0.0003
0.8880 0.0000 0.0475 0.0001 0.0000 0.0002 0.0029 0.0001 0.0014 0.0599
0.9998 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001
0.9814 0.0000 0.0000 0.0000 0.0000 0.0000 0.0046 0.0000 0.0011 0.0129
0.9747 0.0000 0.0133 0.0003 0.0000 0.0000 0.0002 0.0004 0.0112 0.0001
0.9873 0.0000 0.0001 0.0000 0.0000 0.0000 0.0007 0.0000 0.0072 0.0046
0.9981 0.0000 0.0000 0.0000 0.0000 0.0000 0.0018 0.0000 0.0000 0.0000
1.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.9267 0.0000 0.0046 0.0000 0.0006 0.0009 0.0001 0.0000 0.0018 0.0653
0.9326 0.0000 0.0140 0.0012 0.0001 0.0001 0.0379 0.0000 0.0111 0.0031
YTest
содержит цифры, соответствующие изображениям в XTest
. Столбцы YPred
содержите predict
оценка вероятности, что изображение содержит конкретную цифру. Таким образом, первый столбец содержит оценку вероятности, что данное изображение является цифрой 0, второй столбец содержит оценку вероятности, что изображение является цифрой 1, третий столбец содержит оценку вероятности, что изображение является цифрой 2 и так далее. Вы видите тот predict
оценка вероятностей для правильных цифр - почти 1, и вероятность для любой другой цифры - почти 0. predict
правильно оценивает первые 10 наблюдений как цифру 0.
Предварительно обученная сеть Load. JapaneseVowelsNet
предварительно обученная сеть LSTM, обученная на японском наборе данных Vowels как описано в [1] и [2]. Это было обучено на последовательностях, отсортированных по длине последовательности с мини-пакетным размером 27.
load JapaneseVowelsNet
Просмотрите сетевую архитектуру.
net.Layers
ans = 5x1 Layer array with layers: 1 'sequenceinput' Sequence Input Sequence input with 12 dimensions 2 'lstm' LSTM LSTM with 100 hidden units 3 'fc' Fully Connected 9 fully connected layer 4 'softmax' Softmax softmax 5 'classoutput' Classification Output crossentropyex with '1' and 8 other classes
Загрузите тестовые данные.
[XTest,YTest] = japaneseVowelsTestData;
Сделайте предсказания на тестовых данных.
YPred = predict(net,XTest);
Просмотрите музыку предсказания к первым 10 последовательностям.
YPred(1:10,:)
ans = 10x9 single matrix
0.9918 0.0000 0.0000 0.0000 0.0006 0.0010 0.0001 0.0006 0.0059
0.9868 0.0000 0.0000 0.0000 0.0006 0.0010 0.0001 0.0010 0.0105
0.9924 0.0000 0.0000 0.0000 0.0006 0.0010 0.0001 0.0006 0.0054
0.9896 0.0000 0.0000 0.0000 0.0006 0.0009 0.0001 0.0007 0.0080
0.9965 0.0000 0.0000 0.0000 0.0007 0.0009 0.0000 0.0003 0.0016
0.9888 0.0000 0.0000 0.0000 0.0006 0.0010 0.0001 0.0008 0.0087
0.9886 0.0000 0.0000 0.0000 0.0006 0.0010 0.0001 0.0008 0.0089
0.9982 0.0000 0.0000 0.0000 0.0006 0.0007 0.0000 0.0001 0.0004
0.9883 0.0000 0.0000 0.0000 0.0006 0.0010 0.0001 0.0008 0.0093
0.9959 0.0000 0.0000 0.0000 0.0007 0.0011 0.0000 0.0004 0.0019
Сравните эти баллы предсказания с метками этих последовательностей. Функция присваивает высокие баллы предсказания правильному классу.
YTest(1:10)
ans = 10x1 categorical
1
1
1
1
1
1
1
1
1
1
net
— Обучивший сетьSeriesNetwork
возразите | DAGNetwork
объектОбучивший сеть в виде SeriesNetwork
или DAGNetwork
объект. Можно получить обучивший сеть путем импорта предварительно обученной сети (например, при помощи googlenet
функция) или по образованию ваша собственная сеть с помощью trainNetwork
.
imds
ImageDatastoreImageDatastore
объектОтобразите datastore в виде ImageDatastore
объект.
ImageDatastore
позволяет пакетное чтение JPG или упреждающую выборку использования файлов изображений PNG. Если вы используете пользовательскую функцию в чтении изображений, то ImageDatastore
не выбирает с упреждением.
Используйте augmentedImageDatastore
для эффективной предварительной обработки изображений для глубокого обучения включая изменение размеров изображений.
Не используйте readFcn
опция imageDatastore
когда эта опция обычно значительно медленнее.
ds
datastoreDatastore входных данных.
Для сетей с одним входом, ds
может возвратиться также:
одно изображение или последовательность
массив ячеек изображений или последовательностей
таблица, где первый столбец содержит изображения или последовательности
Поскольку сети с повторным изображением вводят слои, ds
должен быть объединенный или преобразованный datastore, который возвращает массив ячеек с numInputs
столбцы, содержащие входные данные, где numInputs
количество сетевых входных параметров. i
элемент th массива ячеек соответствует входу net.InputNames(i)
.
Для получения дополнительной информации смотрите Хранилища данных для Глубокого обучения.
X
Данные изображенияДанные изображения в виде числового массива. Размер массива зависит от типа входа изображений:
Входной параметр | Описание |
---|---|
2D изображения | h-by-w-by-c-by-N числовой массив, где h, w и c являются высотой, шириной, и количеством каналов изображений, соответственно, и N, является количеством изображений. |
3-D изображения | h-by-w-by-d-by-c-by-N числовой массив, где h, w, d и c являются высотой, шириной, глубиной, и количеством каналов изображений, соответственно, и N, является количеством изображений. |
Если массив содержит NaN
s, затем они распространены через сеть.
sequences
— Последовательность или данные временных рядовПоследовательность или данные временных рядов в виде N-by-1 массив ячеек числовых массивов, где N является количеством наблюдений, числовой массив, представляющий одну последовательность или datastore.
Для входа массива ячеек или числового массива размерности числовых массивов, содержащих последовательности, зависят от типа данных.
Входной параметр | Описание |
---|---|
Векторные последовательности | c-by-s матрицы, где c является количеством функций последовательностей и s, является длиной последовательности. |
2D последовательности изображений | h-by-w-by-c-by-s массивы, где h, w и c соответствуют высоте, ширине, и количеству каналов изображений, соответственно, и s, является длиной последовательности. |
3-D последовательности изображений | h-by-w-by-d-by-c-by-s, где h, w, d и c соответствуют высоте, ширине, глубине, и количеству каналов 3-D изображений, соответственно, и s, является длиной последовательности. |
Для входа datastore datastore должен возвратить данные как массив ячеек последовательностей или таблицы, первый столбец которой содержит последовательности. Размерности данных о последовательности должны соответствовать приведенной выше таблице.
tbl
— Таблица изображенийtable
Таблица изображений, содержащих входные данные в первом столбце. Каждая строка в таблице соответствует наблюдению. Таблица содержит пути к абсолютному или файлу прямого доступа к изображению в виде вектора символов или отображает заданный как числовой массив.
Типы данных: table
'MiniBatchSize',256
задает мини-пакетный размер как 256.Задайте дополнительную разделенную запятой пару Name,Value
аргумент. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в одинарных кавычках (' '
).
'MiniBatchSize'
— Размер мини-пакетовРазмер мини-пакетов, чтобы использовать в предсказании в виде положительного целого числа. Большие мини-пакетные размеры требуют большей памяти, но могут привести к более быстрым предсказаниям.
При создании предсказаний с последовательностями различных длин мини-пакетный размер может повлиять на объем дополнения добавленного к входным данным, которые могут привести к различным ожидаемым значениям. Попытайтесь использовать различные значения, чтобы видеть, который работает лучше всего с вашей сетью. Чтобы задать мини-пакетный размер и дополнительные опции, используйте 'MiniBatchSize'
и 'SequenceLength'
опции.
Пример: 'MiniBatchSize',256
'Acceleration'
— Оптимизация производительности'auto'
(значение по умолчанию) | 'mex'
| 'none'
Оптимизация производительности в виде разделенной запятой пары, состоящей из 'Acceleration'
и одно из следующего:
'auto'
— Автоматически примените много оптимизации, подходящей для входной сети и аппаратного ресурса.
'mex'
— Скомпилируйте и выполните MEX-функцию. Эта опция доступна при использовании графического процессора только. Используя графический процессор требует Parallel Computing Toolbox, и CUDA включил NVIDIA, графический процессор с вычисляет возможность 3.0 или выше. Если Parallel Computing Toolbox или подходящий графический процессор не доступны, то программное обеспечение возвращает ошибку.
'none'
— Отключите все ускорение.
Опцией по умолчанию является 'auto'
. Если 'auto'
задан, MATLAB® применит много совместимой оптимизации. Если вы используете 'auto'
опция, MATLAB никогда не генерирует MEX-функцию.
Используя 'Acceleration'
опции 'auto'
и 'mex'
может предложить выигрыши в производительности, но за счет увеличенного начального времени выполнения. Последующие вызовы совместимыми параметрами быстрее. Используйте оптимизацию производительности, когда вы запланируете вызвать функцию многократно с помощью новых входных данных.
'mex'
опция генерирует и выполняет MEX-функцию на основе сети и параметров, используемых в вызове функции. У вас может быть несколько MEX-функций, сопоставленных с одной сетью одновременно. Очищение сетевой переменной также очищает любые MEX-функции, сопоставленные с той сетью.
'mex'
опция только доступна, когда вы используете графический процессор. Необходимо было установить компилятор C/C++ и Интерфейс GPU Coder™ для пакета поддержки Библиотек Глубокого обучения. Установите пакет поддержки с помощью Add-On Explorer в MATLAB. Для инструкций по настройке смотрите Setup MEX (GPU Coder). GPU Coder не требуется.
'mex'
опция не поддерживает все слои. Для списка поддерживаемых слоев смотрите Поддерживаемые Слои (GPU Coder). Рекуррентные нейронные сети (RNNs), содержащий sequenceInputLayer
не поддержаны.
Вы не можете использовать MATLAB Compiler™, чтобы развернуть вашу сеть при использовании 'mex'
опция.
Пример: 'Acceleration','mex'
'ExecutionEnvironment'
— Аппаратный ресурс'auto'
(значение по умолчанию) | 'gpu'
| 'cpu'
Аппаратный ресурс в виде разделенной запятой пары, состоящей из 'ExecutionEnvironment'
и одно из следующего:
'auto'
— Используйте графический процессор, если вы доступны; в противном случае используйте центральный процессор.
'gpu'
— Используйте графический процессор. Используя графический процессор требует Parallel Computing Toolbox, и CUDA включил NVIDIA, графический процессор с вычисляет возможность 3.0 или выше. Если Parallel Computing Toolbox или подходящий графический процессор не доступны, то программное обеспечение возвращает ошибку.
'cpu'
— Используйте центральный процессор.
Пример: 'ExecutionEnvironment','cpu'
'ReturnCategorical'
— Опция, чтобы возвратить категориальные меткиfalse
(значение по умолчанию) | true
Опция, чтобы возвратить категориальные метки в виде true
или false
.
Если ReturnCategorical
true
, затем функция возвращает категориальные метки для классификации выходные слои. В противном случае функция возвращает музыку предсказания к классификации выходные слои.
'SequenceLength'
— Опция, чтобы заполнить, обрежьте или разделите входные последовательности'longest'
(значение по умолчанию) | 'shortest'
| положительное целое числоОпция, чтобы заполнить, обрежьте или разделите входные последовательности в виде одного из следующего:
'longest'
— Заполните последовательности в каждом мини-пакете, чтобы иметь ту же длину как самая длинная последовательность. Эта опция не отбрасывает данных, хотя дополнение может ввести шум сети.
'shortest'
— Усеченные последовательности в каждом мини-пакете, чтобы иметь ту же длину как самая короткая последовательность. Эта опция гарантирует, что никакое дополнение не добавляется, за счет отбрасывания данных.
Положительное целое число — Для каждого мини-пакета, заполните последовательности к самому близкому кратному заданная длина, которая больше самой долгой длины последовательности в мини-пакете, и затем разделяет последовательности в меньшие последовательности заданной длины. Если разделение происходит, то программное обеспечение создает дополнительные мини-пакеты. Используйте эту опцию, если полные последовательности не умещаются в памяти. В качестве альтернативы попытайтесь сократить количество последовательностей на мини-пакет путем установки 'MiniBatchSize'
опция к нижнему значению.
Чтобы узнать больше об эффекте дополнения, усечение и разделение входных последовательностей, видят, что Последовательность Дополняет, Усечение, и Разделяет.
Пример: 'SequenceLength','shortest'
'SequencePaddingDirection'
— Направление дополнения или усечения'right'
(значение по умолчанию) | 'left'
Направление дополнения или усечения в виде одного из следующего:
'right'
— Заполните или обрежьте последовательности справа. Последовательности запускают одновременно шаг, и программное обеспечение обрезает или добавляет дополнение в конец последовательностей.
'left'
— Заполните или обрежьте последовательности слева. Программное обеспечение обрезает или добавляет дополнение в запуск последовательностей так, чтобы конец последовательностей одновременно продвинулся.
Поскольку слои LSTM обрабатывают данные о последовательности один временной шаг за один раз, когда слой OutputMode
свойством является 'last'
, любое дополнение в итоговых временных шагах может негативно влиять на слой выход. Чтобы заполнить или обрезать данные о последовательности слева, установите 'SequencePaddingDirection'
опция к 'left'
.
Для сетей от последовательности к последовательности (когда OutputMode
свойством является 'sequence'
для каждого слоя LSTM), любой дополняющий в первых временных шагах может негативно влиять на предсказания для более ранних временных шагов. Чтобы заполнить или обрезать данные о последовательности справа, установите 'SequencePaddingDirection'
опция к 'right'
.
Чтобы узнать больше об эффекте дополнения, усечение и разделение входных последовательностей, видят, что Последовательность Дополняет, Усечение, и Разделяет.
'SequencePaddingValue'
— Значение, чтобы заполнить входные последовательностиЗначение, которым можно заполнить входные последовательности в виде скаляра. Опция допустима только когда SequenceLength
'longest'
или положительное целое число. Не заполняйте последовательности NaN
, потому что выполнение так может распространить ошибки в сети.
Пример: 'SequencePaddingValue',-1
YPred
— Предсказанные баллы или ответыПредсказанные баллы или ответы, возвращенные как матрица, 4-D числовой массив или массив ячеек матриц. Формат YPred
зависит от типа проблемы.
Следующая таблица описывает формат для проблем классификации.
Задача | Формат |
---|---|
Отобразите классификацию | N-by-K матрица, где N является количеством наблюдений и K, является количеством классов |
Классификация последовательностей к метке | |
Классификация от последовательности к последовательности | N-by-1 массив ячеек матриц, где N является количеством наблюдений. Последовательности являются матрицами со строками K, где K является количеством классов. Каждая последовательность имеет то же количество временных шагов как соответствующая входная последовательность после применения |
Следующая таблица описывает формат для проблем регрессии.
Задача | Формат |
---|---|
2D регрессия изображений |
|
3-D регрессия изображений |
|
Регрессия Sequence-one | N-by-R матрица, где N является количеством последовательностей и R, является количеством ответов. |
Регрессия от последовательности к последовательности | N-by-1 массив ячеек числовых последовательностей, где N является количеством последовательностей. Последовательности являются матрицами со строками R, где R является количеством ответов. Каждая последовательность имеет то же количество временных шагов как соответствующая входная последовательность после применения |
Для проблем регрессии от последовательности к последовательности с одним наблюдением, sequences
может быть матрица. В этом случае, YPred
матрица ответов.
Если данные изображения содержат NaN
s, predict
распространяет их через сеть. Если сеть имеет слои ReLU, эти слои игнорируют NaN
s. Однако, если сеть не имеет слоя ReLU, то predict
возвращает NaNs как предсказания.
Все функции для обучения глубокому обучению, предсказания и валидации в Deep Learning Toolbox™ выполняют расчеты с помощью арифметики с плавающей точкой, с одинарной точностью. Функции для глубокого обучения включают trainNetwork
, predict
, classify
, и activations
. Программное обеспечение использует арифметику с одинарной точностью, когда вы обучаете нейронные сети с помощью и центральных процессоров и графических процессоров.
Можно вычислить предсказанные баллы и предсказанные классы от обучившего сеть использования classify
.
Можно также вычислить активации из слоя сети с помощью activations
.
Для последовательности к метке и сетей классификации от последовательности к последовательности (сети LSTM), можно сделать предсказания и обновить сетевое состояние с помощью classifyAndUpdateState
и predictAndUpdateState
.
[1] М. Кудо, J. Тояма, и М. Шимбо. "Многомерная Классификация Кривых Используя Прохождение через области". Буквы Распознавания образов. Издание 20, № 11-13, страницы 1103-1111.
[2] Репозиторий Машинного обучения UCI: японский Набор данных Гласных. https://archive.ics.uci.edu/ml/datasets/Japanese+Vowels
Указания и ограничения по применению:
Только синтаксис YPred = predict(net,X)
поддерживается.
Вход X
не должен иметь переменного размера. Размер должен быть зафиксирован во время генерации кода.
Для получения дополнительной информации о генерации кода для глубоких нейронных сетей, смотрите Рабочий процесс для Генерации кода Глубокого обучения с MATLAB Coder (MATLAB Coder).
Указания и ограничения по применению:
Генерация кода графического процессора поддерживает следующие синтаксисы:
YPred = predict(net,X)
[YPred1,...,YPredM] = predict(__)
YPred = predict(net,sequences)
__ = predict(__,Name,Value)
Вход X
не должен иметь переменного размера. Размер должен быть зафиксирован во время генерации кода.
Генерация кода графического процессора для predict
функционируйте входные параметры поддержек, которые заданы как типы данных с плавающей запятой полуточности. Для получения дополнительной информации смотрите half
.
Генерация кода графического процессора поддерживает только векторные последовательности. Длина последовательности может быть переменная измеренный. Размерность признаков должна быть зафиксирована во время генерации кода.
Только 'MiniBatchSize'
, 'SequenceLength'
, 'SequencePaddingDirection'
, и 'SequencePaddingValue'
аргументы пары "имя-значение" поддерживаются для генерации кода. Все пары "имя-значение" должны быть константами времени компиляции.
Только 'longest'
и 'shortest'
опция 'SequenceLength'
пара "имя-значение" поддерживается для генерации кода.
activations
| classify
| classifyAndUpdateState
| predictAndUpdateState
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.