Искусственный интеллект как научное направление, связанное с попытками формализовать мышление человека, имеет длительную предысторию. Первые шаги кибернетики были направлены на изучение и осмысление в новых понятиях процессов, протекающих в сложных, прежде всего живых, системах, включая и мыслящие. Позднее это направление работ оформилось в самостоятельную область, разрабатывающую проблему искусственного интеллекта. В ходе последующего развития исследований по искусственному интеллекту произошло их разделение на относительно самостоятельных направления. Это разделение сохраняется и до сегодняшнего дня. Разделение работ по искусственному интеллекту на два направления связано с существованием двух точек зрения на вопрос, каким образом строить системы искусственного интеллекта. Сторонники одной точки зрения убеждены, что «важнее всего результат», т.е. хорошее совпадение поведения искусственно созданных и естественных интеллектуальных систем, а что касается внутренних механизмов формирования поведения, то разработчик искусственного интеллекта вовсе не должен копировать или даже учитывать особенности естественных, живых аналогов. Другая точка зрения состоит в том, что именно изучение механизмов естественного мышления и анализ данных о способах формирования разумного поведения человека могут создать основу для построения систем искусственного интеллекта, причем построение это должно осуществляться, прежде всего, как моделирование, воспроизведение техническими средствами принципов и конкретных особенностей функционирования биологических объектов. Первое направление, таким образом, рассматривает продукт интеллектуальной деятельности человека, изучает его структуру, и стремиться воспроизвести этот продукт средствами современной техники. Ясно, что успехи этого направления искусственного интеллекта оказываются тесно связанны с развитием возможностей ЭВМ и искусства программирования, т.е. с тем комплексом научно-технических исследований, которые часто называют компьютерными науками. В связи со сказанным это направление искусственного интеллекта можно охарактеризовать термином «машинный интеллект». Второе направление искусственного интеллекта рассматривает данные о нейрофизиологических и психологических механизмах интеллектуальной деятельности и, в более широком плане, разумного поведения человека. Оно стремиться воспроизвести эти механизмы с помощью тех или иных технических устройств, с тем чтобы «поведение» таких устройств хорошо совпадало с поведением человека в определенных, заранее задаваемых пределах. Развитие этого направления тесно связано с успехами наук о человеке. Для него характерно стремление к воспроизведению более широкого, чем в машинном интеллекте, спектра проявлений разумной деятельности человека. Сказанное позволяет охарактеризовать данное направление искусственного интеллекта термином «искусственный разум». Оба основных направления искусственного интеллекта связаны с моделированием, но в случае машинного интеллекта мы имеем дело с моделированием феноменологическим, имитационным, а в случае искусственного разума – с моделированием структурным.
На компьютерном рынке России, перенасыщенном вычислительными средствами традиционной однопроцессорной архитектуры фон Неймана, появился новый вид программно-аппаратных изделий, которые реализуют параллельную распределенную обработку информации, аналогичную мыслительной деятельности высокоорганизованных живых существ. Речь идет о нейроподобных сетях (НПС) и различных видах их реализации: нейропакетах, нейроплатах и нейрокомпьютерах (НК). Современные цифровые вычислительные машины способны с высоким быстродействием и точностью решать формализованные задачи с вполне определенными данными по заранее известным алгоритмам. Однако в тех случаях, когда задача не поддается формализации, а входные данные неполны, зашумлены или противоречивы, применение традиционных компьютеров становится неэффективным. Альтернативой им становятся специализированные компьютеры, реализующие нетрадиционные нейросетевые технологии. Сильной стороной этих комплексов является нестандартный характер обработки информации. Она кодируется и запоминается не в отдельных ячейках памяти, а в распределении связей между нейронами и в их силе, поэтому состояние каждого отдельного нейрона определяется состоянием многих других нейронов, связанных с ним. Следовательно, потеря одной или нескольких связей не оказывает существенного влияния на результат работы системы в целом, что обеспечивает ее высокую надежность. Высокая «естественная» помехоустойчивость и функциональная надежность касаются как искаженных (зашумленных) потоков информации, так и в смысле отказов отдельных процессорных элементов. Этим обеспечиваются высокая оперативность и достоверность обработки информации, а простая дообучаемость и переобучаемость НПС позволяют при изменении внешних факторов своевременно осуществлять переход на новые виды решаемых задач. Приведенные выше преимущества нейросетевой обработки данных определяют области применения НПС:
Как известно, для решения неформализованных задач традиционно применяются два основных подхода. Первый, основанный на правилах, характерен для хорошо известных и уже зарекомендовавших себя экспертных систем. Второй, основанный на примерах, представляет собой классический случай применения нейросетевой технологии: от пользователя не требуется знания каких бы то ни было правил, как в экспертных системах; надо лишь иметь достаточное количество примеров для настройки адаптивной системы с заданной степенью достоверности: Процесс обучения НПС новому классу задач включает следующие стадии: Формулируется постановка задачи и выделяется набор ключевых параметров, характеризующих предметную область. Выбирается парадигма нейронной сети (модель, включающая в себя вид входных данных, пороговой функции, структуры сети и алгоритмов обучения), наиболее подходящая для решения данного класса задач. Как правило, современные нейропакеты, нейроплаты и нейрокомпьютеры позволяют реализовать не одну, а несколько базовых парадигм. Подготавливается возможно более широкий набор обучающих примеров, организованных в виде наборов входных данных, ассоциированных с известными выходными значениями. Входные значения для обучения могут быть неполны и частично противоречивы. Входные данные по очереди предъявляются НПС, а полученное выходное значение сравнивается с эталоном. Затем производится подстройка весовых коэффициентов межнейронных соединений для минимизации ошибки между реальным и желаемым выходом сети. Обучение повторяется до тех пор, пока суммарная ошибка во всем множестве входных значений не достигнет приемлемого уровня либо НПС не придет в стационарное состояние. Рассмотренный метод обучения нейроподобной сети носит название «обратное распространение ошибки» (error backpropagation) и относится к числу классических алгоритмов нейроматематики. Настроенная и обученная НПС может использоваться на реальных входных данных, не только подсказывая пользователю корректное решение, но и оценивая степень его достоверности. Рассмотрим более подробно современные возможности реализации НПС в программно-аппаратных изделиях и используемую элементную базу.
Современные возможности аппаратной реализации НПС можно обобщенно оценить следующим образом: