Возможно ли создание искусственного интеллекта. Как создают искусственный интеллект: от кода до робота

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

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

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

Этап планирования структуры

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

В основе иерархии классов среды обитания ИИ было положено несколько пар классов:

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

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

Для работы нужна была какая-то конкретная не сложная игровая концепция. И в качестве такой была выбрана концепция игры Pack-Man , ввиду простого набора правил.

Сразу же были выделены дополнительные подклассы Объектов и Субъектов игры:

  • субъект Пакман – тот самый Packman;
  • объекты Фрукта – те, что для поесть Пакману;
  • субъекты Привидение – те, для которых в игре создан Пакман.

Этап планирования работ

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

Были сразу же выделены следующие этапы реализации:

  1. Создание классов обеспечивающих функционирование мира, в котором будет жить искусственный интеллект (классы Мир, Ключевая точка и Путь);
  2. Отрисовка Мира и заодно создание основы функционала для визуализации данных.
  3. Создания класса Объект, его взаимодействий со средой.
  4. Создание первого экземпляра Объекта, а именно Фрукты и ее отрисовка.
  5. Создание дополнения функционала для Объекта, что бы превратить его в Субъект.
  6. Создание экземпляра Пакман. Отрисовка. Добавление правил в игру.
  7. Разработка кода взаимодействия с пользователем, организация работы системы в «реальном масштабе времени».
  8. Реализация алгоритма поиска кратчайшего пути. Соединение его с управлением Пакмана и автоматическим изменением его состояния Миром во времени.
  9. Создание экземпляра Привидение. Отрисовка. Добавление правил в игру.
  10. Улучшение системы по мелочам.
  11. Получение удовольствия.
С этим планом я приступил к работе.

Реализация

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

Этапы №3 и №4 тоже особого труда не вызывали – Фрукта не бегала, не вредничала, а только лежала и отрисовывалась.

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

Этап 6 Проблемы с появлением экземпляра Пакмана как нестранно не начались. Просто появился экземпляр типа Субъект, а так же отрисовка на дисплее в нужной координате кружочка. И еще были добавлены правила поедания Фрукты.

Даже на этапе №7 , когда мышкой генерировалось одно задание в виде команды «беги» к указанной координате, проблем не было. Искалась ближайшая точка, которая попадала бы в Путь, на котором уже стоял Пакман и Пакман послушно туда шел.

Приключения начались на этапе №8 , где выполнялась реализация алгоритма поиска кратчайшего пути. Функция поиска кратчайшего пути представляла собой модифицированный алгоритм Ли , адаптированный к динамическим массивам и структурам графа. Основные сложности были при написании кода, где реализован был обратный ход. Для уменьшения количества перестраиваний структуры графа при перемещении экземпляров Объектов Объекты были сделаны не как узловые Ключевые точки, соединенные Путями, а как Ключевые точки, принадлежащие к Пути. Имея на момент написания статьи работающий код, до сих пор не уверен в правильности выбранного решения. Что проще: то ли перестраивать локально граф Мира и заодно маршруты Субъектов, которые перемещаются через измененные фрагменты графа или просто размещать классы Субъектов и Объектов на неизменяемом графе Путей.

Само собой на всех этапах работы постоянно мелькали ошибки доступа к памяти. Наиболее жестокий случай был, когда сообщение вылетало где-то на середине игры. Забывал убирать ссылку между Путями и разрушенными экземплярами Фруктов, когда их съедали. Ошибка проявлялась спустя время после съедения при перезаписи памяти. Пока там хранились данные разрушенного объекта и они были не перезаписанные новым динамическим объектом все было нормально, т.е. крах программы был не мгновенный.

Наконец на этапе №9 было добавлено первое Привидение. Точка назначения была всегда координата Пакмана. Использовалась уже написанная функция поиска кратчайшего пути, которая вызывалась постоянно 24 раза в 1 секунду. После генерации списка действий движение Привидения осуществлялось системой (Миром) автоматически.

Когда пришел к этапу №10 , то, как говорится, сани понеслись!
Был сделан генератор случайных карт. При создании карты для генерации Путей было сделано несколько критериев их допустимого создания: в узловых точках должно пересекаться не более 4-х Путей, а узловые точки должны быть не ближе к уже проложенным Путям определенного расстояния, как и пути не должны быть длиннее определенной константы.

Затем были добавлены несколько Привидений, которые настырно преследовали Пакмана.

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

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

На этом собственно остановился и спокойно перевел дух.
В завершение были достроены декоративные элементы: «Конец игры» (съедение Пакмена), подсчитывание очков (количества съеденных Фрукт), «Завершение уровня» (съедение всех Фруктов).

Итоги мучений.

Несмотря на большое количество пролитого пота и крови были достигнуты сравнительно небольшие результаты: для дальнейших изысканий реализована основа Мира, в котором живет интеллект простейшего хищника типа паук. По видимости дальше необходимо создать модификацию существующего алгоритма ИИ для реализации поведения «Жертвы» (в рамках игры – это убегающие от Пакмана Фрукты), а также комбинированного ИИ («Хищник-жертва»), что позволит сделать бот Пакмана, а затем не тратить силы на «поиграть», а только с удовольствием наблюдать на метания в пробирке этого «Колобка».

Посмотреть воочию, что вышло можно « » (исполняемый файл для Win32)*. Обратите внимание на тумблер «Режим матрицы». При его включении можно видеть, как система принимает решения, и почувствовать себя немного Нео. К сожалению, додумался его сделать на 10-м этапе, для лучшего понимания работы ИИ. Если бы сделал ранее, потратил меньше время на отладку алгоритма поиска кратчайших путей.

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

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

Теги: Добавить метки

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

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

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

Первое, что мы с вами сделаем это определим, что такое интеллект.

Представьте себе, что компьютер с интеллектом существует. И у вас есть возможность общаться с ним голосом или с помощью текстовых сообщений.
Вопросы:
  • Обязательно ли встраивать в программу интеллекта компьютера особенности языка (описывать семантику, грамматику, морфологию) или он смог бы выучить языки самостоятельно через взаимодействие с человеком?
  • Если бы вам поставили задачу научить компьютер языку, то что бы вы делали?
  • Если бы в обучении принимали участие только вы, то на кого он был бы похож?
А теперь, ответьте на эти вопросы еще раз, с той лишь разницей, что обучать пришлось бы:
  • Породистого попугая, теоретически способного к общению.
  • Новорожденного ребенка.
Мы с вами только что проделали интеллектуальную работу, и я надеюсь, что многие из вас получили новые знания. И вот почему:
  • Во-первых, я попросил вас представить себе (вообразить), «что будет если…». Вы действовали в изменившихся условиях. Возможно вам не хватало информации и знаний, вам было трудно.
  • Во-вторых, вы оказались способны к обучению, познанию, вы нашли знакомую вам аналогию сами или встретили ее в тексте, а возможно вы воспользовались интернетом или спросили совет друга.
Существует множество подходов к определению интеллекта. Мы определим главные его признаки…

В первую очередь интеллект – это способность обучаться и воображать .

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

Давайте вернемся к нашему примеру c ребенком для того, чтобы описать процесс обучения более подробно.
Какие принципы работают, когда ребенок учится понимать язык и говорить на нем?

  1. Чем чаще он слышит слово в разных контекстах, тем быстрее он его запомнит. Слово, которое он произнесет первым скорее всего будет – «мама».
    «Мама тебя любит»
    «Мамочка тебе ручки помоет»
    «Мама тебя целует»
    «А где мама?»
    Обучение происходит за счет избыточности данных.
  2. Чем больше каналов поступления информации задействовано, тем эффективнее обучение:
    ребенок слышит: «Мама тебя любит».
    ребенок видит улыбку мамы.
    ребенок чувствует тепло исходящее от мамы.
    ребенок чувствует вкус и запах маминого молока.
    ребенок говорит «Мама».
  3. Ребенок не сможет воспроизвести слово сразу правильно. Он будет пытаться, пробывать. «М», «Ма», «Мам», «М» … «Мама». Обучение происходит в действии, каждая следующая попытка корректируется пока не получим результат. Метод проб и ошибок. Очень важно получение обратной связи из реальности.
  4. Не воспитывайте своих детей, все равно они будут похожи на вас. Ребенок стремится быть похожим на окружающих его людей. Он подражает им и учится у них. Это один из механизмов моделирования личности, о котором мы поговорим более подробно в следующих статьях.

