Распознавание форм Нейронная сеть плохая производительность
Я пытаюсь реализовать нейронную сеть для распознавания фигур - на самом деле эти фигуры являются буквами. Я хотел бы реализовать эту сеть для работы с дескрипторами Фурье, полученными из фигур. Моя проблема в том, что, что бы я ни делал, менял количество нейронов скрытого слоя, использовал разные функции обучения и т. Д., Я всегда получал производительность сети более или менее равной 0,25. Я боролся с этим уже пару дней, и я действительно ударился о кирпичную стену, поэтому буду признателен за любую помощь в этом вопросе.
images = readImages(path, str_format);
Tindex = 1;
T = zeros(size(images,1),size(images,1)/4);
[F Z] = GetLetterDescriptors(images{1});
descriptors = zeros(length(F),size(T,1));
for i = 1 : size(images,1)
[F, Z] = GetLetterDescriptors(images{i});
descriptors(:,i) = F;
T(i,Tindex) = 1;
Tindex = Tindex + 1;
end
net = feedforwardnet(35);
T = T';
net.layers{2}.transferFcn = 'logsig';
net.layers{1}.transferFcn = 'logsig';
net = trainscg(net,descriptors,T,nnMATLAB);
y = sim(net,descriptors,[],[]);
perf = perform(net,T,y);
F - реальные значения дескрипторов Фурье.
1 ответ
Мне удалось решить эту проблему на самом деле довольно давно, но я полностью забыл об этом посте. Для решения этой конкретной проблемы мне пришлось использовать patternet
функция вместо feedforwardnet
Тогда сеть могла бы успешно учиться в пару эпох.