Суббота, 21.12.2024, 19:41
| RSS
[SEARCH_TITLE]
[SEARCH_FORM]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Архив - только для чтения
Робот и искусственный интеллект
SpaceДата: Четверг, 21.02.2008, 18:43 | Сообщение # 1








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
Вступление

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

Как известно, любой робот состоит из двух частей:

1. Железной - которая часто ставится во главу угла
2. Программной, или поведенческой - про которую часто забывают

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

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

Дорогой читатель безусловно возмутится: "Как же создать что-то большее в домашних условиях? Нужны промышленные компьютеры, сложные логические цепи, нестандартные периферийные интерфейсы." Не совсем так: вполне можно использовать и обычный старенький персональный компьютер, а лучше - ноутбук. Для начала хватит, а если все пойдет хорошо - можно будет и на промышленные компьютеры пересесть.
Использование ПК вместо "мозгов" робота

Итак, что нам дает использование персоналки вместо мозгов будущего робота? Главный вопрос начинающих - как управлять внешними устройствами? Ответ прост: через порты компьютера COM (RS232) и LPT. Это решение дает возможность реализовать как управление двигателями, так и обратную связь.

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

* Необходимость переделывания схемы питания компьютера в расчете на питание от аккумуляторов, т.е. создание специального блока питания
* Значительное увеличение массы робота за счет необходимости перевозки мощных аккумуляторов и компьютера с его периферией. Как следствие - усложнение конструкции "тележки", использование более мощных(и дорогих) моторов и т.п. Оценочная масса полученного робота - 6 кг.

Хотя, в данном случае, на взгляд автора, преимущества перевешивают:

* Возможность подключения массы hi-tech периферийных устройств и использование их при формировании поведения - без дополнительной трудоемкой работы, ведь все эти устройства могут быть подключены к компьютеру и управляться программно. Эта возможность дает неограниченный потенциал для расширения функциональности нашего робота. Например, можно подключить web-камеру, GPS-навигацию, телефон, можно спокойно пользоваться звуковой картой для записи и воспроизведения звуков, и т.п.
* Возможность использования всей вычислительной мощности компьютера и языков программирования высокого уровня для формирования поведения. Объезд препятствий - примитив по сравнению с открывающимися возможностями.
* Возможность использования технологий сферы искусственного интеллекта (как, например, нейронные сети) - для формирования поведения

Использование компьютера дает нам шанс сделать что-то по-настоящему стоящее. Есть некоторые сложности с реализацией механики робота - но они решаемы. Все материалы Вы можете найти, например, на сайте автора - robot.paccbet.ru. В этой же статье давайте сконцентрируемся на программировании поведения.
Программирование поведения

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

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

Конечный автомат позволяет реализовать любые "предустановленные" модели поведения, так сказать врожденные линии поведения объекта (в нашем случае - робота).
Конечный автомат описывает такие формулы поведения, как:
Если я работал, и вдруг пошел дождь, то пойти домой
В более общем варианте:
Если объект находился в состоянии A, и случилось событие X, то объект переходит в состояние B.
Роль конечного автомата - это функция, задающая правило определения нового состояния объекта.
НовоеСостояние = КонечныйАвтомат(Событие,ТекущееСостояние)

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

Обычно для обучения нейронных сетей используют некоторую базу правильных ответов. Это естественно, ведь если наш робот чему-то научился, то ему необходимо знать, правильно ли он этому научился. Как пример, робот вполне может научиться объезжать препятствия - разворотом на 180 градусов! Что, конечно же, является неверным решением.

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

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

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

1. Внутреннее состояние робота согласно показаниям его датчиков (например, разрядка батареи, отсутствие места на жестком диске, и т.п.)
2. Взаимодействие робота с окружающей средой.

Список внутренних событий и оценка их :

* Последний тест системы пройден отлично - хорошо
* Последний тест системы провален - плохо
* Низкий заряд батарей - плохо
* Полная разрядка батарей - ужасно
* Нехватка оперативной памяти - плохо
* Ошибки программного обеспечения - ужасно
* Нехватка места на жестком диске - ужасно
* Календарное событие (возникает в определенное время, используя встроенные в компьютер часы) - без веса

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

1. Люди-наладчики - те, кто настраивает робота
2. Люди-обыватели - те, кто пользуется услугами робота и непосредственно взаимодействует с роботом
3. Некоторые статические препятствия - положение которых долго не меняется и робот не может его изменить
4. Динамические препятствия - препятствия, которые то появляются то исчезают но всегда в одном месте
5. Непредсказуемые препятствия - препятствия которые нельзя предвидеть
6. Источники звука
7. Источники света
8. Место подзарядки
9. Маяки для определения местоположения

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