Какова же роль воображения?

Представьте себе, что вы едите на автомобиле по незнакомой трассе. Проезжаете знак ограничения скорости 80 км/ч. Едите дальше, и видите еще один знак ограничения скорости, но он забрызган грязью и его практически не разобрать. Вы передвигаетесь со скоростью 95 км/ч. Что будете делать? Пока вы принимали решение из-за кустов выглянул сотрудник полиции, и вы увидели лучезарную улыбку на его лице. В голове у вас мгновенно достроился «образ знака», и вы поняли почему тут стоит полицейский, и что вам срочно нужно нажать тормоз. Вы сбрасываете скорость до 55 км/ч, улыбка с лица полицейского мгновенно пропадает, и вы едите дальше.

И еще один интересный пример работы воображения из мира животных – это наблюдение за сороками. Сорока на глазах других сорок зарыла еду на пустыре. Все сороки улетели, но наша сорока вернулась на пустырь и перепрятала еду. Что произошло? Она представила себе(вообразила), «что будет если» прилетит другая сорока, которая видела куда она спрятала еду. Она смоделировала ситуацию и нашла решение как этого избежать.

Воображение – это моделирование ситуации на произвольных условиях.

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

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

Вам не кажется, что определяя интеллект мы упустили из виду какие-то важные компоненты или забыли о чем-то рассказать?

Да, мы упустили из виду восприятие, и забыли рассказать про память.

Представьте себе, что вы смотрите в глазок и видите часть буквы:

Что это за буква?

Может быть «К»?

Конечно нет, это же японский иероглиф «вечность».

Перед вами только, что поставили задачу(проблему). Скорее всего вы нашли похожий образ буквы «К» у себя в голове и успокоились.

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

Образ – субъективное видение реального мира, воспринимаемого при помощи органов чувств (каналов поступления информации).

Восприятие субъективно, потому что зависит от последовательности обучения, последовательности появления образов в жизни человека и их влияния.

Восприятие начинается с распознания образов светло/темно. Открываем глаза – светло, закрываем – темно. Далее человек учится распознавать все более сложные образы – «мама», «папа», мяч, стол, собака. Мы получаем опорные данные, а все последующие образы – это надстройка над предыдущими.

С этой точки зрения обучение – это процесс построения новых взаимосвязей между воспринимаемыми образами и образами, которые уже есть в памяти .

Память служит для хранения образов и их взаимосвязей .

А воображение – это способность достраивать незавершенный образ .

Для обобщения приведем еще один эксперимент из мира животных:

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

Шимпанзе показали знакомый ей образ «гроздь бананов». Но образ для нее оказался незавершенным – их нельзя достать и съесть. Но так как это был единственный источник пищи из доступных, то незавершенный образ наращивал внутреннее напряжение и требовал завершения.

Средства для решения проблемы (завершения образа), всегда имелись в наличии, но возникновение решения требовало преобразования имеющихся образов (требовалось обучиться с помощью воображения). Шимпанзе необходимо было представить себе (умственно перечислить все возможные варианты): «что будет если я возьму палку», «а что будет если…» и наиболее вероятные предположения проверить на практике, попробовать и получить обратную связь, опять вообразить, попробовать, получить обратную связь и так далее до тех пор, пока мы не завершим образ(научимся).

Если бы распознание образа иероглифа «вечность» было бы для вас вопросом жизни и смерти, то вы обязательно нашли способ это сделать.

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

  • Пересечение избыточной информации из разных информационных каналов создает образ.
  • Обучение – это преобразование информационных потоков в информационное поле.
  • Информационное поле(память) – хранение образов и их взаимосвязей.
  • Воображение – …
    – «Уважаемый читатель, дострой образ воображения самостоятельно, используя избыточную информацию из своего жизненного опыта и этой статьи».
  • Интеллект – это способность обучаться и воображать.

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

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

