Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Описание основных структур данных в интеллектуальных системах





 

Исходя из основной цели, которую необходимо достичь при разработке структур данных - универсальности, следует, прежде всего, разделить весь объем перерабатываемой информации на информацию, разделяемую несколькими оценочными задачами и информацию приватную (доступную только одной задаче). Ввиду того, что для одного и того же набора объектов (базы данных) может быть сформулировано несколько оценочных задач весь перечень объектов, подвергающихся оценке, является разделяемой информацией, т.е. объекты, оцениваемые в одной задаче, должны быть доступны также и другим задачам (например, на базе данных объектов недвижимости может решаться как задача поиска оптимальной квартиры с точки зрения цены и района, так и задача поиска наилучшей квартиры с точки зрения площади и удобств). Назовем всю информацию (в виде физических структур данных) о конкретной оценочной задаче, решаемой универсальной экспертной системой - проектом, тогда перечень объектов, а, следовательно, и их описание, т.е. конкретная реализация множества S является информацией, доступной нескольким проектам. Ввиду того, что перечень объектов легко представляется в виде таблицы где столбцы соответствуют конкретным свойствам из множества S, а строки соответствуют объектам, примем решение использовать для хранения перечня объектов существующие инструментарии поддержки популярных форматов данных (поддержки СУБД). Это обеспечит нам, кроме того, возможность подготовки данных вне оболочки экспертной системы, что в будущем может оказаться немаловажным.

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

Далее выясняется, что существующих терминов описания баз данных недостаточно для полного описания множества S. Например, для того чтобы составить весь перечень возможных исходов перечислимого поля нужно полностью перебрать всю базу данных по этому полю (и даже в этом случае мы получим неполный перечень возможных значений), определить же пределы изменения численных полей тем более затруднительно. Исходя из вышеизложенного, выясняется, что необходимы дополнительные структуры данных для хранения информации о множестве S. Эта структура должна содержать информацию во-первых, о наименовании свойства, во-вторых, о его типе (численное, перечислимое или регистрационное), в-третьих, о пределах изменений значения для численных свойств и о перечне значений для перечислимых свойств.

Что касается перечня классов, то здесь нет смысла использовать форматы данных СУБД, во-первых, потому что этот перечень невелик, а во-вторых, потому что перечень содержит только наименования классов.

Далее представляется целесообразным объединить множества T, D, P, K и соответствий F в одну структуру данных, во-первых, потому что эти множества логически связаны между собой (существование множеств P и D вытекает из смысла и формулировки множества Т), во-вторых, появляется возможность совместить параметры P и F (таким образом, что если соответствия между i-ым требованием и j-ым свойством нет то вес Pij = 0).

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

Файл с расширением *.pjt. Этот файл хранит информацию о модели в целом.

Файл с расширением *.stc. Этот файл хранит информацию о множестве свойств объектов. Файл имеет следующую структуру:

Файлы с расширением *.db. Этих файлов в каждом проекте два. Один из них имеет имя, такое же как у вышеописанного stc-файла и хранит перечень объектов, подвергаемых оценке. Второй имеет имя, такое же как у pjt-файла и хранит оценки объектов, полученные в процессе решения оценочной задачи. Имена полей файлов формируются по принципу: первый символ - это буква обозначающая тип свойства, соответствующего данному полю R - для регистрационных и I для информационных (численных и перечислимых) полей; следующие символы представляют собой порядковый номер поля в символьном виде(причем нумерация информационных и регистрационных полей ведется раздельно).Оба файла связаны друг с другом по реляционному принципу. Файл имеет формат Paradox 3.5.

Файл с расширением *.tpt. Файл имеет имя, такое же как имя pjt-файла и хранит информацию о множествах T, P, D, К и соответствиях F.

Кроме вышеописанных алгоритмов необходимо сформировать совокупность структур и алгоритмов для хранения информации о модели в оперативной памяти т.н. логические структуры и алгоритмы управления ими. Ввиду того, что физически информация о компонентах модели записана последовательно имеет смысл придерживаться того же принципа и при разработке логических структур. В то же время при работе других подсистем, может понадобится иметь доступ к определенному элементу структуры не последовательно, а например, по порядковому номеру.

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

 

Модель представления знаний в нейронных сетях