Более интересна ситуация с обывателями, т.е. людьми, физически взаимодействующими с роботом. Такие люди могут:

1. Отдавать команды с пульта дистанционного управления (ДУ)
2. Разговаривать с роботом / кричать на робота (воздействие звуком)
3. Воздействие светом (закрывать робота от света/освещать его фонарем)
4. Являться препятствием (непостоянным)
5. Заряжать робота (высшее блаженство хихи)
6. Выключать робота
7. Обездвиживать робота

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

Пожалуй, можно попробовать составить список состояний, обусловленных взаимодействием с внешней средой:

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

Что нам дает это распределение весов? Оно дает нам главное - список интересов робота, и список того, чего он будет опасаться. Если робот видит, что одни и те же его действия (или даже сложные последовательности действий) приводят всегда к одинаковым результатам (переводят в одни и те же состояния), он будет стремиться либо избегать выполнения подобных действий - если вес состояния отрицательный, либо наоборот, повторять их, если вес положителен. Причем обучение будет происходить автоматически, согласно принципам работы нейронных сетей. Кстати, для того, чтобы робот не зацикливался на чем-то одном, необходимо также ввести состояние "Смена рода деятельности" с приоритетом прекрасно, причем в это состояние робот должен переходить по истечение какого-то времени, если все это время он пребывал в одном или нескольких(небольшом количестве) состояниях.
Заключение

Реализация представленного выше подхода к управлению роботами поможет создать робота с действительно сложным поведением, и даже с функциями самообучения. Проект программы, реализующей функции сложного поведения - это отдельное исследование, к сожалению, не умещающееся в рамки данной статьи. Поэтому автор может только пожелать уважаемым читателям не размениваться по мелочам, а сразу приступать к созданию таких роботов, которые действительно будут умными. Удачи!
Источник: http://robot.paccbet.ru/docs/robot_ai.php

 
GroverДата: Пятница, 22.02.2008, 13:17 | Сообщение # 2








Зарегистрирован 04.02.2008
Группа: Опытные
Сообщений: 130
Город: Воронеж
Статус: Offline
Я всегда считал, что если создать искуственный интеллект, то машина-носитель будет стоять и ни чего не делать, т.к. у нее не возникает желаний и интересов - ИИ способен лишь реагировать на окружающую среду.
Читая эту статью мне пришла в голову мысль (опять изобрел велосипед) - создавая робота с ИИ, необходимо вложить ему задачу, к выполнению которой он будет ОБЯЗАН стремиться. в этом случае машина начнет работать. к примеру, задача: "собирать мусор в квартире". Цель ясна, можно ее назвать даже желанием робота собирать мусор. Теперь ему нужны средства для этого, диагностика возможностей, оценка ситуации и т.д. и .т.п. Вот теперь робот будет "жить". ИИ этому мусорщику понадобится для принятия решения "найденный предмет является мусором, или упал со стола и еще нужен человеку". Так же для выполнения задачи потребуется энергия - необходимо заботиться о аккумуляторах... и так далее...

В общем, задумывая ИИ, необходимо точно ставить задачи!


--------
GroverSuper.ucoz.net - мои странички.
 
SpaceДата: Суббота, 23.02.2008, 12:38 | Сообщение # 3








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
Quote (Grover)
создавая робота с ИИ, необходимо вложить ему задачу, к выполнению которой он будет ОБЯЗАН стремиться.

Это обязательно. Без задачи робот и не будет что либо делать. Хотя это как запрограммировать
 
SpaceДата: Суббота, 23.02.2008, 12:42 | Сообщение # 4








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
Quote (Grover)
"собирать мусор в квартире"

Ну это уже напоминает робота-пылесоса на робофоруме его обсуждали
 
SpaceДата: Суббота, 23.02.2008, 12:51 | Сообщение # 5








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
Quote (Arc)