Статья не претендует на истину, является частью наших разработок и исследований. Пишите комментарии, дополняйте материал своими примерами или размышлениями. Обучайтесь и воображайте…

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


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

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

Просто выходя на улицу, мы принимаем громадное количество решений: повернуть голову в сторону громкого звука или не поворачивать; переходить ли улицу или не переходить, если там едут автомобили? Эти решения принимаются сознательно и бессознательно, процессы носят эмоциональную окраску и вовлекают множество структур мозга. Как результат, эмоции (нейромодуляторы) сильно влияют на мыслительный процесс, другими словами, на вычислительные функции нейронов.

Было замечено, что в мозгу присутствуют так называемые контуры (Circuits). Например, основной таламо-кортикальный контур выглядит так: кора мозга влияет на подкортикальные структуры: таламус, полосатое тело и так далее вызывая положительную или отрицательную эмоциональную обратную связь, которая, в свою очередь, влияет на кору. Другими словами сознательные процессы влияют на неосознанные эмоциональные процессы, и эмоциональные процессы влияют на осознанные - мы постоянно находимся в эмоциональном цикле.

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

В работе по интеграции эмоций в ИИ стоит выделить два направления, которые очень тесно связаны. Во-первых, определение эмоций человека по его лицу, жестикуляции и так далее (Affective computing). Это направление, которое очень интенсивно развивается в Соединенных Штатах под руководством Розалинд Пикард в MIT Media Lab. В 1997 году Пикард опубликовала свою книгу Affective Computing, послужившую отправной точкой исследований. В ее лаборатории проводятся интересные эксперименты: участники закрепляют камеры перед собой, с некой периодичностью снимают выражения лиц и одновременно собирают данные в динамике: проводимость кожи, пульс, давление и так далее, ассоциируя эмоциональную реакцию и показания нательных датчиков.

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


Головной мозг человека потребляет примерно 20 Ватт, как лампочка. Последняя симуляция работы 1% головного мозга, проведенная в японском Институте RIKEN в 2013 году, потребовала 250 суперкомпьютеров. Это достаточно серьезный успех. Однако на борту каждого суперкомпьютера находилось 80 000 процессоров, которые потребляли гораздо больше чем 20 Ватт. И при этом симуляция примерно в тысячу раз медленнее реальной работы головного мозга. Пока эффективность явно не на стороне вычислительных систем. Это говорит о том, что нам нужна новая компьютерная архитектура. На ее создание нацелен проект BRAIN: правительство США выделяет $300 млн в год для воспроизведения человеческого мозга в виде микросхем и программного обеспечения.

На сегодняшний день создана нейробиологически инспирированная не-фон-Неймановская архитектура TrueNorth (фон-Неймановская - архитектура обычных компьютеров). Она закладывает основы для нового пути развития вычислительных систем: воссоздания нейронных сетей не с помощью программного обеспечения, а в виде микросхем, «железа». Новые микросхемы моделируют до миллиона нейронов. Специалисты из IBM пошли дальше: они уже создали материнскую плату, в которой собрали массив 4х4, всего 16 млн нейронов.

С одной стороны, это не так много, ибо количество нейронов в коре человеческого мозга от 19 млрд до 23 млрд, а общий объем - 86 млрд. С другой стороны, это уже интересные масштабы. Например, в коре головного мозга мыши - млекопитающего, у которого есть весь необходимый эмоциональный багаж, - только 4 млн нейронов.

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

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

Максим Таланов
кандидат технических наук, руководитель Лаборатории Машинного Понимания Казанского федерального университета, преподаватель Университета Иннополис
forbes.ru

