4.4. Машинное обучение на примерах. Нейронные сети. ч.1
Обучение на примерах предполагает предъявление системе некоторых примеров – объектов с известными характеристиками.
Например, предъявление объектов, принадлежащих нескольким классам, позволяет выявить правила классификации, по которым можно вновь исследуемый объект отнести к тому или иному классу. Такая задача, которая состоит в отнесении объектов по данным, которые их характеризуют, к одному из заранее известных классов, называется задачей распознавания образов. Примерами этой задачи является распознавание рукописных и печатных символов при сканировании текстов, распознавание звуковых команд компьютеру, распознавание графических образов и др.
Так в задачах оптического распознавания символов образами будут выступать буквы алфавита. Проблема состоит в том, что в реальной ситуации буквы на входе распознающей системы довольно сильно отличаются по написанию от «идеального» образа. Особенно это касается распознавания рукописных символов.
Обучение на примерах является эффективным инструментом настройки интеллектуальной системы, который позволяет ей распознавать символы даже в случае значительного расхождения с идеалом. Многое здесь зависит от той теоретической и алгоритмической базы, которая заложена в основу функционирования системы распознавания. Отметим, что существуют различные методов распознавания, например, метод потенциальных функций, метод допустимых преобразований, метод группового учета аргументов, структурные методы распознавания, статистические методы распознавания и многие другие [6]. Они отличаются способами формирования и анализа формального представления объектов, процедурами обработки, критериями классификации, а в их основе зачастую лежат разные математические теории и модели.
Еще одним случаем обучения на примерах является задача кластеризации. Здесь заранее не задается деление на классы. То есть объекты, которые предъявляются системе в качестве примеров, изначально предъявляются как некоторое единое множество. Система анализирует это множество объектов и выявляет в нем классы – «скопления» объектов, близких друг другу по некоторым критериям. Задача кластеризации может служить предварительным этапом для последующей задачи распознавания образов. Выявление кластеров позволяет также ввести описания некоторых типичных объектов – центров кластеров. За счет этого возможно решение задач восстановления данных или сжатия данных: при неполной идентификации объекта на входе системы заменить его объектом, типичным для данного кластера.
В силу отличия исходных данных в названных задачах обучение распознаванию образов называют еще машинным обучением с учителем (есть «учитель», который знает правильный класс объекта и учит систему избегать ошибок при распознавании класса) и обучение без учителя (система сама выявляет классы объектов).
Названными задачами не исчерпывается случаи машинного обучения на примерах. Подробнее об этом можно прочитать в рекомендуемой литературе [1, 2, 6, 13]. Здесь отметим следующее:
- общая схема машинного обучения на примерах предполагает сначала предъявление некоторой обучающей выборки данных (примеров), потом тестирование на контрольных примерах (относительно которых также известны те решения, которые система должна обнаружить). Относительное число правильных выводов, например, правильной классификации контрольных примеров, если речь идет о задаче распознавания, будет служить показателем «обученности» системы;
- обучение на примерах реализует идею обобщения, т.е. индуктивного вывода общих закономерностей (знаний) по частным случаям. В отличие от этого в традиционных СОЗ реализуется так называемый дедуктивный вывод (от знания общих закономерностей как принятию решения в частном случае) или вывод по аналогии, как в ситуационной системе;
- идея машинного обучения предполагает наличие подготовленных данных (приведенных в нужный вид и размер, «очищенных» от случайных помех) и достаточно большого числа примеров для получения правомерных выводов;
- каждая система, в которой реализуется идея машинного обучения , работает на моделях, алгоритмах, настроенных на определенную задачу (распознавания, кластеризация, предсказание и т.п.) и определенный метод ее решения, т.е. универсальных обучающихся машин нет.
Рассмотренные выше системы формирования знаний (Data Mining) также можно было бы отнести к случаям машинного обучения. Напомним, что они вынесены в отдельный класс по иному признаку – из-за выдачи пользователю знаний в явной, примерно такой же форме, как знания представляются в СОЗ.
Одной из популярных сегодня и перспективных технологий машинного обучения являются искусственные нейронные сети (НС) [1, 2, 12, 13, 14, 20, 21]. Нужно сказать, что нейронные сети, нейрокомпьютеры, нейрокомпьютинг и иные схожие термины обозначают целую парадигму искусственного интеллекта, которая базируется на идее структурного моделирования человеческого мозга. Иначе говоря, это направление ИИ, в котором создание интеллектуального компьютера предполагает создание компьютера схожего по своей структуре с человеческим мозгом.
Исследования в области моделирования структуры человеческого мозга активно проводились с первой половины 20-го века, а сам термин «нейронные сети» сформировался к середине 50-х годов. Важной вехой стало создание в 1957 году Ф.Розенблаттом модели распознающего устройства - перцептрона (персептрона), как простейшего варианта нейросети и первого нейрокомпьютера, способного решать задачи распознавания [14].
После решения ряда теоретических проблем в 70-80-х годах прошлого века начались практические разработки нейрокомпьютеров как в СССР, так и за границей (по заказам военных ведомств). Это были компьютеры, построенные по специальной архитектуре, воплощающие в себе идеи параллельных вычислений и соединения многих элементарных процессоров – простейших нейроподобных элементов.
В 90-х годах мощность и быстродействие обычных персональных компьютеров стали достаточными для того, чтобы на их базе посредством последовательных вычислений можно было имитировать параллельные процессы нейронных сетей. Так произошло второе рождение нейрокомпьютеров и их широкое распространение в «невоенные» сферы. В конце 90-х годов годовой объем продаж на рынке искусственных нейросетей и нейрокомпьютеров превысил 2 млрд. долларов, а прирост составил 50% [14].
Вот некоторые типичные задачи, решаемые с помощью НС:
- распознавание образов, в том числе, распознавание ситуаций (например, выявление потенциально опасной ситуации при анализе датчиков о состоянии технического объекта);
- кластеризация;
- аппроксимация функций – по известным данным (обучающим примерам) найти ту функцию, которая соответствует этим данным;
- предсказание (прогноз) – по примерам прошлых данных предсказать значение некоторой переменной в следующий период. В частности, интерес представляет предсказание на основе анализа хаотических временных последовательностей;
- ассоциативная память (память по содержанию) – «вспоминание» объектов по ассоциации, по неполному их описанию;
- вычисления в условиях неопределенности
и др.
Рассмотрим основные элементы в структуре НС. Отметим, что хотя термины, используемые в НС, пришли сюда из биологии, современные исследователи и разработчики нейрокомпьютеров не претендуют на близкое сходство своих моделей и структур с реальным человеческим мозгом. Главным является наделением нейросети возможностями решать конкретные задачи, а не имитировать с максимальной точностью биологический процесс [12].
На рисунке 4.1. показан искусственный нейрон (далее слово «искусственный» не употребляется), точнее модель нейрона – элементарный процессор НС.
Рисунок 4.1. Модель искусственного нейрона
Читать дальше:
4.4. Машинное обучение на примерах. Нейронные сети. ч.2