Так как я около полгода занимаюсь только его зрением, то уже многое подзабыл и по этому выложу все в очень общих чертах.
Начну с организации памяти.
Все основывается на асоциациях. Увидел обект (ручку) - ее картинка записалась в память. Сказали ему как этот предмет называется и возникла асоциация картинки со словом. Так же возникают асоциации и в случае действий: действие-последствие (провел ручкой по бумаге - остался след). Нужно также ввести силу асоциации (еда асоц с тарелкой плова на 90%, с яблоком на 70%, с петрушкой на 20%) и сознательность асоц (забить гвоздь асоц с тем что он будет забит относительно сознательно, а с тем что его надо взять, приставить к стенке, бить по нему молотком относительно подсознательно). Нужна и возможность не только паралельных асоц (коса - у девушки, на речке, у смерти или другие омонимы), но и груповых (приготовить суп - помыть овощи, измельчить, закипятить воду и что там дальше; закипятить воду - взять чайник, набрать воды, поставить на газ). Ну о памяти пока что хватит.
Мышление.
Прогнозирование.
Оно основывается на подобных случаях, на соединении (паралельном или последовательном) случаев которые уже были пережиты или известно о их последствии из других источников (лежу я в кровати, надо ехать в универ, ну и думаю что будет если не поеду: из своего опыта - еще посплю, не надо мучатся-вставать; из увиденого - преподы заставлят отрабатывать(это было паралельное соединение); из опыта (на низком уровне)- меня не будет в универе, из виданого на других - преподы подумают что прогуливаю, на других - заставят отрабатывать (это было последовательное связывание).
Решение задач.
Надо произвести некий розчет. Есть арументы и надо получить результат. А ранше он как то увидел калькулятор, проверил что оно такое и в памяти отложилось что задаеш ему аргументы и получаеш результат. Идет поиск в памяти чего то, что имеет как последствие получение результата, находится обект который асоц со словами "использование калькулятора" и ...
Изучение.
Видит какое то действие (много видет, но внимание обращает только на одно), через время видет кучу действий, копается в памяти что есть причиной для каждого действия, а те действия для которых не найдено причин и асоциируются как последствие исследуемого действия.
Также очень не маловажно использовать чувства и эмоции, так как они дадут возможность создания интуиции (или что то похожее), помогут эфективнее использовать память, ИИ будет более выбирать более потходящие способы решения задач и многое другое. Надо также обратить внимание на лень. Ее наличие поможет избавить от выполнения ненужных или маловажных действий.

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

Писал это чють пяный и оч сонный, так что...

Жду осуждений, коментариев, предложений, и т.д.


Рассуждения с робофорума

 
LesДата: Суббота, 23.02.2008, 13:11 | Сообщение # 6








Группа: Удаленные
Создать ИИ даже самый простой очень и очень сложно. А для нас это вообще за гранью. Поэтому это можно только обсуждать. Что это когдато будет ............... dry
 
GroverДата: Суббота, 23.02.2008, 17:38 | Сообщение # 7








Зарегистрирован 04.02.2008
Группа: Опытные
Сообщений: 130
Город: Воронеж
Статус: Offline
нет ни чего невозможного.
Тем более, что тот уровень, которого достигло все человечество (в вопросе ИИ) можно легко воссоздать дома.
К примеру, распознание образов еще пару лет назад было очень затруднительным процессом, а сейчас каждый, кто владеет языками программирования, может дома все сделать.


--------
GroverSuper.ucoz.net - мои странички.
 
LesДата: Суббота, 23.02.2008, 18:23 | Сообщение # 8








Группа: Удаленные
Quote (Grover)
каждый, кто владеет языками программирования, может дома все сделать.

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


Сообщение отредактировал Les - Суббота, 23.02.2008, 18:26
 
SpaceДата: Суббота, 23.02.2008, 22:05 | Сообщение # 9








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
Вообще соглашусь только в одном, что сложные ИИ группами делать проще(программирование в идеале знают только гении wacko ), а одному тяжеловато будет. Всё таки одна голова хорошо, а несколько лучше happy
 
SpaceДата: Воскресенье, 24.02.2008, 20:49 | Сообщение # 10








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
Некоторые подходы к решению проблемы искусственного интеллекта

Идея создания мыслящих машин "человеческого типа", которые думают, двигаются, слышат, говорят и вообще ведут себя как живые люди уходит корнями в глубокое прошлое. Еще в античности люди стремились создать машину, подобную себе.

В 1736 году французский изобретатель Жак де Вокансон изготовил механического флейтиста в человеческий рост, который исполнял двенадцать мелодий, перебирая пальцами отверстия и дуя в мундштук как настоящий музыкант. В середине 1750-х годов Фридрих фон Кнаус, австрийский автор, служивший при дворе Франциска I, сконструировал серию машин, которые умели держать перо и могли писать довольно длинные тексты. Другой мастер, Пьер Жак-Дроз из Швейцарии, построил пару изумительных по сложности механических кукол размером с ребенка: мальчика, пишущего письма и девушку, играющую на клавесине. Успехи механики XIX века стимулировали еще более честолюбивые замыслы. Так, в 1830-х годах английский математик Чарльз Бэббидж задумал, правда, так и не завершив, сложный цифровой калькулятор, который он назвал Аналитической машиной. Как утверждал Бэббидж, его машина в принципе могла бы рассчитывать шахматные ходы. Позднее, в 1914 году, директор одного из испанских технических институтов Леонардо Торрес-и-Кеведо действительно изготовил электромеханическое устройство, способное разыгрывать простейшие шахматные эндшпили почти также хорошо как и человек.

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

Электронный подход

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

К концу 50-х годов все эти увлечения выделились в новую более или менее самостоятельную ветвь информатики, получившую название Искусственный интеллект. Исследования в области искусственного интеллекта, первоначально сосредоточенные в нескольких университетских центрах США - Массачусетском технологическом институте, Технологическом институте Карнеги в Питтсбурге, Стэндфордском университете, - ныне ведутся во многих других университетах и корпорациях США и других стран. Исследователей искусственного интеллекта, работающих над созданием мыслящих машин, можно разделить на две группы. Одних интересует чистая наука и для них компьютер - лишь инструмент, обеспечивающий возможность экспериментальной проверки теорий процессов мышления. Интересы другой группы лежат в области техники: они стремятся расширить сферу применения компьютеров и облегчить пользование ими. Многие представители второй группы мало заботятся о выяснении механизма мышления - они полагают, что для их работы это едва ли более полезно, чем изучение полета птиц и самолетостроения.

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

Кибернетический подход

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

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

В 1948 году выходит книга Винера, в которой он заложил фундамент новой науки, названной им кибернетикой, что в переводе с греческого означает рулевой. Следует отметить, что принцип "обратной связи", введенный Винером, был в какой-то степени предугадан Сеченовым в описанном им в книге "Рефлексы головного мозга" (1863 год) феномене "центрального торможения", то есть почти за 100 лет до Винера, и рассматривался как механизм регуляции деятельности нервной системы, и который лег в основу многих моделей произвольного поведения в отечественной психологии.

Нейронный подход

На некотором этапе развития информатики многие ученые стали понимать, что создателям вычислительных машин есть чему поучиться у биологии. Среди них был нейрофизиолог и поэт-любитель Уоррен Маккалок, обладавший, как и Винер, философским складом ума и широким кругом интересов. В 1942 году Маккалок, участвуя в научной конференции в Нью-Йорке, услышал доклад одного из сотрудников Винера о механизмах обратной связи в биологии. Высказанные в докладе идеи перекликались с собственными идеями Маккалока относительно работы головного мозга. В течение следующего года Маккалок в соавторстве со своим 18-летним протеже, блестящим математиком Уолтером Питтсом, разработал теорию деятельности головного мозга. Эта теория и являлась той основой, на которой сформировалось широко распространенное мнение, что функции компьютера и мозга в значительной мере сходны.

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

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

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

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

Распознавательный подход

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

Два года спустя была продемонстрирована первая действующая машина "Марк-1", которая могла научиться распознавать некоторые из букв, написанных на карточках, которые подносили к его "глазам", напоминающим кинокамеры. Персептрон Розенблата оказался наивысшим достижением "восходящего", или нейро-модельного метода создания искусственного интеллекта. Чтобы научить персептрон способности строить догадки на основе исходных предпосылок, в нем предусматривалась некая элементарная разновидность автономной работы или "самопрограммирования". При распознании той или иной буквы одни ее элементы или группы элементов оказываются гораздо более существенными, чем другие. Персептрон мог научаться выделять такие характерные особенности буквы полуавтоматически, своего рода методом проб и ошибок, напоминающим процесс обучения. Однако возможности персептрона были ограниченными: машина не могла надежно распознавать частично закрытые буквы, а также буквы иного размера или рисунка, нежели те, которые использовались на этапе ее обучения.

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

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

Что дальше?

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

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

 
vastaniДата: Среда, 21.05.2008, 13:18 | Сообщение # 11








Зарегистрирован 21.05.2008
Группа: Новички
Сообщений: 3
Город: Харьков
Статус: Offline
Все хорошо пишете и вообщем правильно, но...
Но вот я "со своей колокольни" не могу отделаться от впечатления что ситуация либо недожата до конца, либо смешали в кучу причины, следствия, методы и цели... словом полноты нет.
Итак, моя "колокольня" :) сегjдня - лагерь энтузиастов-программистов создания своих ОС, новых ОС, ноу-хау ОС, отечественных ОС... и в частности ОСРВ (операционных систем реального времени), которые призваны или вернее созданы(создаются) для управления реальных обьектов АСУТП (манипуляторов, механизмов, приводов, контроля датчиков...) в реальном времени (т.е. работа с любым обьектом или его параметром с погрешностью не превышающей некоторое "паспортное" значение - т.н. "время отклика ОСРВ". Например не более 20 мс ВНЕ зависимости от количества пареметров, обьектов, математических и пр. задач).
Может быть за нейронными сетями и громким ИИ есть нечто совершенно иное, но я реалист и практик. Посему уверен и убежден, что БАЗОВЫМ мозгом какого нибудь японского андроида, который умеет держать равновесие, анализировать и принимать ряд оптимальных двигательных функций и перемещений... - есть ОСРВ!
Неважно как она сделана под какой проц, да и вообще их ОСРВ и процов может быть несколько и даже разных... и прежде чем ставить, допустим самому себе почти мечтательно-фантастичесике задачи ИИ, как будуще, лично я бы сначала создал ОСРВ робота. Или хотябы начал формулировать, расчленять глобальное на более мелкое, структурное, схематическое.
Сюда я пишу сейчас почти случайно, т.к. пошарив несколько дней в инете по теме роботов и имея при этом большое желание привнести свою лепту именно в данной сфере ОСРВ, а НЕ нашел НИЧЕГО(!) чтобы почитать в этом направлении Что ДЕЛАЕТСЯ? ЭТО ПРИСКОРБНО, но факт!
Еще скажу, что я имею знания и опыт, образование, чтобы быть поредником между энтузиастами программистами ОСестроителями и инженерами-робототехниками (так уж в жизни привелось) посему констатирую - МЕЖДУ ЭТИМИ ЛАГЕРЯМИ НЕТ "МОСТА", а значит и весомых успехов. Причем что харектерно у обоих! Одни зациклились на победах над виндой и линуксом и совсем им не по душе возиться с железячниками и железками, а занчит и ОСРВ вне особого интереса, другие вот, как я погляжу выше AVRов не поднимаются, а конструкции делают адекватные им пожалуй.
Я тут ,конечно новичёк и больше зритель и читатель любопытствующий, посему прошу помидорами в меня не бросать, но мнение и даже боль свою давнешнюю решился вот и высказал. Вполне допускаю, что изложил все сумбурно и затронул большой комплекс вопросов, но ведь так оно и есть на самом деле. Не так ли?


