Часть IV • Резюме и заключительное слово
активации и количеством нейронов, равным числу всех возможных классов. В ка
честве функции потерь следует использовать
binaryCrossentropy
. Для целевых при
знаков должно использоваться kбитное федеративное кодирование (khot encoding):
const model = tf.sequential();
model.add(tf.layers.dense({units: 32, activation: 'relu', inputShape:
[numInputFeatures]}));
model.add(tf.layers.dense({units: 32, activation: 'relu'}));
model.add(tf.layers.dense({units: numClasses: activation: 'sigmoid'}));
model.compile({loss: 'binaryCrossentropy', optimizer: 'adam'});
Для выполнения регрессии к вектору непрерывных значений, последователь
ность слоев должна завершаться плотным слоем с количеством нейронов, равным
числу предсказываемых значений (часто это всего лишь одно число, скажем, цена
объекта недвижимости или температура) и используемой по умолчанию линейной
функцией активации. Для регрессии подходит несколько различных функций по
терь, из которых чаще всего применяются
meanSquaredError
и
meanAbsoluteError
:
const model = tf.sequential();
model.add(tf.layers.dense({units: 32, activation: 'relu', inputShape:
[numInputFeatures]}));
model.add(tf.layers.dense({units: 32, activation: 'relu'}));
model.add(tf.layers.dense({units: numClasses}));
model.compile({loss: 'meanSquaredError', optimizer: 'adam'});
Сверточные сети
Сверточные слои предназначены для поиска локальных пространственных зако
номерностей путем применения одного и того же геометрического преобразования
к различным пространственным местоположениям (пятнам) во входном тензоре.
В результате получаются трансляционно инвариантные представления, обеспечи
вающие эффективность работы с данными и модульность сверточных слоев. Эта
идея применима к пространствам произвольной размерности: одномерным (после
довательности), двумерным (изображения или аналогичное представление прочих
сущностей, например спектрограммы звука), трехмерным (пространственные/
объемные данные) и т. д. Для обработки последовательностей можно использовать
слои tf.layers.conv1d, для изображений — слои conv2d, а для пространственных
данных — conv3d.
Сверточные сети состоят из последовательностей сверточных слоев и слоев
субдискретизации. С помощью слоев субдискретизации можно производить про
странственную понижающую дискретизацию данных, необходимую для сохранения
приемлемых размеров карт признаков при росте их (признаков) количества, а также
для того, чтобы последующие слои могли «видеть» больший пространственный
фрагмент входных изображений сверточной сети. Сверточные сети часто завершают
ся слоем схлопывания или глобальным слоем субдискретизации, преобразующими
карты пространственных признаков в векторы, которые затем можно обработать
с помощью последовательности плотных слоев (MLP) для получения результатов
классификации или регрессии.
Do'stlaringiz bilan baham: |