Об интеллектуальных сетях, искусственные нейронные сети
Об интеллектуальных сетях, искусственные нейронные сети
В повседневной деятельности менеджеров различных уровней, лиц, принимающих решения, можно выделить ряд типовых задач, которые во многом могут быть переложены на плечи ЭВМ.
Эти задачи носят определенно интеллектуальный характер и требуют большого опыта и внимания при своем решении. Примерами таких задач могут быть: оценка и выбор оптимальных проектных решений; оценка ситуации и выбор решения при управлении сложными процессами; техническая и медицинская диагностика; прогнозирование финансово-экономических параметров: доходности предприятия, курсов валют, биржевых цен и т.п.; оценка кредитных и инвестиционных рисков; оценка сложных объектов (типа объектов недвижимости) при их купле/продаже; подбор и расстановка кадров. В мире уже сегодня известно значительное количество программных систем, предназначенных для решения указанных задач. В силу интеллектуального характера решаемых ими задач, а также в силу того, что самим системам присущи способность обучаться и объяснять свои решения, способность достичь высокого качества формируемых решений, такие системы называют интеллектуальными. Под этим общим названием в последнее время принято объединять достаточно широкий круг программных продуктов. К ним относятся и экспертные системы, и системы для численного обоснования принятия решения(decision support systems), и системы для распознавания образов(текстов, изображения, речи), и некоторые другие.
Постепенное накопление опыта, оттачивание теории и отладка алгоритмов, позволили доказать в конце концов ощутимую эффективность интеллектуальных программ, что привело в конце 80-х - начале 90-х годов к резкому всплеску интереса к подобным программным продуктам, особенно к системам способным решать финансовые и управленческие задачи. Процесс развития этого направления продолжается и в настоящее время. Кроме этого, в программировании в целом наметилась быстро развивающаяся тенденция к интеллектуализации. Так, практически все популярные программные продукты в большей, или в меньшей степени приобрели черты интеллектуальности. Запоминание действий пользователя, подсказки и рекомендации по оптимальному использованию соответствующих режимов самих программ, сложные ассоциативные поиски, оптимизация кода при программировании, сложные механизмы обеспечения корректности данных при вводе и хранении – вот неполный перечень признаков «поумнения» современных программных средств. А это, в свою очередь, является немало важной предпосылкой дальнейшего прогресса в разработке интеллектуальных систем(ИС).
Одной из базовых проблем, при создании ИС, является выбор модели представления знаний. Именно модель представления знаний определяет архитектуру, возможности и свойства системы, а также методы приобретения знаний ИС. Именно она, в конце концов, определяет насколько система может называться интеллектуальной. Суть проблемы представления знаний заключается в их формализации, то есть в переводе их в символьное представление. В настоящее время известен ряд базовых моделей представления знаний и их модификаций, это представление с помощью фактов и правил, исчисления предикатов, нейронные сети, семантические сети, фреймы. При построении ИС может быть использован любой из них, сам по себе или в сочетании с другими. Каждая из моделей позволяет получить систему с некоторыми преимуществами - делает ее более эффективной в конкретных условиях, облегчает ее понимание и модификацию. При этом сопоставление различных моделей представления знаний является сложной, слабо формализуемой задачей.
Сетевые интеллектуальные системы, являясь программными продуктами, разработка которых сложна и требует больших временных и материальных затрат, разрабатывались обычно на заказ крупными исследовательскими центрами и организациями. Такие экспертные системы во-первых, ориентированы на решение задач оценки в конкретной предметной области; во-вторых, такие экспертные системы имели весьма высокую цену, что ограничивало их широкое распространение; в-третьих, такие экспертные системы предъявляли высокие требования к аппаратному обеспечению; и, наконец, в-четвертых, они ограничивали число пользователей одновременно работающих в системе
Начало современным моделям нейронных сетей было положено в работе Маккаллока и Питтса, где авторы сделали первую попытку эмулировать человеческие способности классифицировать и распознавать образы. В их формализме нейроны имеют состояния 0, 1 и пороговую логику перехода из состояния в состояние. Каждый нейрон в сети определяет взвешенную сумму состояний всех других нейронов и сравнивает ее с порогом, чтобы определить свое собственное состояние. Дальнейшее развитие связано с тем, что Розенблат ввел в модель Маккаллока и Питтса способность связей к модификации, что сделало ее обучаемой. Эта модель была названа персептроном.
В основу искусственных нейронных сетей положены следующие черты живых нейронных сетей, позволяющие им хорошо справляться с нерегулярными задачами:
- простой обрабатывающий элемент - нейрон;
- очень большое число нейронов участвует в обработке информации;
- один нейрон связан с большим числом других нейронов (глобальные связи);
- изменяющиеся по весу связи между нейронами;
- массированная параллельность обработки информации.
Основная их черта - использование взвешенных связей между обрабатывающими элементами как принципиальное средство запоминания информации. Обработка в таких сетях ведется одновременно большим числом элементов, благодаря чему они устойчивы к неисправностям и способны к быстрым вычислениям. Задать нейронную сеть, способную решить конкретную задачу, это значит определить модель нейрона, топологию связей, веса связей. Нейронные сети, предназначенные для решения различных задач, отличаются друг от друга менее всего моделями нейрона, а в основном топологией связей и правилами определения весов или правилами обучения.
По структуре связей сети делятся на два больших класса: однослойные и многослойные. К однослойным относятся модель Хопфилда и последующие разработки и некоторые типы модели нейронной сети, известной под названием "машина Больцмана" Многослойная сеть имеет входной, выходной и скрытые слои, на входной подается информация, с выходного снимается ответ, скрытые слои участвуют в обработке . Подходы к обучению однослойных и многослойных сетей различны. В однослойных часто удается выразить веса связей через параметры задачи (так обстоит дело с моделью Хопфилда и однослойной машиной Больцмана). Обучение многослойных сетей состоит в том, что на основе набора примеров {входное состояние -> выходное состояние} постепенно подбираются веса всех связей так, чтобы каждое входное состояние вызывало соответствующее выходное. Обучающие алгоритмы представляют собою итерационные процедуры с постепенным приближением к окончательным значениям весов связей.
Начало современному математическому моделированию на базе нейронных вычислений было положено работами Хопфилда в которых была предложена математическая модель ассоциативной памяти на нейронной сети. Но не столько сама модель послужила главным толчком к появлению работ других авторов на эту тему, сколько введенная Хопфилдом функция вычислительной энергии нейронной сети. Показано, что для однослойной нейронной сети со связями типа "каждый с каждым" характерна сходимость к одной из конечного множества равновесных точек, которые являются локальными минимумами функции энергии. Привлекательность подхода Хопфилда состоит в том, что нейронная сеть для конкретной задачи может быть запрограммирована без обучающих итераций. Веса связей вычисляются на основании вида функции энергии, сконструированной для этой задачи. Развитием модели Хопфилда для решения комбинаторных оптимизационных задач и задач искусственного интеллекта является машина Больцмана, предложенная Хинтоном и другими и далее исследованная в. В ней, как и в других моделях, нейрон имеет состояния 1, 0 и связь между нейронами обладает весом. Каждое состояние сети характеризуется определенным значением функции консенсуса (аналога функции энергии). Максимум функции консенсуса соответствуют оптимальному решению задачи.
Итак, в рамках данного подхода элементом знания является состояние сети - вектор состояний всех нейронов сети. Это можно считать средним уровнем абстрактности представления знаний. Для решения конкретной задачи необходимо организовывать сети со значительным числом нейронов. Небольшой объем памяти, необходимый для хранения нейрона позволяет эффективно пользоваться такими сетями. Основными преимуществами нейросетей является их высокая адаптивность, а также их способность к обработке зашумленной и неполной информации.. Однако переобучение или дообучение сети затрагивает только значения весовых коэффициентов на межнейронных соединениях. Создание же алгоритма обучения, так же как и проектирование структуры сети, являются творческими задачами, выполняемыми специалистами высокой квалификации для конкретных задач. Данный недостаток серьезно затрудняет создание ИС на основе нейронных сетей.
Еще один недостаток нейронных сетей - ненаглядность представления знания – образы, запомненные сетью при обучении, закодированы в виде состояний всех нейронов сети, а процесс принятия решения в сети не может быть представлен в виде наглядных конструкций ЕСЛИ - ТО.
Модель может применяться для решения задач распознавания образов в практически любой предметной области. Широкое применение нейронные сети нашли при решении задач прогнозирования сложных процессов. Так, по заказу Chemical Bank (США) фирма Logica разработала и внедрила систему для прогнозирования динамики биржевых курсов. На технической базе Sun SPARCstation LX с помощью аппарата нейронных сетей моделировались рынки валютных курсов доллар/швейцарский франк и немецкая марка/швейцарский франк. Выбор именно этих валют объяснялся высоким уровнем подвижности первого соотношения и малым - второго. Данные о динамике кросс-курсов этих валют собирались с 1 октября 1992 года по 1 сентября 1993, при этом ценовые прогнозы выражались пятью значениями: большой рост, малый рост, без изменений, малый спад, большой спад. В итоге был достигнут высокий процент достоверности прогноза около 60%Группа специалистов по заказу департамента торговли и индустрии правительства Великобритании создала систему для выработки тактики распределения фондов на глобальных рынках облигаций. С ноября 1992 года эта система внедрялась в Североамериканской страховой компании в Бостоне (США). В итоге капитал этой компании быстро увеличился с 25 до 50 млн. долл., а портфель ценных бумаг показал доходность свыше 25% в первый же год внедрения системы.
Нейронные сети могут быть реализованы как программно, так и аппаратно. В настоящий момент на компьютерном рынке предлагается весьма широкий спектр аппаратных средств, обладающих различными функциями, возможностями и естественно ценой. В качестве типичного примера нейроплаты можно назвать плату МВ 86232 японской фирмы Fujitsu. На плате размещены процессор цифровой обработки сигналов и оперативная память емкостью 4 Мбайт, что позволяет использовать такую плату для реализации нейронных сетей, содержащих до тысячи нейронов.
Среди разрабатываемых в настоящее время нейроБИС, которых насчитывается несколько десятков типов, выделяются модели фирмы Adaptive Solutions (США) и Hitachi (Япония). НейроБИС фирмы Adaptive Solutions, вероятно, станет одной из самых быстродействующих: объявленая скорость обработки составляет 1,2 млрд. соединений в секунду. (нейронная сеть содержит 64 нейрона и 262144 соединения). НейроБИС фирмы Hitachi позволяет реализовать нейронную сеть, содержащую до 576 нейронов. Эти нейроБИС, несомненно, станут основой новых нейрокомпьютеров и специализированных многопроцессорных изделий.