Начало современным моделям нейронных сетей было положено в работе Маккаллока и Питтса, где авторы сделали первую попытку эмулировать человеческие способности классифицировать и распознавать образы. В их формализме нейроны имеют состояния 0, 1 и пороговую логику перехода из состояния в состояние. Каждый нейрон в сети определяет взвешенную сумму состояний всех других нейронов и сравнивает ее с порогом, чтобы определить свое собственное состояние. Дальнейшее развитие связано с тем, что Розенблат ввел в модель Маккаллока и Питтса способность связей к модификации, что сделало ее обучаемой. Эта модель была названа персептроном.

Новый виток быстрого развития моделей нейронных сетей, который начался 9-10 лет тому назад, связан с работами Амари, Андерсона, Карпентера, Кохена и других, и в особенности, Хопфилда, а также под влиянием обещающих успехов оптических технологий и зрелой фазы развития СБИС для реализации новых архитектур.

В основу искусственных нейронных сетей положены следующие черты живых нейронных сетей, позволяющие им хорошо справляться с нерегулярными задачами:

- простой обрабатывающий элемент - нейрон;

- очень большое число нейронов участвует в обработке информации;

- один нейрон связан с большим числом других нейронов (глобальные связи);

- изменяющиеся по весу связи между нейронами;

- массированная параллельность обработки информации.

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

Задать нейронную сеть, способную решить конкретную задачу, это значит определить модель нейрона, топологию связей, веса связей. Нейронные сети, предназначенные для решения различных задач, отличаются друг от друга менее всего моделями нейрона, а в основном топологией связей и правилами определения весов или правилами обучения.

По структуре связей сети делятся на два больших класса: однослойные и многослойные. К однослойным относятся модель Хопфилда и последующие разработки, некоторые типы модели нейронной сети, известной под названием "машина Больцмана". Многослойная сеть имеет входной, выходной и скрытые слои, на входной подается информация, с выходного снимается ответ, скрытые слои участвуют в обработке.

Подходы к обучению однослойных и многослойных сетей различны. В однослойных часто удается выразить веса связей через параметры задачи (так обстоит дело с моделью Хопфилда и однослойной машиной Больцмана). Обучение многослойных сетей состоит в том, что на основе набора примеров {входное состояние -> выходное состояние} постепенно подбираются веса всех связей так, чтобы каждое входное состояние вызывало соответствующее выходное. Обучающие алгоритмы представляют собою итерационные процедуры с постепенным приближением к окончательным значениям весов связей.

Начало современному математическому моделированию на базе нейронных вычислений было положено работами Хопфилда, в которых была предложена математическая модель ассоциативной памяти на нейронной сети. Но не столько сама модель послужила главным толчком к появлению работ других авторов на эту тему, сколько введенная Хопфилдом функция вычислительной энергии нейронной сети. Это аналог функции Ляпунова в динамических системах. Показано, что для однослойной нейронной сети со связями типа "каждый с каждым" характерна сходимость к одной из конечного множества равновесных точек, которые являются локальными минимумами функции энергии. Понимание такой динамики нейронной сети было и у других исследователей. Однако Хопфилд и Тэнк показали, как конструировать функцию энергии для конкретной оптимизационной задачи и использовать ее для отображения задачи в нейронную сеть. Этот подход получил развитие и для решения других комбинаторных оптимизационных задач. Привлекательность подхода Хопфилда состоит в том, что нейронная сеть для конкретной задачи может быть запрограммирована без обучающих итераций. Веса связей вычисляются на основании вида функции энергии, сконструированной для этой задачи.

Развитием модели Хопфилда для решения комбинаторных оптимизационных задач и задач искусственного интеллекта является машина Больцмана, предложенная Хинтоном и другими и далее исследованная в. В ней, как и в других моделях, нейрон имеет состояния 1, 0 и связь между нейронами обладает весом. Каждое состояние сети характеризуется определенным значением функции консенсуса (аналога функции энергии). Максимум функции консенсуса соответствуют оптимальному решению задачи.

Итак, в рамках данного подхода элементом знания является состояние сети -- вектор состояний всех нейронов сети. Это можно считать средним уровнем абстрактности представления знаний. Для решения конкретной задачи необходимо организовывать сети со значительным числом нейронов. Небольшой объем памяти, необходимый для хранения нейрона позволяет эффективно пользоваться такими сетями.

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

Еще один недостаток нейронных сетей - ненаглядность представления знания – образы, запомненные сетью при обучении, закодированы в виде состояний всех нейронов сети, а процесс принятия решения в сети не может быть представлен в виде наглядных конструкций ЕСЛИ - ТО.

