Свежий номер №20 (445) / Персональный интеллект
 
Дата публикации: 24.05.2002

VAN, volov@uni-scope.com

 
Страница 1
Страница 2 >>

Мы уже не раз писали об искусственном интеллекте и, в частности, о нейросетях. Так, в теме номера «Нейросети» («КТ» #4 [333] за 2000 год) были рассмотрены общие аспекты функционирования нейросетей и диаметрально противоположные - оптимистический и пессимистический - взгляды на перспективы их развития. Сегодня мы вновь обращаемся к теме нейросетей, однако будем рассматривать их больше с прикладной точки зрения. Из первой статьи вы узнаете о текущем состоянии дел в области нейросетей и о технических аспектах их создания, настройки и функционирования. Вторая же статья познакомит вас с нейросимуляторами - специальными программами, предназначенными для моделирования и имитации нейросети на персональных компьютерах. Из теста семи нейросимуляторов вы узнает об их плюсах и минусах и - кто знает - может, подберете эмулятор себе по вкусу? А что, искусственный интеллект, почитай, уже в дверь стучится…

Сергей Scout Кащавцев


В магазинах бытовой техники все чаще стали появляться любопытные экземпляры с таинственным значком «AI» (Artificial Intelligence - искусственный интеллект, далее ИИ), вызывающие бурный восторг технических обозревателей и озадаченность у большинства покупателей. Нейропылесосы самостоятельно регулируют силу всасывания в зависимости от заполнения пылью мешка; поумневшие телевизоры умудряются подстраивать контрастность, не изменяя яркость картинки, или приглушать звук, когда следует внезапный аномальный всплеск мощности; а интеллектуальные стиральные машины выбирают температуру воды, продолжительность стирки и скорость отжима в соответствии с весом и типом белья, что дает ощутимую экономию воды, стирального порошка и электричества…

Нет смысла тратить время на полемику: нужен нам ИИ или нет. Рутинного умственного труда предостаточно. Классификация, прогнозирование, распознавание, принятие решений - вот далеко не все, что ИИ взвалит на свои плечи, а творческого умственного труда с лихвой хватит на всех. Не будем и гадать на кофейной гуще, как далеко зашли «товарищи ученые, доценты с кандидатами», щедро субсидируемые военными ведомствами (в основном «звездно-полосатыми»), ибо бесполезно пытаться разузнать, над воплощением какого ИИ сейчас колдуют AT&T, Intel, General Electric, Sharp, Hitachi, Siemens и другие фирмы. Достаточно принять во внимание мимоходом оброненную фразу: «Перспективы повышения конкурентоспособности на базе ИИ столь велики, что их нежелательно обсуждать публично» 1. А вот методы реализации этого самого интеллекта стоит рассмотреть подробнее.

Передовая часть человечества пробирается к вершинам ИИ тремя путями: нейронные сети (neural networks, далее НС), нечеткая (fuzzy) логика и генетические алгоритмы. Поговаривают даже о некой искусственной жизни - artificial life… Ученые мужи на поприще ИИ плодятся как грибы после дождя (что само по себе отрадно, ведь количество имеет свойство переходить в качество), заваливая статьями многочисленные специализированные журналы и научно-популярные издания. Ловкачи от бизнеса спешно подготавливают сознание масс с помощью интеллектуальных игрушек типа собачек-роботов. Не заставили себя ждать и аферисты всех мастей, навязчиво предлагающие нечто с ярлычком ИИ, но вовсе не обремененное интеллектом. Судя по всему, мода на искусственный интеллект входит в новый виток, что неизбежно умножит ряды почитателей ИИ, ну и яростных противников, конечно. Следует, однако, отметить, что в начале XXI века ИИ станет жертвой массовой моды, волна же моды научной, вызванная эйфорией первых удач и неустанной деятельностью псевдоученых, схлынула как раз под занавес прошлого века, к сожалению, оставив после себя много мусора. Стало быть, пора предостеречь новое поколение от заблуждений и ошибок, рассказав о достоинствах и недостатках наиболее продвинутого направления ИИ - нейросетей.


Старые фотографии и киноматериалы, сохранившие для нас первые шаги авиации, неизбежно вызывают восхищение. Подниматься в воздух на хлипких неуклюжих «этажерках» решались воистину незаурядные люди. И пусть человечество так и не смогло создать механического аналога птицы, но зато, позаимствовав у природы секрет подъемной силы крыла, научилось летать почти в сто раз быстрее.

Сегодняшние НС по сути - такие же убогие «этажерки»: с трудом «взлетают», капризны при управлении в «полете», а «фигуры высшего пилотажа» хоть и выполняют, но без хорошего знания законов «аэродинамики». Тем не менее, они уже умеют «летать»! А предметом заимствования у природы стала совместная (групповая) активность нелинейных элементов. Ясно, что полный аналог разума, как и в истории с искусственной птицей, недостижим, более того, идеальная в смысле практической выгоды приближенность к разуму и не нужна. НС будут быстрее решать многие головоломки, а отдельно поставленные задачи - даже намного лучше человека, но по гибкости, универсальности и изобретательности никогда не достигнут разума своего создателя - homo sapiens.


Как много нам открытий чудных готовит просвещенья дух

НС является упрощенным прообразом «кусочка» биологического мозга, основанным на нынешних знаниях и представлениях об отдельных элементах мозга живых существ. Функция активации нейрона (ФАН) чаще всего представляет собой нелинейную ограниченно возрастающую кривую без изломов (монотонную). Например, гиперболический тангенс или сигмоидальная функция являются весьма подходящими ФАН, благо производная от них выражается через саму функцию. Реже функция изменяется скачкообразно после превышения некоторого порогового значения аргумента. Биологические нейроны отличаются от искусственных, как горный орел от планера, но имеется «фундаментальное» сходство - наличие одного выхода (аксона) и множества входов - дендритов, переходящих в синапсы. А уж синапсы связаны с аксонами других нейронов, благодаря чему каждый нейрон оказывается звеном той или иной «живой» нейронной сети 2.

Топология (архитектура) НС может быть самой разной, но любая нейронная сеть имеет вход и выход, каждый фиксированной размерности. При изменении числа выходов свойства НС могут кардинально измениться, поэтому приходится констатировать ее «перерождение» в новую сеть. В большинстве НС нейроны разделены на группы, и можно четко выделить входные и выходные нейроны. Широко применяется разделение нейронов на слои. Архитектура нейросети с обратными связями представлена на рис. 1.

Рис. 1

НС - принципиально высокопараллельное устройство, что позволяет революционно ускорить обработку информации. Искусственные нейроны отдельных групп способны функционировать одновременно, а при синхронизации групп и вся НС в целом становится, говоря языком программирования в реальном времени, «многонитевой». НС можно реализовать в качестве программного обеспечения для обыкновенного компьютера (тогда прощай, скоростные преимущества параллельности) или как аппаратное обеспечение: аналоговое, цифровое или смешанное. Наивысшая скорость и гибкость достигаются на специальных нейрокомпьютерах с использованием соответствующего программного обеспечения. Кстати, еще в 1986 году нейрокомпьютер MARK-IV (детище TRW, США) применялся для «визуального» распознавания типа самолетов и давал результаты с 95-процентной точностью. Для повышения скорости обработки информации в компактных устройствах растет производство специализированных процессоров (в обиходе окрещенных нейрочипами), которые оптимизированы под нейросетевые вычисления.


По неофициальным данным, нейросетевым распознаванием виброакустических сигналов очень интересуются гиганты автомобильной индустрии. Диагностика двигателя и трансмиссии на выходе с конвейера или на станции техобслуживания без участия «слухача-эксперта» - день сегодняшний. Прицел на будущее - оперативная диагностика любого автомобиля, находящегося в эксплуатации.


Ученье - свет…

Прежде чем НС станет способна что-либо обрабатывать, ее следует обучить. Необученная НС не имеет даже «рефлексов» - на любые внешние воздействия ее реакция будет хаотичной. Обучение состоит в многократном предъявлении характерных примеров до тех пор, пока НС на выходе не станет давать желаемый отклик. В зависимости от назначения НС задается определенный желаемый отклик, например, для предсказания - значение предсказываемой величины. Ключевой момент: в общем случае желаемый отклик задается учителем (supervisor). В случае того же предсказания именно учитель формирует входные данные, выбирает число шагов предсказания на выходе и отфильтровывает ненужные компоненты в исходной временной последовательности, чтобы задать более подходящий желаемый отклик.

Величина и знак ошибки обучения служат для самоадаптации весовых коэффициентов, которые на старте тренировки задаются случайными числами из некоторого диапазона. Механизм процесса обучения состоит в целенаправленном изменении (самоадаптации) весовых коэффициентов, а иногда еще и некоторых дополнительных параметров. Одним из критериев обучаемости является планомерное, асимптотическое уменьшение среднеквадратичной ошибки (рис. 2) с каждым новым повтором некоего «запримеченного» образа. Точно так же учитель иностранного языка раз пять-семь повторяет одно и то же слово, прежде чем хороший и выспавшийся ученик его запомнит.

Рис. 2

Обучение НС завершается, когда среднеквадратичная ошибка достигнет некоторой наперед заданной величины, то есть когда нейросеть начнет с требуемой точностью обрабатывать данные из тестового набора характерных примеров. Чтобы НС обучалась быстро и корректно, необходимо знать массу секретов и уметь ими пользоваться, иначе можно наблюдать стагнацию среднеквадратичной ошибки (рис. 3), указывающую на то, что НС толком не обучится никогда. Таким образом, если завершить обучение после первого «спуска» ошибки, нейросеть при работе будет частенько «нести ахинею», а если упорно продолжать обучение, то бедняжка вообще «сойдет с ума».

Рис. 3

Подчеркну, что между обучением с ошибками и работой без ошибок - большая разница. Так, нейросеть-распознаватель будет работать корректно, если каждое новое событие, существенно отличающееся от примеров в обучающем наборе и не похожее не на одно из известных событий, классифицировать как неизвестное и пытаться его сопоставить с известными примерами. Например, робот, обученный по внешним признакам отличать сливы от абрикосов, наткнувшись на персик, должен честно признаться - «не знаю такого». Однако удовлетворить этому незамысловатому требованию на практике совсем непросто: персик порой бывает очень похож на абрикос, а ведь существует еще и гибрид сливы с абрикосом! Чтобы улучшить распознавательную способность, надо, образно говоря, попробовать новый фрукт на вкус, то есть провести анализ по отличительным признакам, и если фрукт будет отличаться от известных по всем признакам - запомнить его как новый класс, например гибрид сливы с абрикосом. Чтобы распознавать новый класс, НС нужно обучить, используя примеры из этого класса. Таким образом, мы приходим к выводу, что нейросеть следует дообучать по мере необходимости.


Обучение нейросетей - фундаментальный теоретический аспект. Если не пересматривать существующие теории, можно прийти к выводу, что задача обучения на примерах некорректна в принципе (в рамках определения корректно поставленной задачи, сформулированного Адамаром). При обучении НС на одних и тех же примерах существует несколько верных решений, а, согласно Адамару, решение должно быть одно. В идеале надо бы выбрать «наиболее верное» единственное решение, но как? В жизни каждый из нас выбирает решение, не слишком заглядывая вдаль, поскольку учесть все комбинации вкупе с накапливающимися случайными факторами невозможно. Для НС лучшим критерием выбора стала бы успешная работа на новых примерах, не использованных при обучении. Но где и как взять примеры из будущего, хотя бы ближайшего? Ведь в будущем может произойти событие, которое существенно отличается от примеров, использованных при обучении, и где гарантии, что нейросеть рано или поздно не начнет делать грубые ошибки? Однако в реальном мире не ошибается только тот, кто ничего не делает, и все наше с вами обучение с нуля зиждется на собственных ошибках, то есть, ни разу не промахнувшись, ничему новому не научишься. Правда, это верно только для обучения без учителя… А что, если перестать учиться на собственных ошибках, поручив прокладывать дорогу искусственному учителю, и скрупулезно следовать его рекомендациям? Пусть этот учитель «набивает шишки» на смоделированных данных и спрогнозированных ситуациях, полученных им же на основе самых свежих реальных данных. Правда, за подобный анализ придется платить задержкой в приложениях реального времени.


Любую НС можно дообучить, продолжая обучение с полученных ранее весовых коэффициентов, если выяснилось, что достигнутой при первоначальном «муштровании» точности недостаточно. Когда новые примеры не сильно отличаются от старых, дообучение происходит легко, а вот переобучить типичную НС на принципиально иных примерах (с добавлением новых классов) гораздо труднее - тот же многослойный персептрон с введением нового класса приходится «дрессировать» заново.


1 (обратно к тексту) - Дж. Шэндл. «Нейронные сети - на пути к широкому внедрению»//Зарубежная радиоэлектроника, №15, стр.23-30, 1993.
2 (обратно к тексту) - Блум Ф., Лейзерсон А., Хофстедтер Л. «Мозг, разум и поведение». - М.: Мир, 1988.


 
Страница 1
Страница 2 >>


VAN
volov@uni-scope.com
 


<< Нейросимуляция
Все материалы номера
Бубль гум >>