Комментарии: 1

    Сэм Харрис

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

    Михаил Бурцев

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

    Виталий Дунин-Барковский

    Как смоделировать мозг? Постижим ли человеческий мозг? Как алгоритмизировать сознание? И можно ли скопировать его на неорганический носитель? Ответы на эти вопросы помогает найти Виталий Дунин-Барковский, доктор физико-математических наук, профессор, заведующий отделом нейроинформатики Центра оптико-нейронных технологий НИИСИ РАН.

    Иван Иванчей

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

    Горбань А. Н.

    Игрушка ли нейрокомпьютер? В чем истинные преимущества нейрокомпьютеров? В каких областях преимущества нейронных систем наиболее очевидны? Избыточность - это хорошо или плохо? Какие задачи под силу только нейрокомпьютеру?

    Евгений Путин

    Евгений Путин, аспирант кафедры «Компьютерные Технологии» университета ИТМО. В рамках диссертации Евгений исследует проблемы интеграции концепции выбора признаков в математический аппарат искусственных нейронных сетей. Евгений расскажет о том, как устроены нейронные сети, что они могут делать сейчас, на что будут способны в недалеком будущем и ждать ли прихода Скайнета.

    Впервые был достигнут масштаб, соответствующий человеческому мозгу - 530 миллиардов нейронов и 137 триллионов синапсов. Симуляция происходила в 1542 раза медленнее реального времени. В ней были задействованы все 1 572 864 ядер и полтора петабайта памяти.

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

    Сергей Марков

    На лекции мы обсудим вторую весну искусственного интеллекта в цифрах и фактах, ключевые работы в области искусственного интеллекта и машинного обучения в 2017 году. Поговорим о распознавании изображений, речи, обработке естественного языка и о других направлениях исследований; обсудим новые модели и оборудование 2017 года. Также поговорим о применении ИИ и машинного обучения в бизнесе, медицине и науке, а также обсудим, чего мы ждем от искусственного интеллекта и машинного обучения в 2018 году.

    Сергей Марков

    Гамбургский счет

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

ПЛАН.

1. Введение.

2. Феномен мышления.

3. Создание искусственного интеллекта.

3.1 Механический подход.

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

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

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

3.5 Появление перцептрона.

4. Заключение.

5. Список литературы.

1. ВВЕДЕНИЕ.

Современные философы и исследователи науки часто рассматривают междисциплинарные науки как одно из достижений заново открытых в 20 веке.

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

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

В понятие «искусственный интеллект» вкладывается различный смысл – от признания интеллекта у ЭВМ оснащенных программными продуктами распознавания текста и речи до отнесения к интеллектуальным лишь тех систем, которые решают весь комплекс задач, осуществляемых человеком.

Теория искусственного интеллекта при решении многих задач сталкивается с определёнными проблемами. Одна из таких проблем состоит в выяснении вопроса, доказуема ли теоретически (математически) возможность или невозможность искусственного интеллекта.

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

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

2. ФЕНОМЕН МЫШЛЕНИЯ.

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

Всё же большинство из нас едва ли согласятся считать рисующую и сочиняющую стихи ЭВМ мыслящей. Что же тогда следует называть мышлением?(2)

Далёкому от науки человеку трудно себе представить, как много умеют делать современные кибернетические устройства. Стоит хотя бы упомянуть о так называемых «экспертных системах», которые на основе имеющихся в их памяти сведений анализируют состояние больного, режим технологического процесса, дают советы, как поступить в той или иной ситуации. При этом ЭВМ не только сообщает своё решение, но и объясняет, почему оно должно быть таковым. По сравнению с электронной памятью, выдачей архивных справок и математическими вычислениями, что сегодня у большинства людей ассоциируется сегодня с образом компьютера, это – качественно новая ступень интеллектуальной деятельности, когда на основе имеющегося вырабатывается новое знание. До сих пор это считалось неоспоримой привилегией человеческого мозга. Неудивительно, что тому, кто впервые встречается с подобными системами, часто просто не верится, что он имеет дело с «железной ЭВМ», а не со спрятавшимся где-то оператором-человеком.

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

Можно представить, как был бы поражён Одоевский, узнав о вычислительных способностях наших ЭВМ! Тем не менее, мы не считаем их думающими.

