Персональный интеллект
АрхивМы уже не раз писали об искусственном интеллекте и, в частности, о нейросетях. Сегодня мы вновь обращаемся к теме нейросетей, однако будем рассматривать их больше с прикладной точки зрения. Из этой статьи вы узнаете о текущем состоянии дел в области нейросетей и о технических аспектах их создания, настройки и функционирования.
Мы уже не раз писали об искусственном интеллекте и, в частности, о нейросетях. Так, в теме номера «Нейросети» («КТ» #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.
НС - принципиально высокопараллельное устройство, что позволяет революционно ускорить обработку информации. Искусственные нейроны отдельных групп способны функционировать одновременно, а при синхронизации групп и вся НС в целом становится, говоря языком программирования в реальном времени, «многонитевой». НС можно реализовать в качестве программного обеспечения для обыкновенного компьютера (тогда прощай, скоростные преимущества параллельности) или как аппаратное обеспечение: аналоговое, цифровое или смешанное. Наивысшая скорость и гибкость достигаются на специальных нейрокомпьютерах с использованием соответствующего программного обеспечения. Кстати, еще в 1986 году нейрокомпьютер MARK-IV (детище TRW, США) применялся для «визуального» распознавания типа самолетов и давал результаты с 95-процентной точностью. Для повышения скорости обработки информации в компактных устройствах растет производство специализированных процессоров (в обиходе окрещенных нейрочипами), которые оптимизированы под нейросетевые вычисления.
По неофициальным данным, нейросетевым распознаванием виброакустических сигналов очень интересуются гиганты автомобильной индустрии. Диагностика двигателя и трансмиссии на выходе с конвейера или на станции техобслуживания без участия «слухача-эксперта» - день сегодняшний. Прицел на будущее - оперативная диагностика любого автомобиля, находящегося в эксплуатации. |
Ученье - свет…
Прежде чем НС станет способна что-либо обрабатывать, ее следует обучить. Необученная НС не имеет даже «рефлексов» - на любые внешние воздействия ее реакция будет хаотичной. Обучение состоит в многократном предъявлении характерных примеров до тех пор, пока НС на выходе не станет давать желаемый отклик. В зависимости от назначения НС задается определенный желаемый отклик, например, для предсказания - значение предсказываемой величины. Ключевой момент: в общем случае желаемый отклик задается учителем (supervisor). В случае того же предсказания именно учитель формирует входные данные, выбирает число шагов предсказания на выходе и отфильтровывает ненужные компоненты в исходной временной последовательности, чтобы задать более подходящий желаемый отклик.
Величина и знак ошибки обучения служат для самоадаптации весовых коэффициентов, которые на старте тренировки задаются случайными числами из некоторого диапазона. Механизм процесса обучения состоит в целенаправленном изменении (самоадаптации) весовых коэффициентов, а иногда еще и некоторых дополнительных параметров. Одним из критериев обучаемости является планомерное, асимптотическое уменьшение среднеквадратичной ошибки (рис. 2) с каждым новым повтором некоего «запримеченного» образа. Точно так же учитель иностранного языка раз пять-семь повторяет одно и то же слово, прежде чем хороший и выспавшийся ученик его запомнит.
Обучение НС завершается, когда среднеквадратичная ошибка достигнет некоторой наперед заданной величины, то есть когда нейросеть начнет с требуемой точностью обрабатывать данные из тестового набора характерных примеров. Чтобы НС обучалась быстро и корректно, необходимо знать массу секретов и уметь ими пользоваться, иначе можно наблюдать стагнацию среднеквадратичной ошибки (рис. 3), указывающую на то, что НС толком не обучится никогда. Таким образом, если завершить обучение после первого «спуска» ошибки, нейросеть при работе будет частенько «нести ахинею», а если упорно продолжать обучение, то бедняжка вообще «сойдет с ума».
Подчеркну, что между обучением с ошибками и работой без ошибок - большая разница. Так, нейросеть-распознаватель будет работать корректно, если каждое новое событие, существенно отличающееся от примеров в обучающем наборе и не похожее не на одно из известных событий, классифицировать как неизвестное и пытаться его сопоставить с известными примерами. Например, робот, обученный по внешним признакам отличать сливы от абрикосов, наткнувшись на персик, должен честно признаться - «не знаю такого». Однако удовлетворить этому незамысловатому требованию на практике совсем непросто: персик порой бывает очень похож на абрикос, а ведь существует еще и гибрид сливы с абрикосом! Чтобы улучшить распознавательную способность, надо, образно говоря, попробовать новый фрукт на вкус, то есть провести анализ по отличительным признакам, и если фрукт будет отличаться от известных по всем признакам - запомнить его как новый класс, например гибрид сливы с абрикосом. Чтобы распознавать новый класс, НС нужно обучить, используя примеры из этого класса. Таким образом, мы приходим к выводу, что нейросеть следует дообучать по мере необходимости.
Обучение нейросетей - фундаментальный теоретический аспект. Если не пересматривать существующие теории, можно прийти к выводу, что задача обучения на примерах некорректна в принципе (в рамках определения корректно поставленной задачи, сформулированного Адамаром). При обучении НС на одних и тех же примерах существует несколько верных решений, а, согласно Адамару, решение должно быть одно. В идеале надо бы выбрать «наиболее верное» единственное решение, но как? В жизни каждый из нас выбирает решение, не слишком заглядывая вдаль, поскольку учесть все комбинации вкупе с накапливающимися случайными факторами невозможно. Для НС лучшим критерием выбора стала бы успешная работа на новых примерах, не использованных при обучении. Но где и как взять примеры из будущего, хотя бы ближайшего? Ведь в будущем может произойти событие, которое существенно отличается от примеров, использованных при обучении, и где гарантии, что нейросеть рано или поздно не начнет делать грубые ошибки? Однако в реальном мире не ошибается только тот, кто ничего не делает, и все наше с вами обучение с нуля зиждется на собственных ошибках, то есть, ни разу не промахнувшись, ничему новому не научишься. Правда, это верно только для обучения без учителя… А что, если перестать учиться на собственных ошибках, поручив прокладывать дорогу искусственному учителю, и скрупулезно следовать его рекомендациям? Пусть этот учитель «набивает шишки» на смоделированных данных и спрогнозированных ситуациях, полученных им же на основе самых свежих реальных данных. Правда, за подобный анализ придется платить задержкой в приложениях реального времени. |
Любую НС можно дообучить, продолжая обучение с полученных ранее весовых коэффициентов, если выяснилось, что достигнутой при первоначальном «муштровании» точности недостаточно. Когда новые примеры не сильно отличаются от старых, дообучение происходит легко, а вот переобучить типичную НС на принципиально иных примерах (с добавлением новых классов) гораздо труднее - тот же многослойный персептрон с введением нового класса приходится «дрессировать» заново.
1 (обратно к тексту) - Дж. Шэндл. «Нейронные сети - на пути к широкому внедрению»//Зарубежная радиоэлектроника, №15, стр.23-30, 1993.
2 (обратно к тексту) - Блум Ф., Лейзерсон А., Хофстедтер Л. «Мозг, разум и поведение». - М.: Мир, 1988.
В случае перманентного «натаскивания» на постоянно поступающую и обновляющуюся информацию НС потихоньку «забывает» старые знания, и это немудрено: знание сохраняется в значениях весовых коэффициентов и порогов, а когда они начинают глобально отличаться от старых значений, «забывчивость» резко возрастает. Чтобы НС «помнила» и старое, и новое, необходимо освежать ее «память» как на новых образах, так и на старых. Правда, иногда требуется и короткая память.
НС живет своей маленькой жизнью. Так, одна и та же НС, дважды обученная с нуля (со случайных весовых коэффициентов) на идентичных примерах, никогда не даст на выходе абсолютно одинаковых численных значений! Речь идет не о погрешности вычислений в последнем знаке. Стартуя с разных весовых коэффициентов, НС идет к цели не по одной проторенной дорожке: траектории в многомерном пространстве функции ошибки от весовых коэффициентов не будут одинаковыми, и как только ошибка на выходе станет меньше нужной, обучение завершится, а значения весовых коэффициентов будут каждый раз иными. Как неизбежное следствие, НС будет обладать разной способностью к обобщению - как правило, в пределах ошибки, достигнутой при корректном обучении. Кстати, это свойство (нейросеть как бы слегка «дрожит») помогает отличить «демонстрационную мультяшку» от работоспособной НС, при приобретении нейросетевого программного обеспечения и тестировании его на прилагаемых демонстрационных данных. |
Школьный курс за два года?
Разумеется, для практического применения нейросети очень важно минимизировать время обучения. В отличие от человека, получающего базовое образование на протяжении двадцати-тридцати первых лет жизни, НС, очевидно, должна учиться быстрее - но как это сделать? Существует несколько алгоритмов ускорения обучения, в частности Momentum, Rprop, QuickProp, Conjugate Gradient, Levenberg-Marquardt. Самый простой и древний из них - Momentum - использует разницу между значениями весовых коэффициентов, полученных на предыдущей и текущей итерациях. Эта разница умножается на некий дополнительный параметр (меньше единицы), называемый шагом ускорения, который необходимо настраивать под конкретные входные данные. Грубо говоря, таким путем задействуется «микро-предыстория» изменения весовых коэффициентов при очередной самоадаптации. В некоторых случаях momentum ускоряет обучение в десять раз, то есть требуемая ошибка достигается за меньшее число повторов. Однако бездумное применение этого алгоритма может стать причиной стагнации ошибки при обучении и ухудшения обобщательной способности при распознавании.
Впрочем, каждый алгоритм имеет свои достоинства и недостатки. Так, в Levenberg-Marquardt используются вторые производные от функции ошибки по весовым коэффициентам, что приводит не только к росту объема вычислений, но и увеличению задействованной памяти. Этот способ позволяет сократить количество итераций в 10-100 раз, но цена ускорения - непомерный аппетит к вычислительным ресурсам. Так что надо быть предельно осторожным при выборе и применении того или иного алгоритма.
О приобретенных навыках
Обученная нейросеть готова обрабатывать новую информацию, которая не предъявлялась в процессе обучения, при этом она способна интерпретировать и обобщать эту информацию. Способность к обобщению - ключевое преимущество НС. Нейросети обладают замечательным, но, к сожалению, не врожденным свойством: успешно обрабатывать зашумленную, искаженную или частично поврежденную информацию.
Однако в большинстве практических случаев «свобода выбора» должна быть ограничена - хорошая нейросеть, как идеальный солдат, не имеет права на «мудрые» раздумья-сомнения и «глупые» самовольные решения. Негативная сторона излишней самостоятельности НС может дорого обойтись при функционировании в реальном времени, когда любое промедление смерти подобно. А что, если НС начнет упорно твердить «не знаю» или, еще хуже, хулиганить, раз за разом выдавая белое за черное и наоборот? Где гарантии, что лимит времени, отведенный на дообучение в соответствии со строго регламентированными вычислительными ресурсами, не будет исчерпан до завершения процесса? Ведь аналитически исследовать поведение НС (то есть заранее «просчитать» результат ее работы, не запустив нейросеть на выполнение) невозможно в силу нелинейности самой НС. А для ответственных приложений необходимо разработать НС с хорошо прогнозируемым поведением: представьте, что будет, если, к примеру, при поддержке оператора ядерного реактора сеть начнет своевольничать в нештатных ситуациях…
Талантливый тренер - выдающийся результат
Итак, хорошая нейросеть должна быть хорошо обучена. Но учить кого бы то ни было, а уж НС тем более, дело непростое… Если ваша нейросеть упорно хандрит при работе, а доброжелатели-консультанты безапелляционно заявляют: «да она у вас переобучена» (что тоже бывает!), значит, пора вам избавляться от иллюзий. Математический аппарат нейросетей, ставших традиционными (MLP, Kohonen, LVQ, RBF и др.), не так сложен 3. Программирование не требует профессиональных изощрений: на каждом шагу - умножение вектора на матрицу с накоплением суммы. Сложность представляет не программирование НС, а алгоритм обучения в комплексе, включая подготовку обучающего набора, предварительную обработку информации и, при необходимости, ее сжатие с учетом характерных черт. Так что учтите, что программирование любой НС - только верхушка айсберга, главное же - как нейросеть применить, полностью раскрыв ее потенциал. Поэтому, прежде чем браться за внедрение, нужно четко представлять, что и как подавать на вход НС, что предъявлять на выходе при обучении для конкретной задачи, а так же, как связать выход НС с реальным физическим «миром». Если ваша цель - реальная разработка для промышленного применения, а не для «галочки» в отчетах, лучше прибегнуть к помощи тех, кто «собаку съел» на нейросетях, поскольку без талантливого тренера нынешние НС имеют немного шансов победить «классических» соперников.
А есть ли свет в конце тоннеля?
Многие считают, что этап исследований в области нейросетей слишком затянулся, и пророчат его бесславный конец. Козырной картой в их раскладах служит необходимость привлечения опытного «тренера» для успешного завершения любого серьезного нейросетевого проекта. Что же касается исследований в области нейрокомпьютинга в целом, то их длительность вполне оправданна: слишком уж много тайн хранит мозг даже простейших биологических организмов. Пробелы в теории вынуждают идти путем многочисленных экспериментов вкупе с математическим моделированием, построенным на интуитивных догадках.
По мере исследований поведения НС приходится сталкиваться с огромным количеством нюансов, не предвиденных теорией. Тем не менее, за прошедшие годы удалось найти способы улучшения обучения нейросетей, начать разработку «продвинутых» нейросетевых архитектур и внедрить хорошо изученные НС.
Да, следует признать, что самонастройка НС еще далека от совершенства: например, использование нечеткой логики для оптимизации параметров НС требует оптимизации параметров самой нечеткой логики. Аналогична по сути, но более оптимистична по первым результатам ситуация и с генетическими алгоритмами. Вместе с тем, если следовать по пути аналогий с биологическими нейронными сетями, было бы опрометчивым упустить из виду тот факт, что индивидуальный опыт вносит серьезные уточнения в развитие нервной системы, запланированное генетически. Например, в течение первых двух лет жизни человека происходит рост нейронов, увеличение синаптических связей между ними и специализация групп нейронов, причем без заметного увеличения их общего числа. Таким образом, есть все основания полагать, что НС нового поколения будут иметь топологию, самоорганизующуюся в процессе обучения, при этом для конкретного класса задач изначальная архитектура НС будет специализирована. Сама по себе идея самоорганизации архитектуры НС не нова: попытки заставить MLP «самоподнастраиваться» путем изменения числа нейронов в спрятанном слое предпринимались давно. Однако всему свое время. Именно сейчас объем исследований переходит в качество результатов, и именно сейчас внедрение НС разворачивается широким фронтом. Признаки невидимости этого фронта еще не есть доказательства его отсутствия.
Автор глубоко признателен всем коллегам, чье мнение прямо или косвенно повлияло на изложение материала в рамках данной статьи. Дружеское спасибо профессору Эндрю Грибоку (Andrew Gribok) из Университета Теннесси, длительные дискуссии с которым позволили избежать излишней доли субъективности.
3 (обратно к тексту) - Подробнее см.:
- Лоскутов А. Ю., Михайлов А. С. «Введение в синергетику». - М.: Наука, Физматлит, 1990;
- www.basegroup.ru/tech/neural.shtml;
- Вороновский Г.К. и др. «Генетические алгоритмы, искусственные нейронные сети и проблемы виртуальной реальности». - Харьков: Основа, 1997.
Кто есть ху в нейронных сетях
Искусственный нейрон - нелинейный пороговый сумматор, имеющий один выход и множество входов.
Функция активации нейрона - задает нелинейность преобразования результата суммирования в искусственном нейроне.
Искусственная нейронная сеть - совокупность искусственных нейронов, связанных между собой в определенном порядке. Связи между нейронами имеют не меньшее (если не большее) значение, нежели сами нейроны.
Весовой коэффициент - величина, выражающая силу связи между искусственными нейронами и уникальная для каждой связи. Иными словами, весовые коэффициенты представляют собой содержимое памяти НС. Весовой коэффициент специальной входной связи с единичным (эталонным) воздействием становится порогом, уникальным для каждого нейрона и влияющим на его «срабатывание».
Топология искусственной нейронной сети - порядок и структура связей в НС.
Многослойный персептрон (Multi Layer Perceptron, далее MLP) - искусственная нейронная сеть слоистой топологии. Между слоями входов и выходов находятся промежуточные слои нейронов, называемые спрятанными (hidden). Количество спрятанных слоев (обычно не больше пяти) выбирается эмпирически исходя из задачи, которую должна выполнять НС. В классическом MLP связи одного слоя не замыкаются на связи предыдущего слоя и не перескакивают через слой. Подробнее об истории MLP можно прочитать на сайте www.computerra.ru/offline/2000/333/2897.
Обучение НС (learning) - процесс предъявления образов и желаемого отклика, а также адаптивной модификации весовых коэффициентов, в течение которого минимизируется ошибка обучения.
Ошибка обучения (error) - разность между реальным выходом НС и предъявляемым в этот момент желаемым откликом. Для графического отображения используют среднеквадратичную ошибку, то есть текущую ошибку обучения возводят в квадрат и усредняют на выбранном интервале времени.
Желаемый отклик НС (desired) - значения, к которым должны стремиться выходы обучаемой сети при соответствующем предъявленном образе.
Образ (pattern) - массив входных данных, характеризующий один объект, например фото в профиль царя Ивана Васильевича в момент смены профессии. В зависимости от назначения НС (фильтрация, распознавание и т. п.) образы должны относится к одному или к разным классам. При обучении НС-распознавателя должны предъявляться образы по крайней мере из двух классов, дабы научить сеть отличать, скажем, Ивана Васильевича от Василия Ивановича.
Правило обучения (training algorithm) - определяет алгоритм (в идеале полностью автоматический) адаптивной модификации весовых коэффициентов. Например, самое популярное, ставшее классическим, правило обучения многослойного персептрона - так называемое обратное распространение ошибки.
Обучение на чихе
Следует подчеркнуть важность использования при обучении стандартной НС не первых попавшихся, а именно характерных образов. Иногда удается хорошо обучить нейросеть для распознавания образов, ограничившись только корректной разбивкой всех имеющихся образов на отдельные классы, не отсортировывая неудачные («ни рыба ни мясо») образы в пределах одного класса. Не факт, что такой подход даст наилучшие результаты при распознавании, но то, что при обучении потребуется больше повторов, - сомнений не вызывает.
У «предсказывающей» нейросети существует своя специфика. Прежде всего отмечу, что для русского уха термин «предсказание» (prediction) носит налет мистики, другое дело - прогноз, но давайте уж придерживаться международной научной терминологии… Так вот: если предсказывать временную последовательность (например, курс доллара) по ее предыстории, то абсолютно необходимо уточнить, какой, собственно, прогноз требуется - краткосрочный или долгосрочный, поскольку обучение для разных вариантов прогнозов следует проводить по-разному. Тот же курс доллара по одной лишь его предыстории не предскажешь, особенно в странах дикого капитализма, ведь если такой фактор, как количество вчерашних и сегодняшних чихов главного банкира, влияет на завтрашний курс, то этот фактор вместе со своей предысторией очень даже пригодится для предсказания.
Об учении самообучающихся систем
Существует иной принцип самоадаптации весовых коэффициентов. Он используется в самообучающихся (unsupervised, или, проще говоря, «без учителя») нейросетях, ярким представителем которых являются самоорганизующиеся карты Кохонена (Kohonen Self-organizing Feature Maps). Суть в том, что модификации подвергаются весовые коэффициенты, соответствующие определенным, получившим приоритет нейронам. Сначала по выбранному критерию определяется выигравший нейрон и нейроны из его окружения. На следующем этапе обучения область вокруг выигравшего нейрона сжимается, а степень (шаг) адаптации уменьшается. Обучение прекращается опять-таки после многократных повторов, когда выигрывать начнет один и тот же нейрон. Чтобы получить наилучшие результаты от применения такой НС для предварительной классификации, например, амплитудно-частотных спектров вибросигналов, необходимо изначально знать, сколько классов присутствует в обрабатываемых данных. Если количество нейронов окажется недостаточным, то самообучающаяся НС отнесет спектры «смежных» классов к более представительным классам. Если задать другое число нейронов, то «смежные» спектры НС отнесет к несуществующим. На практике количество классов становится известным после выявления особенностей каждого класса в отдельности, тогда как автоматически выявить эти особенности, по идее, и должна была самообучающаяся сеть, причем в скрытом виде, то есть внутри самой себя. Круг замкнулся! Получается, что для нейросети без учителя некий «суперучитель» должен указать оптимальное число классов (выходных нейронов).
Но вернемся к нашей нейросети. Любая палка - о двух концах: с одной стороны, получаем выигрыш в автоматизации, с другой - проигрыш из-за целого ряда ограничений. Сжимать область вокруг выигравшего нейрона и уменьшать шаг адаптации приходится на основе личного опыта в зависимости от специфики задачи или входных данных.
Итак, самообучающиеся НС применимы для решения лишь узкого круга задач, например для предварительной классификации (кластеризации).