NeuroPro | нейронные сети |
|
Главная Новости Услуги Нейронные сети Программы Статьи Заметки Ссылки Вопросы и ответы Об авторе / контакты |
Мировой рекорд точности распознавания изображений в задаче NORB− одна из наиболее сложных и объемных на сегодняшний день свободно доступных задач распознавания изображений. Сначала (в своем варианте) она родилась как задача распознавания центрированного стереоизображения трехмерного объекта на однородном фоне (но при разной яркости освещения, т.е. при разной яркости объекта и фона), а затем усложнилась до включения сложного фона, небольших изменений положения объекта в кадре, появления объекта другого класса на краю кадра и добавления кадров, где отсутствует центральный объект при наличии объекта на краю кадра (такие изображения надо классифицировать как отдельный класс). Дополнительную сложность обоим постановкам задачи добавляет тот факт, что в обучающей и тестовой выборке для каждого класса используются различные объекты. Упоминавшаяся на сайте статья [1] использовала именно задачу NORB для того, чтобы доказать не только теоретическую, но и практическую недейственность машин опорных векторов для распознавания изображений при необходимости обеспечить инвариантность распознавания к сдвигам положения объекта в кадре, изменениям размеров объекта. Такое однозначное ограничение круга приемлемых методов решения привело к тому, что существенного соревновательного интереса (в плане достижения наилучшей точности решения) данная задача не вызвала (о найденных мной статьях с результатами − далее). Второй причиной стала сложность практической реализации свёрточных нейронных сетей на практике − Ян ЛеКун в презентации одного своего доклада в 2007г даже пошутил над этим фактом, указав, что мнение масс таково: "only Yann can do it" ("только Ян может это сделать"). Третья причина − значительные объемы требуемых вычислений и самой выборки данных, что заставляет ориентироваться на суперкомпьютеры или самую современную программную и аппаратную конфигурацию настольного компьютера (более чем 8 гигабайт исходных данных, относящихся к сложной постановке задачи, требуют 64-разрядной операционной системы и указанного объема оперативной памяти, чтобы за данными не приходилось постоянно лазить на жесткий диск).
А теперь − да будет мне позволено порастопыривать Полученное в итоге ускорение работы программы в разы позволило замахнуться на решение сложного варианта задачи NORB даже на процессоре трехлетней давности (Intel Core 2 Duo E6420 с тактовой частотой 2.13ГГц). Хотя, я для проверки сохранения правильности работы всех своих программ (после каждого изменения их исходных кодов) гонял столько тестов, что мог взамен всех этих трудозатрат своего времени и компьютерных сил просто использовать старый вариант программы. Но переделывал-то всё я с расчетом на будущее, чтобы (опять же, растопыривая пальцы) можно было гарантировать всем заказчикам максимальную оперативность решения их задач. Ну и по пути с полезным итогом (выраженном в ускорении работы программ) я получил и приятное - два мировых рекорда точности обобщения, для двух постановок задачи NORB. В литературе, которую мне удалось найти, озвучена такая рекордная точность решения тестовых выборок (результаты даю без ограничений только какими-то отдельными методами). Для простой постановки - 6.6% ошибок в [2], затем, 5.9% в [1] и 5.6% в [3]. Для сложной постановки - 7.1% в [2] и, затем, 5.9% в [1]. Работы [4-7] других авторов рекордных точностей не показали. Может, в высказывании, что "только Ян может это сделать", была доля правды? Может, и была − но теперь уже нет. Для простой постановки мне удалось довольно стабильно добиваться точности в 1080-1120 неправильно классифицированных тестовых примеров (это даёт ошибку в 4.4-4.6% от объема тестовой выборки). Для сложной постановки задачи мне со значительно большей трудностью, но всё же покорился уровень в 3390-3400 неправильно решенных тестовых примеров (5.8% ошибок на тестовой выборке). Был бы современный процессор (который в 3 раза шустрее моего, т.к. у него 4 ядра вместо двух и тактовая частота раза в 1.5 выше) − я бы добился для сложного варианта задачи улучшения рекорда не на копеечку, а на, скажем, две, т.к. относительно устаревший компьютер насиловать было всё же лень. Ну и обновленный саморекламный результат: теперь для моей программы реализации сверточных нейронных сетей можно границу перемалываемого объема данных в задачах распознавания изображений подвинуть вверх − гигабайт до двадцати-тридцати, если заказчик авансирует апгрейд моего компа до современного уровня, т.к. 8 гигабайт крутились всё же со скрипом (при возможном росте производительности процессора в 3 раза получаем, что базу изображений при сохранении минимальнейшего комфорта работы можно увеличить как раз до 20-30Гб). Ну а если новая задача вдруг позволит её решить с минимальным числом экспериментов по определению оптимальных настроек алгоритмов и размеров нейросети, то и 50Гб не будут пределом. Естественно, эксперименты с задачей NORB я продолжать буду − и заметка эта может подвергнуться коррекции цифр результатов и включением новых участников в соревновательный забег (путём расширения списка литературы). Но о деталях использованной нейросетевой сверточной архитектуры и о настройках алгоритмов я тут умолчу. Действительно, на результат влияет очень много вещей (наличие-отсутствие нелинейностей нейронов на выходном слое, вид целевой функции для обучения нейронной сети, схема инициализации весов синапсов,...), и многое так и осталось до конца непроясненным. Скажу только, что кое-что противоречит оптимальным настройкам для другой задачи распознавания изображений (задачи MNIST), для которой я ранее использовал ту же самую программу и ту же самую (ну не точно ту же − размер был другой) сверточную нейронную сеть. Далее, ни я, ни иные исследователи пока активно не изучали эффект от построения коллектива решающих моделей − голосование нескольких нейросетей-экспертов может дать лучшую точность классификации. Ну и в связи со сказанным, и задача, и результаты являются громадным источником данных для научных статей, которые планируется писать всё же с чуть более достоверным доказательством правомерностей выбора алгоритмов и настроек (хотя-бы на основе статистических подтверждений), чем простое заявление о рекорде на словах. И в заключение снова скажу, что нейронные сети всё еще живее всех живых.
|