ПРАКТИЧЕСКИЙ ПРИМЕР: РАСПОЗНАВАНИЕ РУКОПИСНЫХ ЦИФР

Для решения этой задачи было опробовано много разных подходов к обучению. Одним из первых и, по-видимому, самых простых стал классификатор по трем ближайшим соседним точкам, преимуществом которого является также то, что он не требует затрат времени на обучение. Но поскольку он представляет собой алгоритм, основанный на использовании памяти, то должен хранить все 60 ООО изображений, поэтому показывает низкую производительность на этапе прогона. При использовании такого классификатора была достигнута частота ошибок при распознавании проверочного набора, равная 2,4%.
Кроме того, для решения этой задачи была разработана нейронная сеть с одним скрытым слоем, состоящая из 400 входных элементов (по одному на каждый пиксел) и 10 выходных элементов (по одному на каждый класс). С использованием перекрестной проверки было обнаружено, что наилучшую производительность обеспечивают примерно 300 скрытых элементов. Поскольку была предусмотрена полная связность между слоями, общее количество весов составляло 123300. Эта сеть позволила достичь уровня частоты ошибок 1,6%.
Чтобы можно было воспользоваться структурой самой задачи (тем, что вход состоит из пикселов в двухмерном массиве и что небольшие изменения в положении или наклоне изображения не имеют значения), был разработан ряд специализированных нейронных сетей, называемых LeNet. Каждая сеть имела входной слой из 32x32 элементов, по которым 2 0x2 0 пикселов отцентровывались таким образом, чтобы каждый входной элемент был представлен с помощью локальной окрестности пикселов. За ними следовали три слоя скрытых элементов. Каждый слой состоял из нескольких гиперплоскостей из пхп массивов, где значение п было меньше, чем в предыдущем слое, с тем чтобы сеть сокращала объем выборки входных данных, и где веса каждого элемента в гиперплоскости ограничивались идентичными весами, с тем чтобы эта гиперплоскость действовала как детектор какой-то характеристики: оно позволяла выделять некоторую характеристику, такую как длинная вертикальная линия или короткая полукруглая дуга. Выходной слой включал 10 элементов. Было опробовано много версий такой архитектуры; в одной из наиболее успешных версий применялись скрытые слои, состоящие соответственно из 768, 192 и 30 элементов. Обучающий набор был дополнен путем применения аффинных преобразований к фактическим входным данным — сдвиг, поворот на небольшой угол и масштабирование изображений (безусловно, эти преобразования должны были быть небольшими, поскольку иначе цифра 6 могла бы превратиться в 9!). Наилучшим значением частоты ошибок, достигнутым с помощью сетей LeNet, было 0,9%.
В усиленной нейронной сети комбинировались три копии архитектуры LeNet, притом что вторая обучалась на смеси образцов, которые первая распознавала с ошибками 50%, а третья обучалась на образцах, для которых не было достигнуто согласование с помощью первых двух копий. Во время проверки проводилось голосование между тремя сетями с назначенными с помощью их весами для каждой из десяти цифр, а полученные оценки складывались для определения победителя. Частота ошибок при обработке проверочного набора составляла 0,7%.
Машина поддерживающих векторов (см. раздел 20.6) с 25000 поддерживающих векторов достигла частоты ошибок 1,1%. Это— замечательное достижение, поскольку метод SVM, как и простой подход с использованием ближайших соседних точек, почти не потребовал размышлений или неоднократных экспериментов со стороны разработчика, но вместе с тем позволил сразу же приблизиться к производительности сетей LeNet, на создание которых ушли годы интенсивных разработок. Разумеется, в машине поддерживающих векторов не используются данные о структуре задачи, поэтому она действовала бы с таким же успехом, если бы те же пикселы были представлены после применения к ним какой-то перестановки.
Виртуальная машина поддерживающих векторов начинает работу с обычной машины SVM, а затем совершенствует ее с помощью метода, позволяющего воспользоваться данными о структуре задачи. В этом подходе не разрешается использовать произведения всех пар пикселов — вместо этого в основном применяются ядерные функции, сформированные с помощью пар ближайших пикселов. В нем также была предусмотрена возможность дополнять обучающий набор преобразованными вариантами примеров, как и в проекте LeNet. Виртуальная машина SVM достигла наилучшего показателя частоты ошибок, зарегистрированного до настоящего времени, который равен 0,56%.
Согласование с формой — это метод из области машинного зрения, который используется для выравнивания соответствующих частей двух различных изображений объектов (см. главу 24). Идея этого метода состоит в том, что выбирается множество точек каждого из двух изображений, а затем для каждой точки из первого изображения с помощью вычислений определяется, какая точка соответствует ей во втором изображении. После этого на основании полученных данных о выравнивании вычисляется преобразование между изображениями, которое позволяет определить значение критерия расстояния между этими изображениями. Такой критерий расстояния является более обоснованным по сравнению с простым подсчетом количества различающихся пикселов, и, как оказалось, очень высокую производительность показывает алгоритм с тремя ближайшими соседними точками, в котором используется этот критерий расстояния. После обучения только на 20000 из 60000 цифр и с использованием 100 выборочных точек в расчете на каждое изображение, выделенных с помощью детектора края Кэнни, классификатор с согласованием формы достиг частоты ошибок при обработке проверочного набора, равной 0,63%.
По некоторым оценкам, люди допускают ошибки при решении задачи распознавания рукописных цифр с частотой примерно 0,2%. Но этим данным не следует полностью доверять, поскольку отнюдь не проводилась такая исчерпывающая проверка способностей людей, как самих алгоритмов машинного обучения. На аналогичном наборе данных, состоящем из цифр, полученных из почтовой службы США, частота ошибок, допущенных людьми, составляла примерно 2,5%.
Цифры, приведенные ниже, представляют собой итоговые данные по частоте ошибок, производительности на этапе прогона, потребностям в памяти и продолжительности времени обучения для семи описанных здесь алгоритмов. К этим данным добавлен еще один критерий — процентное количество цифр, которые должны быть отброшены, чтобы можно было достичь частоты ошибок 0,5%. Например, если при использовании алгоритма SVM разрешено отбрасывать 1,8% входных данных (т.е. передавать их кому-то другому, чтобы он сделал окончательное заключение), то частота ошибок на оставшихся 98,2% входных данных сокращается с 1,1% до 0,5%.
Итоговые данные по частоте ошибок и некоторых других характеристиках семи методов, описанных в этом разделе, приведены в табл. 20.2.
Разработан широкий перечень статистических методов обучения, начиная от простого вычисления средних и заканчивая построением сложных моделей, таких как байесовские и нейронные сети. Эти методы находят широкое применение в компьютерной науке, техническом проектировании, нейробиологии, психологии и физике. В данной главе представлены некоторые основные идеи из этой области и приведена часть математических выкладок. Основные темы, рассматриваемые в этой главе, перечислены ниже.
• В методах байесовского обучения задача обучения формулируется как один из видов вероятностного вывода, в котором наблюдения используются для обновления распределений априорных вероятностей по гипотезам. Такой подход представляет собой хороший способ реализации принципа бритвы Окка-ма, но быстро становится трудноосуществимым при возрастании сложности пространства гипотез.
РЕЗЮМЕ
• В обучении на основе максимальной апостериорной вероятности (Maximum А Posteriori — MAP) выбирается единственная гипотеза, наиболее вероятная согласно имеющимся данным. При этом все еще используется распределение априорных вероятностей гипотезы и сам этот метод часто является более легко осуществимым, чем полное байесовское обучение.
• В обучении с учетом максимального правдоподобия выбирается гипотеза, которая максимизирует правдоподобие данных; этот метод эквивалентен методу обучения MAP с равномерным распределением априорных вероятностей. В простейших случаях, таких как линейная регрессия и полностью наблюдаемые байесовские сети, решения с учетом максимального правдоподобия можно легко найти в замкнутой форме. Особенно эффективным методом, который хорошо масштабируется, является наивное байесовское обучение.
• Если некоторые переменные скрыты, то решения с локальным максимальным правдоподобием можно найти с использованием алгоритма ЕМ. В число приложений соответствующего метода входит кластеризация с помощью смешанных гауссовых распределений, обучение байесовских сетей и скрытых марковских моделей.
• Определение в процессе обучения структур байесовских сетей представляет собой пример метода выбора модели. В этом методе обычно предусматривается дискретный поиск в пространстве структур. При этом необходимо каким-то образом обеспечить поиск компромисса между сложностью модели и степенью ее соответствия данным.
• В моделях на основе экземпляра распределение представлено с использованием коллекции обучающих экземпляров. Таким образом, количество параметров растет с увеличением размеров обучающего множества. В методах ближайшей соседней точки осуществляется поиск экземпляров, ближайших к рассматриваемой точке, а в ядерных методах формируется комбинация всех экземпляров, взвешенная по расстоянию.
• Нейронные сети позволяют определять в процессе обучения сложные нелинейные функции со многими параметрами. Изучение этих параметров может осуществляться с применением зашумленных данных, а сами нейронные сети используются в тысячах приложений.
• Персептрон — это нейронная сеть с прямым распространением без скрытых элементов, которая способна представить только линейно разделимые функции. Если данные являются линейно разделимыми, то для обеспечения точного согласования с данными может использоваться простое правило обновления весов.
• Такие нейронные сети, как многослойные сети с прямым распространением, способны представлять любые функции при наличии достаточного количества элементов. В алгоритме обратного распространения реализуется метод градиентного спуска в пространстве параметров для минимизации выходной ошибки.
Статистическое обучение продолжает оставаться очень активной областью исследования. Были достигнуты колоссальные успехи как в теории, так и в практике, и уровень знаний поднялся на такую высоту, что теперь существует возможность определить в процессе обучения параметры почти любой модели, для которой осуществим точный или приближенный вероятностный вывод.







Материалы

Яндекс.Метрика