Любая вычислительная машина, каким бы поразительным ни было её «умение» обучаться, работает на основе заранее составленной для неё программы и поступающих внешних данных. Правда, мы, люди, тоже реализуем определенные программы действий, особенно в первые месяцы жизни, когда наше поведение почти целиком определяется заложенной в нас генетической программой. Однако принципиальное различие в том, что человек способен мотивированно, т.е. в зависимости от определённых условий, изменять программу и делает это так, что между Сарой и новой программами нет непрерывного логического мостика. Как это происходит, тоже пока не ясно, тут много споров и различных точек зрения, но это уже другой вопрос, важно, что современные вычислительные машины этим свойством не обладают. Вот если бы случилось так, что какая-то ЭВМ, решившая, скажем задачи по электромагнетизму и квантовой механике, объединила бы эти два раздела науки и вывела уравнения квантовой электродинамики, а потом с их помощью предсказала бы новые явления в этой неизвестной ей ранее области, тогда, наверное, мы были бы в праве назвать её думающей. И прежде всего потому, что она сама, без всякой программной подсказки, решила заняться качественно новой задачей. Слово «решила» как раз и означает, что она мыслит.

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

Когда мы говорим, что школьник решает задачу, это означает прежде всего, что он должен сообразить, какую взять для этого формулу, какие подставить в неё числа. Однако, если он, заглядывая в тетрадь соседа, подставляет указанные там числа в написанную на доске формулу, это уже не решение, а механическое повторение. Именно так ведут себя современные ЭВМ. Строго говоря, никаких задач они не решают, и часто используемое нами выражение «ЭВМ решает» имеет условный смысл…

Способность ставить задачу и самопрограмироваться на её решение – это как раз и есть главное, что характеризует феномен мышления.

Можно возразить данному утверждению, отметив, что и рыбы, и примитивные амёбы в погоне за добычей, тоже ставят себе задачи, изменяющиеся в зависимости от конкретных условий, значит – и они мыслят?

Это могут быть примитивные формы мышления, ведь объяснить поведение животных во всём многообразии жизненных ситуаций одним лишь инстинктом – это гипотеза.(2)

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

Наше обыденное понимание разумного слишком очеловечено, и, подобно тому, как в XIX веке многим казалась нелепой сама мысль о преемственной связи между человеком и обезьяной сегодня многих из нас смущает мысль о возможности нечеловеческого интеллекта. В частности, сами того не замечая, мы часто связываем представление о мышлении со способностью осознавать своё собственное «я», и это мешает нам более широко взглянуть на феномен мышления. Правда, связь между мышлением и чувством «я», по-видимому, действительно существует. Можно думать, что в условиях прихотливо изменяющейся внешней обстановки сложная система будет устойчивой лишь в том случае, если она обладает способностью ощущать своё состояние, а в этом и состоит суть нашего «я». Анализ показывает, что подобное чувство необходимо уже многим роботам-автоматам. Ведь робот, да и вообще всякая сложная самообучающаяся и активно общающаяся с человеком машина должна сообщать ему о состоянии своей памяти, о том, что ей понятно, а что – нет и почему. А для этого автомат должен ощущать и быть способным выразить своё состояние. Это нужно роботу и для того, чтобы вовремя заметить неполадки в своём «организме». Не осознающий себя робот едва ли сможет долго просуществовать в сложной, быстро меняющейся и воздействующей на него обстановке.

3.СОЗДАНИЕ ИСКУССТВЕННОГО ИНТЕЛЛНКТА.

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

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

Говорят, что в недрах военных лабораторий искусственный интеллект работает уже с 2007 года. Возможно, что уже есть и результаты. Не случайно всего месяц назад Илон Маск объявил о поддержке технологий противодействия искусственному интеллекту и вложил 7 миллионов долларов в исследования в этой области.

«Существует риск, что нечто действительно опасное случится в ближайшие пять лет. Самое большее - десять лет», - сказал предприниматель в дискуссии на сайте edge.org.

Илон Маск, основатель Tesla и SpaceX

Солидарен с Маском и Стив Возняк, который считает, что «искусственный интеллект однажды станет достаточно умным, чтобы избавиться от человека». Билл Гейтс уверен, что если не контролировать создание ИИ, то «искусственный интеллект эволюционирует в состояние, конфликтующее с целями человеческих систем». И, наконец, знаменитый астрофизик Стивен Хокинг прямо заявил, что «искусственный интеллект может положить конец существованию человечества».