Модель может применяться для решения задач распознавания образов в практически любой предметной области. Широкое применение нейронные сети нашли при решении задач прогнозирования сложных процессов.

Так, по заказу Chemical Bank (США) фирма Logica разработала и внедрила систему для прогнозирования динамики биржевых курсов. На технической базе Sun SPARCstation LX с помощью аппарата нейронных сетей моделировались рынки валютных курсов доллар/швейцарский франк и немецкая марка/швейцарский франк. Выбор именно этих валют объяснялся высоким уровнем подвижности первого соотношения и малым - второго. Данные о динамике кросс-курсов этих валют собирались с 1 октября 1992 года по 1 сентября 1993, при этом ценовые прогнозы выражались пятью значениями: большой рост, малый рост, без изменений, малый спад, большой спад. В итоге был достигнут высокий процент достоверности прогноза около 60%.

Mellon equity Associates -- подразделение Mellon Bank в Питсбурге(США) - внедрила у себя систему Neural-Works Professional II /Plus 5.0 фирмы Neural-Ware. Эта система ориентирована на IBM-совместимые компьютеры. Пакет внедрялся около 4-5 мес. Основные решаемые задачи: распределение фондов и специальная селекция акций.

Группа специалистов по заказу департамента торговли и индустрии правительства Великобритании создала систему для выработки тактики распределения фондов на глобальных рынках облигаций. С ноября 1992 года эта система внедрялась в Североамериканской страховой компании в Бостоне (США). В итоге капитал этой компании быстро увеличился с 25 до 50 млн. долл., а портфель ценных бумаг показал доходность свыше 25% в первый же год внедрения системы.

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

В качестве типичного примера нейроплаты можно назвать плату МВ 86232 японской фирмы Fujitsu. На плате размещены процессор цифровой обработки сигналов и оперативная память емкостью 4 Мбайт, что позволяет использовать такую плату для реализации нейронных сетей, содержащих до тысячи нейронов.

Среди разрабатываемых в настоящее время нейроБИС, которых насчитывается несколько десятков типов, выделяются модели фирмы Adaptive Solutions (США) и Hitachi (Япония). НейроБИС фирмы Adaptive Solutions, вероятно, станет одной из самых быстродействующих: объявленая скорость обработки составляет 1,2 млрд. соединений в секунду. (нейронная сеть содержит 64 нейрона и 262144 соединения). НейроБИС фирмы Hitachi позволяет реализовать нейронную сеть, содержащую до 576 нейронов. Эти нейроБИС, несомненно, станут основой новых нейрокомпьютеров и специализированных многопроцессорных изделий.

Большинство сегодняшних нейрокомпьютеров представляют собой просто персональный компьютер или рабочую станцию, в состав которых входит дополнительная нейроплата. К их числу относятся, например, компьютеры серии FMR фирмы Fujitsu. Такие системы имеют бесспорное право на существование, поскольку их возможностей вполне достаточно для разработки новых алгоритмов и решения большого числа прикладных задач методами нейроматематики. Однако наибольший интерес представляют специализированные нейрокомпьютеры, непосредственно реализующие принципы нейронных сетей. Типичными представителями таких систем являются компьютеры семейства Mark фирмы TRW (первая реализация персептрона, разработанная Розенблатом, называлась Mark I). Модель Mark III фирмы TRW представляют собой рабочую станцию, содержащую до 15 процессоров семейства Motorola 68000 с математическими сопроцессорами. Все процессоры объединены шиной VME. Архитектура системы, поддерживающая до 65 000 виртуальных процессорных элементов с более чем 1 млн. настраиваемых соединений, позволяет обрабатывать до 450 тыс. межсоединений в секунду. Mark IV - это однопроцессорный суперкомпьютер с конвейерной архитектурой. Он поддерживает до 236 тыс. виртуальных процессорных элементов, что позволяет обрабатывать до 5 млн. межсоединений в секунду. Компьютеры семейства Mark имеют общую программную оболочку ANSE (Artificial Neural System Environment), обеспечивающую программную совместимость моделей. Другой интересной моделью является нейрокомпьютер NETSIM, созданный фирмой Texas Instruments на базе разработок Кембриджского университета.

Введение в ИИ

Предисловие

В настоящее время в исследованиях по искусственному интеллекту (ИИ) выделились шесть направлений:

1. Представление знаний.

2. Манипулирование знаниями.

3. Общение.

4. Восприятие.

5. Обучение.

6. Поведение.

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







Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычис­лить, когда этот...

Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор...

ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между...

Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.