Я пытаюсь настроить конвенцию. Он имеет следующую структуру (адаптировано из OverFeat):
net:add(SpatialConvolution(3, 96, 7, 7, 2, 2))
net:add(nn.ReLU(true))
net:add(SpatialMaxPooling(3, 3, 3, 3))
net:add(SpatialConvolutionMM(96, 256, 7, 7, 1, 1))
net:add(nn.ReLU(true))
net:add(SpatialMaxPooling(2, 2, 2, 2))
net:add(SpatialConvolutionMM(256, 512, 3, 3, 1, 1, 1, 1))
net:add(nn.ReLU(true))
net:add(SpatialConvolutionMM(512, 512, 3, 3, 1, 1, 1, 1))
net:add(nn.ReLU(true))
net:add(SpatialConvolutionMM(512, 1024, 3, 3, 1, 1, 1, 1))
net:add(nn.ReLU(true))
net:add(SpatialConvolutionMM(1024, 1024, 3, 3, 1, 1, 1, 1))
net:add(nn.ReLU(true))
net:add(SpatialMaxPooling(3, 3, 3, 3))
net:add(SpatialConvolutionMM(1024, 4096, 5, 5, 1, 1))
net:add(nn.ReLU(true))
net:add(SpatialConvolutionMM(4096, 4096, 1, 1, 1, 1))
net:add(nn.ReLU(true))
net:add(SpatialConvolutionMM(4096, total_classes, 1, 1, 1, 1))
net:add(nn.View(total_classes))
net:add(nn.LogSoftMax())
И я использую SGD в качестве метода оптимизации со следующими параметрами:
optimState = {
learningRate = 1e-3,
weightDecay = 0,
momentum = 0,
learningRateDecay = 1e-7
}
optimMethod = optim.sgd
Я тренирую его следующим образом:
optimMethod(feval, parameters, optimState)
куда:
-- 'feval' is the function with the forward and backward passes on the current batch
parameters,gradParameters = net:getParameters()
Из моих ссылок я узнал, что при тонкой настройке предварительно обученной сети рекомендуется, чтобы нижние (сверточные) слои имели более низкие скорости обучения, а более высокие уровни должны иметь относительно более высокие скорости обучения.
Я сослался на документацию torch7 по optim / sgd, чтобы установить разные скорости обучения для каждый слой. Оттуда я получаю этот параметр config.learningRates, то есть вектор индивидуальных темпов обучения, я могу достичь того, чего хочу. Я новичок в Torch, поэтому, пожалуйста, простите меня, если это кажется глупым вопросом, но было бы действительно полезно, если бы кто-нибудь мог объяснить мне, как и где создать / использовать этот вектор для моей цели?
Заранее спасибо.