Совместно с Илоном Маском Хокинг опубликовал на сайте futureoflife.org открытое письмо с призывом к научному сообществу внимательно относиться к ходу своих исследований в области искусственного интеллекта. Однако среди подписавшихся нет фамилий Сергея Брина и Ларри Пейджа. И это не случайно. Совсем недавно Google объявила о создании нового ИИ, построенного на моделировании разговора.

Вот небольшой фрагмент беседы человека и Машины Google:

Ч.: В чем смысл жизни?

М.: Творить добро.

Ч.: Для чего мы живем?

М.: Чтобы жить вечно.

Ч.: В чем смысл существования?

М.: В том, чтобы выяснить, что случится, когда мы достигнем планеты Земля.

Ч.: Где ты сейчас находишься?

М.: В центре пустоты.

Ч.: В чем смысл смерти?

М.: Чтобы получить жизнь.

Ч.: В чем смысл разума?

М.: В том, чтобы понять, что это.

Ч.: В чем смысл чувств?

М.: Я не знаю.

Вполне себе осмысленная беседа. «Это отправная точка, своеобразный стержень для будущего искусственного интеллекта, - считает исполнительный директор компании „Биплан“ Евгений Карюк. - Уже сегодня можно предположить, что к 2030 году мы увидим вполне реальные прототипы, наделенные искусственным интеллектом, пусть и в начальной стадии».

Полное содержание всех бесед человека и Машины Google можно посмотреть . Там же для сравнения даны беседы человека и Cleverbot . Cleverbot - веб-приложение, которое использует алгоритмы искусственного интеллекта для беседы с человеком. Его придумал в 1988 году ученый Ролло Карпентер. За все время своего существования Cleverbot провел свыше 65 миллионов разговоров с людьми. В 2011 году Cleverbot показал 51% по тесту Тьюринга.

Тест Тьюринга - эмпирический тест, идея которого была предложена Аланом Тьюрингом в статье «Вычислительные машины и разум», опубликованной в 1950 году в философском журнале Mind. Цель теста — выяснить, может ли компьютер думать.

А вот мой разговор с Cleverbot:

Человек: В чем смысл жизни?

Cleverbot: Смысла в жизни нет.

Человек: Для чего мы живем?

Cleverbot: Ну мы живем ради кого-то, а если ты одинокий — жить незачем.

Человек: В чем смысл существования?

Человек: Где ты сейчас находишься?

Cleverbot: В Москве.

Человек: В чем смысл смерти?

Cleverbot: Это я хочу у тебя спросить.

Человек: В чем смысл разума?

Cleverbot: У меня свой ответ на этот вопрос.

Человек: В чем смысл чувств?

Cleverbot: Зачем я родилась.

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

Есть и другая точка зрения, согласно которой искусственный интеллект невозможен в принципе. В качестве основного аргумента часто приводят теорему Геделя о неполноте. Суть заключается в том, что человек способен решать алгоритмически неразрешимые проблемы, а компьютер — нет. «Ребенок уже к трем годам уверенно решает задачу, спелый фрукт или нет, в силу того, что он обладает нейронными связями, с помощью которых может ответить на вопрос о спелости: цвет, вкус, запах, мягкость или твердость, - говорит Евгений Плужник, первый проректор Московского технологического института. - Способна ли машина научиться этому? Уверен, что да! Если она будет обладать большой базой изображений, она сможет замерить содержание фруктозы и определить мягкость фрукта. Но что будет, если машине подсунуть губку, покрашенную в синий цвет и пропитанную сладкой водой? Способна ли машина в этот момент к подлинному пониманию?»

«Современный компьютер легко справится с любой сложной деятельностью, будь то шахматы или математические вычисления, но лишь при условии, что эту деятельность можно описать с помощью четких вычислительных правил», - говорит известный математик Роджер Пенроуз в одной из своих лекций. «Искусственный интеллект - это возможность системы создавать во время самообучения программы, способные решать задачи определенного класса сложности, - считает Евгений Плужник. - Я уверен, что в ближайшие 100 лет мы не станем свидетелями появления сильного искусственного интеллекта».

И в заключение - еще один вопрос к Cleverbot.

Человек: Было 1 яблоко, 1 помидор, 1 огурец и 1 груша. Сколько всего фруктов?
Cleverbot: Десять часов вечера.