Патриотизм - не болезнь, а состояние души!
 
SpaceДата: Четверг, 29.05.2008, 14:00 | Сообщение # 12








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
Quote (vastani)
Может быть за нейронными сетями и громким ИИ есть нечто совершенно иное, но я реалист и практик. Посему уверен и убежден, что БАЗОВЫМ мозгом какого нибудь японского андроида, который умеет держать равновесие, анализировать и принимать ряд оптимальных двигательных функций и перемещений... - есть ОСРВ!

Я с тобой согласен.
Quote (vastani)
выше AVRов не поднимаются,

Все кто здесь(кто то лучше, а кто плохо.) пока сильных знаний(но есть те у кого довольно хорошие знания) в программирование не имеют. Поэтому и занимаемся тем, что пока понятно. Так сказать делаем примитивных роботов. А АVR всё равно нужны. В целом роботе их вполне можно использовать для записи подпрограмм.
Quote (vastani)
Я тут ,конечно новичёк и больше зритель и читатель любопытствующий, посему прошу помидорами в меня не бросать, но мнение и даже боль свою давнешнюю решился вот и высказал. Вполне допускаю, что изложил все сумбурно и затронул большой комплекс вопросов, но ведь так оно и есть на самом деле. Не так ли?

В тебя ни кто не собирается кидаться. И ты действительно прав, но ИИ всем интересно. Поэтому я думаю, что об этом просто стоит хотя бы поговорить. А возможно когда - нибудь из тех кто есть на форуме сделает самый простейший ИИ. И возможно ему помогло в создание, то о чём мы тут говорили. То есть наталкнуло на мысль. Как и что сделать. ВОТ!
 
  • Страница 1 из 1
  • 1
Поиск: