Как создать искусственный интеллект в домашних условиях


«Как создать искусственный интеллект?» – Яндекс.Знатоки

Не просто нейросеть.

Начну с простого вопроса, который вы должны задать себе: -Кто я?

Ответ: -Ядро.

Пункт первый.

Окунёмся в биологию. Мы, как и наши предки имеем истинное начало и как правило - конец.

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

Но! Появился активатор "Отец".

Запустив ген.коды активации на объект, произошло следующее:"

Формирование оболочки с последующими применениями параметров, которые присутствовали у предков. Внесение в ген.код оболочки преимуществ, таких как "Цвет волос, телосложение, цвет кожи. От А до Я от Матери и Отца.".

Но самое главное - формирование ядра. Центр мозга является ядром.

Когда зародыш формируется, то создаётся применение параметров от предков.

Что означает - наращивание нейросети от предков.

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

Теперь плавное обращение от биологии к психологии и построению личности.

Пункт второй.

Дело в том, что всем нам знаком такой фактор, как "Я сам".

Отлично, надеюсь вы уже догадываетесь к чему ведёт моя философия.

Начну с лёгкого вопроса: "До наступления самоинициативы, импровизации и прогресса, мы можем думать ?".

Ответ: -Нет.

-Но почему? Спросите вы! - А потому что мы даже и попу не в силах вытереть за собой! Скажу я вам.

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

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

По мимо внесённых ген.кодов от предков, мы наращиваем свои собственные путём учению ходьбы,

жевать, глотать, смотреть.

Наше ДНК формируется, приобретая мутации, которые в свою очередь работают в режиме "Запомнить".

Скажите, вы можете ходить ? - Да. Но теперь вопрос: - А вы задумываетесь о том, когда ходите ?

-Нет. А почему ? - Потому что это уже на автоматическом режиме, заложенно в нашей нейросети.

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

Что же происходит, когда ребёнок говорит "Я сам" ?

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

Суть Ядра - учиться, требовать. В целом - жадность.

Но она выражена не в материальном формате, жадность может быть любой, от абстракций и нематериальных ценностей

до материальной и весьма в больших колличествах.

Так вот "Я сам" подразумевает нам, что ядро готово обучаться "Словарю, писанине, чтению, физ.нагрузкам и многому другому".

-Я сам хочу пойти и взять печеньку! Говорит нам невнятливо Малыш(ка), пытавшийся выбраться с коляски или ходунков.

И собственно вишенкой на этом торте будет то, что ИИ создать можно, но не просто путём "Нейросетей", а путём

создания идеального, чистого ЯДРА, вокруг которого будут строиться сложнейшие алгоритмы нейросетей, отдающие

те или иные значения по ЦНС.

Большое спасибо за чтиво, с уважением Пустота.

Если у вас появится желание узнать более подробную информацию, то меня найти не сложно.

yandex.ru

Как сделать искусственный интеллект на компьютер. Как создать искусственный интеллект

masterok

Мастерок.жж.рф

Хочу все знать

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

Инженеры из подразделения Google Brain весной текущего года продемонстрировали AutoML. Этот искусственный интеллект умеет без участия человека производить собственные уникальнейшие ИИ. Как выяснилось совсем недавно, AutoML смог впервые создать NASNet, систему компьютерного зрения. Данная технология серьёзно превосходит все созданные ранее людьми аналоги. Эта основанная на искусственном интеллекте система может стать отличной помощницей в развитии, скажем, автономных автомобилей. Применима она и в робототехнике – роботы смогут выйти на абсолютно новый уровень.

Развитие AutoML проходит по уникальной обучающей системе с подкреплением. Речь идёт о нейросети-управленце, самостоятельно разрабатывающей абсолютно новые нейросети, предназначенные для тех или иных конкретных задач. В указанном нами случае AutoML имеет целью производство системы, максимально точно распознающей в реальном времени объекты в видеосюжете.

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

При этом AutoML оценивает работу NASNеt и использует эту информацию для улучшения дочерней сети; этот процесс повторяется тысячи раз. Когда инженеры протестировали NASNet на наборах изображений ImageNet и COCO, она превзошла все существующие системы компьютерного зрения.

В Google официально заявили, что NASNet распознаёт с точностью равной 82,7%. Результат на 1.2 % превышает прошлый рекорд, который в начале осени нынешнего года установили исследователи из фирмы Momenta и специалисты Оксфорда. NASNet на 4% эффективнее своих аналогов со средней точностью в 43,1%.

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

При этом, конечно, возникают этические вопросы, связанные с опасениями по поводу ИИ: что, если AutoML будет создавать системы с такой скоростью, что общество просто за ними не поспеет? Впрочем, многие крупные компании стараются учитывать проблемы безопасности ИИ. Например, Amazon, Facebook, Apple и некоторые другие корпорации являются членами Партнерства по развитию ИИ (Partnership on AI to Benefit People and Society). Институт инженеров и электротехники (IEE) же предложил этические стандарты для ИИ, а DeepMind, например, анонсировал создание группы, которая будет заниматься моральными и этическими вопросами, связанными с применениями искусственного интеллекта.

Впрочем, многие крупные компании стараются учитывать проблемы безопасности ИИ. При этом, конечно, возникают этические вопросы, связанные с опасениями по поводу ИИ: что, если AutoML будет создавать системы с такой скоростью, что общество просто за ними не поспеет? Институт инженеров и электротехники (IEE) же предложил этические стандарты для ИИ, а DeepMind, например, анонсировал создание группы, которая будет заниматься моральными и этическими вопросами, связанными с применениями искусственного интеллекта. Например, Amazon, Facebook, Apple и некоторые другие корпорации являются членами Партнерства по развитию ИИ (Partnership on AI to Benefit People and Society).

Что такое искусственный интеллект?

Автором термина «искусственный интеллект» является Джон Маккарти, изобретатель языка Лисп, основоположник функционального программирования и лауреат премии Тьюринга за огромный вклад в области исследований искусственного интеллекта.
Искусственный интеллект — это способ сделать компьютер, компьютер-контролируемого робота или программу способную также разумно мыслить как человек.

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

Что такое нейронная сеть?

Идея нейросети заключается в том, чтобы собрать сложную структуру из очень простых элементов. Вряд ли можно считать разумным один-единственный участок мозга — а вот люди обычно на удивление неплохо проходят тест на IQ. Тем не менее до сих пор идею создания разума «из ничего» обычно высмеивали: шутке про тысячу обезьян с печатными машинками уже сотня лет, а при желании критику нейросетей можно найти даже у Цицерона, который ехидно предлагал до посинения подбрасывать в воздух жетоны с буквами, чтобы рано или поздно получился осмысленный текст. Однако в XXI веке оказалось, что классики ехидничали зря: именно армия обезьян с жетонами может при должном упорстве захватить мир.
На самом деле нейросеть можно собрать даже из спичечных коробков: это просто набор нехитрых правил, по которым обрабатывается информация. «Искусственным нейроном», или перцептроном, называется не какой-то особый прибор, а всего лишь несколько арифметических действий.

Работает перцептрон проще некуда: он получает несколько исходных чисел, умножает каждое на «ценность» этого числа (о ней чуть ниже), складывает и в зависимости от результата выдаёт 1 или –1. Например, мы фотографируем чистое поле и показываем нашему нейрону какую-нибудь точку на этой картинке — то есть посылаем ему в качестве двух сигналов случайные координаты. А затем спрашиваем: «Дорогой нейрон, здесь небо или земля?» — «Минус один, — отвечает болванчик, безмятежно разглядывая кучевое облако. — Ясно же, что земля».

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

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

Нейронную сеть можно сделать с помощью спичечных коробков — тогда у вас в арсенале появится фокус, которым можно развлекать гостей на вечеринках. Редакция МирФ уже попробовала — и смиренно признаёт превосходство искусственного интеллекта. Давайте научим неразумную материю играть в игру «11 палочек». Правила просты: на столе лежит 11 спичек, и в каждый ход можно взять либо одну, либо две. Побеждает тот, кто взял последнюю. Как же играть в это против «компьютера»?

Берём 10 коробков или стаканчиков. На каждом пишем номер от 2 до 11.

Кладём в каждый коробок два камешка — чёрный и белый. Можно использовать любые предметы — лишь бы они отличались друг от друга. Всё — у нас есть сеть из десяти нейронов!

Нейросеть всегда ходит первой. Для начала посмотрите, сколько осталось спичек, и возьмите коробок с таким номером. На первом ходу это будет коробок №11. Возьмите из нужного коробка любой камешек. Можно закрыть глаза или кинуть монетку, главное — действовать наугад.
Если камень белый — нейросеть решает взять две спички. Если чёрный — одну. Положите камешек рядом с коробком, чтобы не забыть, какой именно «нейрон» принимал решение. После этого ходит человек — и так до тех пор, пока спички не закончатся.

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

Вот и всё! Сыграйте так несколько партий. Сперва вы не заметите ничего подозрительного, но после каждого выигрыша сеть будет делать всё более и более удачные ходы — и где-то через десяток партий вы поймёте, что создали монстра, которого не в силах обыграть.

Цифровая телепатия: как искусственный интеллект учится читать мысли человека

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

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

Владимир Свешников, генеральный директор компании: «Несколько часов примеров голоса, то есть это аудио, и к аудио прилагается текст. Загружается текст, ставится задача синтезировать голос. Нейросеть это запоминает, как ребенок».

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

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

Илон Маск, изобретатель, Основатель компании SpaceX: «Это может звучать странно, но мы пытаемся достичь некого симбиоза между человеческим и искусственным интеллектом. Первый такой чип мы планируем внедрить человеку уже в следующем году, так что ждать осталось недолго».

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

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

Лиор Сушард, иллюзионист: «Я использую пять своих чувств чтобы создать шестое чувство. Здесь очень много техник, начиная с психологии и заканчивая языком тела».

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

Алеся Чичинкина, PR-директор компании-разработчика : «Нейронет — это то, что должно заменить интернет к 2035 году, когда исчезнут посредники между нашим мозгом и тем, что мы хотим сделать, напечатать ли, дать ли команду какому-то устройству».

Крупный автопроизводитель презентовал программу, которая предугадывает желания водителей.

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

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

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

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

Создать искусственный интеллект

Иску́сственный интелле́кт, Artificial intelligence — наука и технология создания интеллектуальных машин, особенно интеллектуальных компьютерных программ; свойство интеллекта выполнять творческие функции, которые традиционно считаются прерогативой человека. На сегодняшний день известно, что цифровые цепи в миллионы раз быстрее био-химических, происходит разработка/создание/улучшение существующих искусственных форм интеллекта, но они имеют очень узкие области применения. Нет полноценного мозгового центра. который бы обучался и принимал решения самостоятельно в разных сферах деятельности, начиная от элементарнейших принеси, подай и заканчивая разработкой сложнейших квантовых механизмов. Со временем скорость разработки будет только увеличиваться.

Мы живем в 21 веке и являемся свидетелями резкого скачка развития не только развития IT, но и систем, в т.ч. ИИ который в будущем, будет управлять львиной долей человеческой жизнедеятельности и участвовать в :

1. Финансовом секторе:

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

1.2 Исследования рынка и интеллектуальный анализ данных — несколько крупных финансовых учреждений вложили средства в развитие ИИ, чтобы использовать его в их инвестиционной практике. Разработки BlackRock’ AI, Aladdin, используются как внутри компании, так и для клиентов компании, ассистируя в принятии инвестиционных решений. Широкий спектр функциональных возможностей данной системы включает обработку естественного языка для чтения текста, такого как новости, отчеты брокеров и каналы социальных сетей. Затем система оценивает настроения в упомянутых компаний и присваивает им оценку. Банки, такие как UBS и Deutsche Bank, используют систему ИИ под названием Sqreem (Sequential Quantum Reduction and Extraction Model, Модель Последовательной Квантовой Редукции и Экстракции), которая может обрабатывать данные для разработки профилей потребителей и сопоставлять их с продуктами, которые они, скорее всего, захотят. Goldman Sachs использует Kensho, платформу аналитики рынка, которая объединяет статистические вычисления с большими данными и обработкой естественного языка. Его системы машинного обучения используют данные в Интернете и оценивают корреляции между мировыми событиями и их влиянием на цены финансовых активов. Информация, извлеченная системой ИИ из прямой трансляции новостей, используется в принятии инвестиционных решений.

1.3 Андеррайтин- Upstart анализирует огромное количество потребительских данных и использует алгоритмы машинного обучения для построения моделей кредитного риска, которые прогнозируют вероятность дефолта. Их технология будет лицензирована для банков, чтобы они могли использовать её для оценки своих процессов.

ZestFinance разработала свою платформу Zest Automated Machine Learning (ZAML) специально для кредитного андеррайтинга. Эта платформа использует компьютерное обучение для анализа десятков тысяч традиционных и нетрадиционных переменных (от транзакций покупки до того, каким образом клиент заполняет форму), используемых в кредитной индустрии, для оценки заемщиков. Платформа особенно полезна для присвоения кредитных баллов клиентам с небольшой кредитной истории, таким как миллениалы.

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

3. Медицина — Искусственные нейронные сети, такие как технология Concept Processing в программном обеспечении EMR, используются в качестве клинических систем принятия решений для медиуинской диагностики

Другие задачи в медицине, которые потенциально могут выполняться искусственным интеллектом и начинают разрабатываться, включают:

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

Подходы к пониманию проблемы

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

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

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

Последний подход, строго говоря, не относится к науке о ИИ в смысле, данном Джоном Маккарти, — их объединяет только общая конечная цель.

Тест Тьюринга и интуитивный подход

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

Стандартная интерпретация этого теста звучит следующим образом: «Человек взаимодействует с одним компьютером и одним человеком. На основании ответов на вопросы он должен определить, с кем он разговаривает: с человеком или компьютерной программой. Задача компьютерной программы — ввести человека в заблуждение, заставив сделать неверный выбор». Все участники теста не видят друг друга.

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

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

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

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

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

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

Логический подход к созданию систем искусственного интеллекта основан на моделировании рассуждений. Теоретической основой служит логика.

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

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

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

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

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

Господа, мы стоим на пороге будущего, остается лишь шагнуть вперед !

Критерий завершения

ИИ используется в военных целях передовыми военными державами

Источники:

http://masterok.livejournal.com/4103537.html
http://www.ntv.ru/novosti/2250421/
http://smartprogress.do/goal/294538/

igrad.su

Создание искусственного интеллекта / Habr

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

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

Что такое ИИ, об этом уже много было написано. Я ставлю вопрос по другому, не «что такое ИИ», а «зачем нужен ИИ». Мне он нужен, что бы заработать много денег, затем что бы компьютер выполнял за меня все, что я сам не хочу делать, после построить космический корабль и улететь к звездам.

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

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

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

Сформулируем аксиомы:
1. Все в мире можно посчитать по каким-нибудь правилам. (про погрешности позже)
2. Расчет по правилу, это однозначная зависимость результата от исходных данных.
3. Любые однозначные зависимости можно находить статистически.
А теперь утверждения:
4. Существует функция преобразования текстовых описаний в правила — что бы не нужно было искать уже давно найденные знания.
5. Существует функция преобразования задач в решения (это исполнялка наших желаний).
6. Правило прогнозирования произвольных данных включает в себя все остальные правила и функции.

Переведем это на язык программиста:
1. Все в мире можно посчитать по каким-нибудь алгоритмам.
2. Алгоритм всегда при повторении исходных данных дает одинаковый результат.
3. При наличии множества примеров исходных данных и к ним результатов, при бесконечном времени поиска можно найти все множество возможных алгоритмов, реализующих эту зависимость исходных данных и результата.
4. Существует алгоритмы конвертации текстовых описаний в алгоритмы (или любых других информационных данных) — чтобы не искать потребные алгоритмы статистически, если их уже кто-то когда-то нашел и описал.
5. Можно создать программу, которая будет исполнять наши желания, будь они в текстовом или голосовом виде, при условии, что эти желания реализуемы физически и в потребные рамки времени.
6. Если умудриться создать программу, которая умеет прогнозировать и учиться прогнозированию по мере поступления новых данных, то по истечении бесконечного времени такая программа будет включать все возможные в нашем мире алгоритмы. Ну а при не бесконечном времени для практической пользы и с некоторой погрешностью ее можно заставить выполнять алгоритмы программы п.5 или любые другие.

И еще, ИМХО:
7. Другого способа полностью самостоятельного и независимого от человека обучения, кроме как поиска перебором правил и статистической проверки их на прогнозировании, не существует. И нужно только научиться использовать это свойство. Это свойство является частью работы мозга.

Что нужно прогнозировать. В человеческий мозг от рождения начинает поступать поток информации — от глаз, ушей, тактильные и пр. И все решения принимаются им на основании ранее поступивших данных. По аналогии, делаем программу, у которой есть вход новой информации по одному байту — входной побайтовый поток. Все что поступило ранее, представляется в виде одного сплошного списка. От 0 до 255 будет поступать внешняя информация, и свыше 255 будем использовать как специальные управляющие маркеры. Т.е. вход позволяет записать скажем до 0xFFFF размерность числа. И именно этот поток, а точнее очередное добавляемое число информации и нужно научиться прогнозировать, на основании поступавших до этого данных. Т.е. программа должна пытаться угадать, какое будет добавлено следующее число.

Конечно возможны и другие варианты представления данных, но для целей, когда на вход поступают самые различные форматы, попросту туда по началу запихиваем различные html с описаниями, этот наиболее оптимальный. Хотя маркеры можно заменить на эскейп последовательности в целях оптимизации, но объяснять с ними менее удобно. (А так же, представим, что все в ASCII, а не UTF).

Итак, сначала как и при рождении, пихаем туда все подряд интернет-страницы с описаниями и разделяем их маркером нового текста — <NewPage> — что бы этот черный ящик учился всему подряд. Маркеры я буду обозначать тегами, но подразумевается, что они просто какое-то уникальное число. По прошествии некоторого объема данных, начинаем манипулировать входящей информацией с помощью управляющих маркеров.

Под прогнозированием я понимаю такой алгоритм, который знает не только какие закономерности уже были, но и ищет постоянно новые. И потому если на вход такой программе послать последовательность
<BEG>небо<ANS>синие<END>
<BEG>трава<ANS>зеленная<END>
<BEG>потолок<ANS>…
, то он должен сообразить, что за маркером <ANS> следует цвет от указанного ранее объекта, и на месте многоточия спрогнозирует наиболее вероятный цвет потолка.

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

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

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

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

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

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

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

И описание буду давать примерное, т.к. в реальности реализовать все это я пока… Но оно все логично. А так же следует учитывать, что все расчеты ведутся коэффициентами, а не истина или ложь. (возможно даже если явно указано что истина и ложь).

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

 struct t_node { int type; // 0 - условие, 1 - результат union { struct { // оператор условия t_node* source_get; t_value* compare_value; t_node* next_if_then; t_node* next_if_else; }; struct { // оператор результата t_node* dest_set; t_value* result_value; }; } }; 

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

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

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

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

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

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

Коэффициент тождественности. (Здесь двунаправленная тождественность. Но чаще она однонаправленная. Позже переобдумаю формулу.)
Количество каждой пары XY в квадрат и суммируем.
Делим на: сумма количеств в квадрате каждого значения X плюс сумма количеств в квадрате Y минус делимое.
Т.е. SUM(XY^2) / (SUM(X^2) + SUM(Y^2) — SUM(XY^2)).
Этот коэффициент от 0 до 1.

И в результате, что происходит. Мы на высокочастотных фактах убедились, что при этих условии и дистанции, эти факты однозначны. А остальные редковстречаемые — но суммарно таких будет гораздо больше чем частых — имеют ту же погрешность, что и частовстреченные факты в этих условиях. Т.е. мы можем накапливать базу прогнозирования на единично встречаемых фактах в этих условиях.

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

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

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

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

Получается, что каждый новый параметр у многопараметрических находится с той же линейностью, что и образование из единичных фактов в однопараметрические (ну или почти с той же). Т.е. нахождение N-параметрической пропорционально N. Что в стремлении к очень много параметрам становится почти нейронной сеткой. (Кто захочет, тот поймет.)

Конвертационные функции.

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

Вот мы взяли нашли одну какую-то функцию, и путь между данными. Вторую и третью. Теперь смотрим, можем ли среди них, у каких-либо найти у путей общую часть. Попытаться найти структуры X-P1-(P2)-P3-Y. А потом, найти еще другие подобные структуры, с подобными X-P1 и P3-Y, но различающимися P2. И тогда мы можем заключить, что имеем дело со сложной структурой, между которыми существуют зависимости. А множество найденных правил, за вычетом серединной части, объединим в групп и назовем конвертационной функцией. Таким образом образуются функции перевода, компиляции, и прочие сложные сущности.

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

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

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

Функции о которых я говорил, на самом деле не просто находимый единый кусок алгоритма, а могут состоять из последовательности других функций. Что в свою очередь не вызов процедуры, а последовательность преобразований, типа как в linux работа с pipe. Для примера, я грубо описывал прогнозирование сразу слов и фраз. Но что бы получить прогноз только символа, к этой фразе нужно применить функцию взятия этого одного символа. Или функция научилась понимать задачи на английском, а ТЗ на русском. Тогда РусскоеТЗ->ПеревестиНаАнглийский->ВыполнитьТЗнаАнглийском->Результат.

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

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

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

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

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

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

Есть другой способ определения функции в этом механизме — выдать функцию через определение. Например:
<QUERY>Перевести на английский<PARAM>стол<RES>table<END>
<QUERY>Ответить на вопрос<PARAM>цвет неба<RES>синий<END>
<QUERY>Создать программу по ТЗ<PARAM>хочу искусственный интеллект<RES>...

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

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

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

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

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

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

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

А наша творческая деятельность в искусстве, это те же исследования, только ищутся сущности, затрагивающие наши эмоции, чувства и разум.

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

Альтернативным направлением реализации прогнозирования является использование рекуррентных нейронных сетей (скажем сеть Элмана). В этом направлении не нужно задумываться о природе прогнозирования, но там множество своих трудностей и нюансов. Но если это направление реализовать, то остальное использование остается прежним.

Выводы по статье:
1. Прогнозирование является способом находить все возможные алгоритмы.
2. С помощью манипуляции входом прогнозирования можно эти алгоритмы от туда вытаскивать.
3. Это свойство можно использовать, что бы разговаривать с компьютером.
4. Это свойство можно использовать, что бы решать любые задачи.
5. ИИ будет тем, как вы его определите, и после определения его можно решить как задачу.

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

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

И анализ изображений — двинте десяток бильярдных шаров и посчитайте сколько будет столкновений. (закрывшись от звука). А два десятка или три… И причем здесь биллионы клеток?

В общем, быстродействие мозга и его многопараллельность — это очень спорный вопрос.

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

PS: проголосуйте в голосовалке. Задумайтесь, перечитайте и проголосуйте. Не будьте воздержавшимися. Если нужны более детальные ответы — обращайтесь.

PPS: мое мнение, что научного определения термина «Искусственный интеллект» не существует. Существует только научно-фантастическое. А если нужна реальность, то см. п.5 в выводах по статье.

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

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

****
Исходники по этой теме, а так же дальнейшее развитие представления можете найти на сайте http://www.create-ai.org

habr.com

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

Наверх
  • Рейтинги
  • Обзоры
    • Смартфоны и планшеты
    • Компьютеры и ноутбуки
    • Комплектующие
    • Периферия
    • Фото и видео
    • Аксессуары
    • ТВ и аудио
    • Техника для дома
    • Программы и приложения
  • Новости
  • Советы
    • Покупка
    • Эксплуатация
    • Ремонт
  • Подборки
    • Смартфоны и планшеты
    • Компьютеры
    • Аксессуары
    • ТВ и аудио
    • Фото и видео
    • Программы и приложения
    • Техника для дома
  • Гейминг
    • Игры
    • Железо
  • Еще
    • Важное
    • Технологии
    • Тест скорости

ichip.ru

Как создать искусственный интеллект? История вторая. Алгоритмы интеллектуального поиска и хранения информации


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

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

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

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

В предыдущей статье мы ввели основные термины, а именно – интеллект, обучение, воображение, память, образ, информационный поток, информационное поле. Обязательно ознакомьтесь с ней!: geektimes.ru/post/249042.

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

  • «Возможно ли написать алгоритм, который умел бы думать, размышлять?»
  • «Действительно ли мы обладаем компетенцией в ИИ?»
  • «Какие практические приложения разработаны нами?».

Сегодня мы расскажем об алгоритме поиска информации в интернете. Для того чтобы отличать его от других наших алгоритмов назовем его: «ядро v2.3». Насколько алгоритм удовлетворяет критериям интеллектуальности решать вам.

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

Размышление (мысль) — это некое изложение последовательности информационных единиц (в т.ч. трансляция образов).

Посчитав, что данное предположение верно, мы решили, что процесс размышления можно смоделировать на компьютере.
Рассмотрим пример:
«Я поеду к тебе» — это образно-информационная структура, она состоит из трех образов:

  • «Образ самоосознания» – «Я»,
  • «Образ действия» – «Поеду»,
  • «Комплексный или объединяющий образ того чего мы хотим достичь» – «к тебе».

Размышление в разных ситуациях может иметь и разный подтекст (скрытый смысл):
Например, «Я хочу попить чаю» в разных контекстах может иметь и разный смысл
  • Кто говорит эту фразу — «Женщина говорит мужчине», «Женщина женщине»,
  • В какое время суток «вечером», «днем», «утром».
  • Какая при этом обстановка «во время прогулки», «в офисе», «во время свидания» и т.д.

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

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

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

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

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

Другое важное свойство «точек разворота»/якорей/мотиваторов – использование их в качестве «точки входа» или «момента мысли». При этом ход мыслей получается непротиворечивым. А если начинать размышление с другого понятия (НЕ из мотиватора), то первое что происходит – это выравнивание до мотиватора. В жизни это проявляется следующим образом. Если вас попросить поразмышлять над чем-то неожиданным для вас, то скорее всего вы начнете свое рассуждение «из далека». Размышляя, вы должны дойти до некоторой точки(до мотиватора), и уже потом продолжить свое размышление в «заданном» направлении.

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

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

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

Давайте поразмышляем обладает ли описанная модель ядра этими качествами?

Самообучение, цели обучения, критерии обучения в контексте модели ИИ.

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

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

Основной технический критерий «наполнения памяти»/«создания информационного поля»/«создания целостного образа» – это оценка энтропии инфополя. Энтропия – это критерий достаточности того, что образ собран, и в тоже время основной критерий недостатка информации.

Обучение не возможно без обратной связи
Обратная связь в модели v 2.3 осуществляется следующим образом – пользователь может скорректировать «точку начала рассуждения» и выбрать направление формирования ответа(размышления) в рамках сформированного инфополя. Модель демонстрирует результат размышления пользователю и ждет коррекционное уточняющее слово (мотиватор).

Воображение в контексте модели ИИ

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

1) Запрос: «Влияние жестоких компьютерных игр на детей».
Контекст, уточнение: Без уточнения.
Размышление модели:
«Весной 1999 года Билл Клинтон в своем телевизионном обращении к Америке заявил: «Мы должны думать дважды, когда речь идет о „стрелялках от первого лица“».
Стрельбу они начали уже на автомобильной стоянке, затем бросились внутрь.

По горячим следам в апрельском номере журнала «Личность и социальная психология» за 2000 год появилась статья «Видеоигры и агрессивные мысли, чувства, поведение в лаборатории и в жизни».

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

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

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

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

Многие специалисты не согласились с таким мнением, считая, что выводы Андерсона и Дил скорее мнение, чем доказанный научный факт.

26 апреля 2002 года Роберт Штайнхойзер убил 17 и ранил 7 человек в гимназии имени Гуттенберга, город Эрфурт, Германия.

Авторитетная газета Франкфуртер Алльгемайне Цайтунг вышла со статьей «Программы для бойни», в которой писалось: «убийца тренировался с помощью компьютерных игр».

В документе прямо запрещается «распространение любых видов продукции, пропагандирующих насилие, агрессию и антиобщественное поведение».

Ответственным за выработку мер было назначено Управление по делам молодежи областной администрации.
Целью всех этих мероприятий объявлена борьба с молодежной агрессивностью и пропагандой насилия.
Эти события вызвали реакцию на соседних территориях Украины, где в срочном порядке было принято аналогичное белгородскому постановление о борьбе с пропагандой насилия, и представители правоохранительных органов стали изымать «жестокие компьютерные игры» в клубах.

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

При этом повышенная активность и агрессивность подростка по отношению к окружающему миру она дает ему опору для преодоления собственного страха.

Честно признаюсь, я сама когда-то давно очень любила всякие стрелялки, при этом я не замечала за собой агрессии.»


Запрос можно уточнить словом или частью слова. Например, «подрост», «игр», «жесток» и пр., после уточнения размышление изменится.

Мотиваторы информационного поля:

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

2) Запрос: «Проблемы искусственного интеллекта».
Контекст, уточнение: «проблем».
Размышление модели:

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

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

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

Проблема искусственного интеллекта имеет непосредственное отношение к основному философскому вопросу: речь идет об искусственном воспроизведении, моделировании человеческого интеллекта.

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

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


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

3) Запрос: «как найти свой смысл жизни»
Контекст, уточнение: «жизн»

Размышление модели:

«В своей теории Франкл отдельно останавливается на людях, зависимых от алкоголя и наркотиков, которые не видят не только смысла жизни, но и вообще самой реальной жизни.

В чем смысл жизни определенного человека?

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

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

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

Но самый интересный вопрос, ответа на который мы никогда не узнаем: смысл жизни вообще.

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

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

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

Цель жизни — в самой жизни, осознавая свою божественную суть!

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

Смысл жизни у всего живого один: РАЗВИТИЕ через различение добра и зла, пользы от вреда, истинных знаний от заблуждений.

Так как и предназначение у всех в этой жизни свое.

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

Что заложено и в каком направлении в жизни реализовываться.
Найдя свое призвание, начнешь наслаждаться жизнью и каждым моментом.

Но жизнь вернула к первоначальному.»


Мотиваторы информационного поля:
себя---этой---жизни.---
найти---себя---себя---
смысл---жизни---жизни---
жизни---каждого---жизни---
Производительность алгоритмов

Наши исследования начались более 5 лет назад и проходили на специализированном кластере. После того как определенные закономерности были найдены, необходимо было оптимизировать алгоритмы. Несколько лет потребовалось для того, чтобы «размышление» заработало на обычном серверном железе. Ядро версии 2.3 способно даже размышлять на планшете с процессором Intel Atom.

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

Возможности и развитие алгоритмов DES

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

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

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

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

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

Обучайтесь и воображайте…

habr.com

Создание искусственного интеллекта для игр (часть 1)

Автор: Дональд Кихо (Donald Kehoe)

За несколько последних десятилетий отрасль компьютерных игр проделала гигантский путь. Все началось с простейших игр, таких как Pong* и Pac-Man*, благодаря которым игроки могли на короткое время забыть о реальном мире. Современные мощнейшие игровые проекты, такие как World of Warcraft* и Call of Duty 4*, являются весьма серьезным хобби для игроков. По данным Ассоциации развлекательного программного обеспечения (ESA), современные геймеры обладают в среднем 13-летним опытом компьютерных игр, они привыкли к тому, что новые игры становятся все более сложными, увлекательными и умными. Для разработчиков основная проблема состоит в том, что необходимо создавать все более захватывающие игры. Для решения этой задачи применяется и постоянно совершенствующийся управляемый компьютером искусственный интеллект (ИИ). Но создание хорошего искусственного игрового партнера, который способен приспосабливаться к действиям игрока, играть на высоком уровне и побуждать игрока совершенствоваться, — весьма непростая задача. Эта статья открывает серию из четырех статей, в которой описываются важнейшие принципы ИИ и способы оптимизации для использования всех возможностей современных многоядерных процессоров.

Часть 1. Проектирование и реализация

Что такое ИИ для игр?

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

В чем ИИ для игр отличается от традиционного представления об ИИ

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

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

Назначение ИИ в играх

ИИ может исполнять различные роли в играх. Это может быть общий набор правил, определяющих поведение объектов в игровом мире. Также к ИИ следует относить и события с заранее написанным сценарием. Например, в игре F.E.A.R* маленькая страшная девочка, приводящая игроков в ужас и предвещающая события из будущего, является событием с заранее написанными сценариями. Большинству пользователей, размышляющих об ИИ и играх, приходят на ум управляемые компьютером персонажи в многопользовательских играх. Но все эти разнообразные роли могут быть исполнены одним актером — искусственным интеллектом.

Рисунок 1. Игра F.E.A.R. (Vivendi Universal*) с использованием событий с заранее написанным сценарием в качестве ИИ

Что нужно для ИИ в играх

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

Принятие решений

Основным принципом, лежащим в основе работы ИИ, является принятие решений. Для выбора при принятии решений система должна влиять на объекты с помощью системы ИИ. При этом такое воздействие может быть организовано в виде «вещания ИИ» или «обращений объектов».

В системах с «вещанием ИИ» система ИИ обычно изолирована в виде отдельного элемента игровой архитектуры. Такая стратегия зачастую принимает форму отдельного потока или нескольких потоков, в которых ИИ вычисляет наилучшее решение для заданных параметров игры. Когда ИИ принимает решение, это решение затем передается всем участвующим объектам. Такой подход лучше всего работает в стратегиях реального времени, где ИИ анализирует общий ход событий во всей игре.

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

Базовое восприятие

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

Системы на основе правил

Простейшей формой искусственного интеллекта является система на основе правил. Такая система дальше всего стоит от настоящего искусственного интеллекта. Набор заранее заданных алгоритмов определяет поведение игровых объектов. С учетом разнообразия действий конечный результат может быть неявной поведенческой системой, хотя такая система на самом деле вовсе не будет «интеллектуальной».
Хорошим примером системы на основе правил является работа дилера (крупье) при игре в блэкджек, будь то компьютерная игра или настоящий блэкджек. У дилера есть простое правило, которое он всегда соблюдает: он обязан брать карты до тех пор, пока не достигнет 17 очков (и обязан остановиться, набрав 17 очков или более). С точки зрения среднего игрока, ситуация выглядит так, как будто дилер намеренно и агрессивно играет против него. Поэтому у игрока складывается представление, что против него играет более опытный соперник, чем на самом деле (если в казино не объявлены другие правила, по которым играют дилеры).

Классическим игровым приложением, где используется такая система, является Pac-Man. Игрока преследуют четыре привидения. Каждое привидение действует, подчиняясь простому набору правил. Одно привидение всегда поворачивает влево, другое всегда поворачивает вправо, третье поворачивает в произвольном направлении, а четвертое всегда поворачивает в сторону игрока. Если бы на экране привидения появлялись по одному, их поведение было бы очень легко определить и игрок смог бы без труда от них спасаться. Но поскольку появляется сразу группа из четырех привидений, их движения кажутся сложным и скоординированным выслеживанием игрока. На самом же деле только последнее из четырех привидений учитывает расположение игрока.


Рисунок 2. Наглядное представление набора правил, управляющих привидениями в игре Pac-Man, где стрелки представляют принимаемые «решения»

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

Конечные автоматы в качестве ИИ

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

Вот распространенные примеры состояния системы ИИ в игре с элементами скрытных действий.

Рисунок 3. Схема состояний в типичном конечном автомате, стрелки представляют возможные изменения состояния

  • Бездействие. В этом состоянии объект просто пассивно стоит или ходит по заданному маршруту. Уровень восприятия низок. Объект редко проверяет наличие звуков, издаваемых игроком. Только если объект атакован или «видит» игрока прямо перед собой, состояние объекта изменяется на более высокий уровень восприятия.
  • Настороженность. Объект ведет активный поиск посторонних. Он часто вслушивается, стараясь услышать игрока, поле обзора дальше и шире, чем при бездействии. Объект перейдет в состояние заинтересованности, если заметит что­то необычное (что-то, требующее проверки), например открытые двери, тела в бессознательном состоянии, гильзы от патронов.
  • Заинтересованность. Объект знает, что что-то происходит. Для демонстрации такого поведения объект покидает свой обычный пост или маршрут движения и перемещается в область интереса, например к упомянутым выше открытым дверям или лежащим телам. Если при этом объект увидит игрока, он перейдет в состояние тревоги.
  • Тревога. В этом состоянии объект уже заметил игрока и выполняет действия, направленные на то, чтобы преследовать и уничтожить игрока: выход на дистанцию атаки, оповещение других стражников, включение сигнала тревоги, поиск укрытия. Когда противник находится в дальности досягаемости объекта, объект переходит в состояние агрессии.
  • Агрессия. В этом состоянии объект начинает бой с игроком. Объект атакует игрока в любое время, когда это возможно, и старается укрыться в перерывах между атаками (если требуется перезарядить оружие или дать ему остыть). Объект выходит из этого состояния, только если игрок уничтожен (возврат в обычное состояние), игрок выходит за пределы области поражения (возврат в состояние тревоги) или если погибает сам объект (переход в состояние смерти). Если у объекта остается мало здоровья, он может переключиться в состояние бегства (в зависимости от уровня смелости конкретного объекта).
  • Бегство. В этом состоянии объект пытается выйти из боя. В зависимости от игры у объекта может быть помимо основной цели (поиск и уничтожение игрока) еще и дополнительная цель — поиск аптечек для восстановления здоровья или выход из области игры. Обнаружив аптечку, объект может вернуться в состояние тревоги и возобновить бой. Объект, «выходящий» из области игры, просто удаляется.
  • Смерть. В некоторых играх состояние смерти отличается от полного бездействия. При гибели объект может, к примеру, закричать, оповестив находящиеся рядом объекты, или перейти в бессознательное состояние, в котором еще может прийти на помощь врач (в этом случае объект вернется в состояние тревоги).

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

Адаптивный ИИ

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

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

Предсказание

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

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

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

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

Заключение

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

Об авторе

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

software.intel.com

Как создать искусственный интеллект? История первая. Что такое интеллект? / Habr

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

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

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

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

Представьте себе, что компьютер с интеллектом существует. И у вас есть возможность общаться с ним голосом или с помощью текстовых сообщений.
Вопросы:
  • Обязательно ли встраивать в программу интеллекта компьютера особенности языка (описывать семантику, грамматику, морфологию) или он смог бы выучить языки самостоятельно через взаимодействие с человеком?
  • Если бы вам поставили задачу научить компьютер языку, то что бы вы делали?
  • Если бы в обучении принимали участие только вы, то на кого он был бы похож?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте следующую статью на хабре:
Как создать искусственный интеллект? История вторая. Алгоритмы интеллектуального поиска и хранения информации

habr.com

Теория создания искусственного интеллекта / Habr

Создание искусственного интеллекта — миф или реальность?

Теория

Работая с современными микропроцессорами типа PIC или AVR в мою голову пришла идея – теоретическая идея. И я не могу сказать, что эта же идея не пришла в голову людям, конкретно занимающимся практическим созданием ИИ. Суть этой идеи состоит в том, что бы воссоздать человеческий мозг и его работу посредством подключения микроконтроллеров к процессорам и хранилищу данных.
Я не буду вдаваться в подробности устройства и технологии работы микроконтроллеров – вы можете сделать это сами зайдя на сайт Википедии.
Смысл идеи состоит в том – что бы группа микроконтроллеров отвечала за определенные части работы человеческого мозга.
Звучит глупо и нереально скажете вы. Но реально изучив работу человеческого мозга, выбросив(на время) ненужные для робота отделы головного мозга и правильно запрограммировав несколько основных, реально добиться результата, при котором искусственный интеллект будет похож на наш – человеческий.
Приведем пример: зрение – подключив камеру(глаза) люди уже создали программный код работы с камерой. То есть запускаем робота -> включается камера и перед ним комната вместе с мебелью, компьютерами и пр. Наш человеческий мозг моментально просчитывает длину и ширину, куда можно наступить а куда нет, ГДЕ ВЫХОД – задача номер один. – То есть выход и вход визуально первая задача.

Что будет делать робот?
Ответ: НИЧЕГО.
Теперь немного о нашем «думателе» — читал в какой то книге, не помню названия. Не буду писать сколько млрд нейронов связаны и задействованы, но факт таков, что кора головного мозга отвечает за все виды памяти: слуховая, вкусовая, зрительная, обонятельная, осязательная. Пример: вы идете с работы домой и проходите пять кварталов, все это время вам по пути попадаются люди, машины, здания, дома и т.д. Наш мозг записывает всю информацию. Если вас спросят вы видели по пути девушку в ярко красном платье зимой? Вы даже не обратили внимания на эту девушку, но она прошла рядом с вами – и ваш зрительный орган уже передал информацию. Вы думаете и отвечаете – НЕТ. Но эта девушка и её образ уже сохранен в одном из отделов мозга. Если я не прав, поправьте меня. Но это один из примеров и привожу я его для логического создания алгоритма зрения.(хоть я и сказал что алгоритмами не создать ИИ, все же решить некоторые задачи на первых порах получится только ими)
Наша основная задача: создать алгоритм, при котором вся информация поступающая в зрительные органы робота будет классифицироваться и записываться в хранилище данных. Основное место понятное дело отведем дому(рабочему месту, где будет использоваться машина) второстепенное его прогулкам.
Да, я понимаю что это невообразимый поток данных и что бы его различать придется написать млрд. кода и здесь микроконтроллер не поможет – но он будет ответственен за сами глаза(питание, изменение порядка вещей, дальность предметов, вход и выход и т.д.)
В первую очередь я думал воссоздать двигательный аппарат, но поразмышляв понял, что он еще сложнее чем зрительный.

Главный вопрос, который возникает: как он будет думать? Как он будет выбирать?
Главный ответ: Человек рождается и тоже не умеет ходить, писать, читать, говорить и т.д. Человек учится всему по ходу. Нам лишь необходимо создать технологию и спроектировать основные части мозга, записать основные для человека действия и реализовать способность учиться – ЗАПИСЫВАТЬ ИНФОРМАЦИЮ в постоянное хранилище, откуда бы робот мог брать ответы и задавая новые вопросы сохранял бы возможные новые решения. Почему нет? Только что копаясь по habrhabr я наткнулся на статью где уже сделали что то подобное в IBM – статья называется «Функциональная компьютерная модель головного мозга» (если бы я увидел её раньше то и не писал бы эту статью, но уже поздно) Ребята пытаются полностью смоделировать мозг и даже решение всех задач что бы проходило путь как у человека.
Идея этого поста весьма проста – описать реально работающий принцип создания искусственного интеллекта, т.е разума. Создать машину, умеющую не только программно отвечать на поставленные задачи, заложенные человеком методом алгоритмов(уравнений) а машину(робота, без использования кибернетики как метода достижения поставленной цели) умеющую думать, выбирать, планировать свою жизнь и конечно же помогать человеку.

Предыдущие попытки человечества

Многие из вас смотрели научно-популярную телепередачу Discovery Science, где японцы, китайцы, американцы и даже русские пытались и создавали робототехнику. Вкладывали миллионы долларов и годы уходили на разработку того, что фантасты назвали «терминатором», «робокопом» и т.д. Без мысленно перечислять всех авторов и режисеров создавших это чудо, но человечество до сих пор находится на стадии развития робототехники лишь по одной большой причине: НИ КОМУ ЕЩЕ НЕ УДАЛОСЬ СОЗДАТЬ искусственный интеллект схожий с человеческим мозгом. Ни один робот не в силах сознательно делать выбор.
В интернете полно видеороликов, где японские технологи (Хонда, если мне не изменяет память) пытались создать настоящую машину, в точности напоминающую человека, по внешним данным. Чего же не учли «ученые»? – это особенность строения человеческого мозга – как самым главным процессором человеческого тела. Созданный робот из сплавов металла был запрограммирован на определенные команды и когда операторы и весь завод собрался на презентацию запуска их чудо-машины – произошло то, что не мог предсказать ни один из них. Робот сделав один шаг повалился на землю как груда металла. Я не обвиняю его создателя, это видео было снято в 2000г и выложено на YouTube совсем недавно, много чего произошло за прошедшие 13 лет, вероятно в той же Японии или Китае уже созданные прототипы рабочих человекоподобных машин и ждут своего часа. Но эту книгу я пишу для тех кто не только задавался вопросом но и для тех кто давно ищет ответ на него: возможно ли создание искусственного интеллекта? Если да, то каким образом? Если нет, то каким образом сделать это возможным. В этой книге я также посвящу некоторые главы вопросам, связанным с личной безопасностью и реальной угрозой человеку, имеющему такого робота в хозяйстве. Но все по порядку.
Предыстория

Теория создания искусственного интеллекта возникла в моей голове более десяти лет назад, во время бума компьютерных игр. Если быть более точным – Counter-Strike одна из первых игр, в которую играли миллионы подростков, проходили чемпионаты и турниры, создавались кланы. Тысячи часов моей жизни были отданы этому шедевру от программистов. Единственное что удручало – это искусственный интеллект ботов(противников). Играя против компьютера – возможно было оттачивать свое мастерство до такого уровня, что 10,20,30 противников превращались в мясо. Но придя в компьютерный клуб и играя с реальными людьми – все тренировки шли на смарку. Я мог победить 20 компьютерных врагов в одиночку. А в реальности Мы иногда в пятером не могли победить одного человека.
Конечно разработчики создавали и оптимизировали ботов(искусственный противник), разрабатывали новые тактики, уловки, методики для каждой карты, но хватало одного часа для понятия очередности действия и алгоритма противника – это не искусственный интеллект – это проблема, с которой сталкиваются все программисты создавая AI (artificial intelligence)
Играя в современные игры мы можем убедиться в прогрессе разработчиков. Современные противники не только переживают за свою жизнь, но и ведут себя как люди – прячутся за преградами, бросают гранаты, выкуривают вас из за укрытий, ведут огонь из орудий, прикрывая товарищей. Это все конечно очень хорошо, НО – вы уже догадались какое это «НО».

Если эта идея уже использована, то извиняюсь за потраченное время.

Если нет, то я надеюсь в скором времени предоставить больше информации о задумке и её реализации.

habr.com

Подборка штук на основе искусственного интеллекта для личного использования (1/3) / Dato ML corporate blog / Habr

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


Создание искусственного интеллекта — это как взбираться на дерево, пытаясь добраться до Луны. Можно сообщать о стабильном прогрессе, вплоть до самой вершины дерева.

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


Разбивка серии статей на части

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

PS. Трекпад моего Macbook почти умирает от огромного количества кликов.

Часть 1 — список ИИ-компаний и продуктов для личного использования (B2C).

Часть 2 — список ИИ-компаний для бизнеса и промышленности (B2B).

Часть 3 — расширенный список ИИ-компаний для бизнеса и промышленности (потому что их очень много!). И некоторые дополнения.

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

Скажите ваше мнение (включая любые замечания, уточнения, добавления и удаления).

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

Я выделил некоторые из моих любимых. Наслаждайтесь!



Персональные / для дома


  • Ems — помогает найти идеальное место для жизни.
  • Bridge Kitchen — помощник для кухни, который дает пошаговые указания.
  • UnifyID — подтверждайте свою личность с помощью вашей походки и манеры печати.

Для работы


  • Carly — Помогает управлять телефонными звонками.
  • ETCH — Помогает управлять вашим списком контактов.
  • Findo — Помощник для поиска по письмам, файлам и персональным облакам.
  • Leap — Рекомендует компании для трудоустройства на основе ваших навыков.
  • Lomi — Выявляет потенциальных покупателей.
  • Mosaic — Помогает писать качественные резюме.
  • Newton — Помогает искать работу мечты.
  • Notion — Помогает справиться с большим количеством электронной почты.
  • Robby — Лучший и более умный календарь.
  • Stella — Сканирует вакансии и управляет процессом трудоустройства.
  • Woo — Помогает анонимно принимать более взвешенные решения относительно своей карьеры.

Социальные


  • Brightcrowd — Помогает найти значимые профессиональные связи.
  • Capsule.ai — Напоминает хорошие моменты из вашей жизни.
  • Dating.ai — Приложение для знакомств с функицей поиска по лицам.
  • ETCH — Помогает управлять вашим списком контактов.
  • Eezy — Пусть Eezy позаботится о вашем вечере, чтобы вы могли развлекаться.
  • Hashley — Ироничный генератор хэштегов и комментариев для фотографий.
  • Hotness.ai — Скажет вам, насколько вы горячий.
  • Rey — Знакомит вас с людьми, с которыми вы действительно должны познакомиться (для работы или отдыха).

Образование


  • Thirdleap — Помогает детям учить математику.
  • Woogie — Интерактивный ИИ-робот (чат-бот), который делает обучение и изучение забавным для детей.

Здоровье / Медицина


  • Abi — Ваш виртуальный помощник по здоровью.
  • Ada — Может помочь, если вы плохо себя чувствуете.
  • Airi — Персональный тренер здорового образа жизни.
  • Alz.ai — Помогает заботиться о близких с болезнью Альцгеймера.
  • Amélie — Чат-бот для общения на тему психического здоровья.
  • Bitesnap — Распознавание еды по фотографии для подсчета количество калорий.
  • doc.ai — Делает результаты анализов легче для понимания.
  • Gyan — Помогает по симптомам понять вероятные заболевания.
  • Joy — Помогает отслеживать и улучшать свое психическое здоровье.
  • Kiwi — Помогает бросить курить.
  • Tess by X2AI — Карманный терапевт.
  • Sleep.ai — Диагностирует храп и стучание зубами.

Помощники — Персональные


  • Amazon Echo / Alexa — Личный помощник для дома на каждый день.
  • Apple Siri — Личный помощник на iPhone и Mac.
  • Cortana — Личный помощник на устройствах с Windows.
  • Facebook M — Конкурент Siri, Now и Cortana.
  • Focus — Помогает сосредоточиться, выполнять задачи вовремя и расставлять приоритеты.
  • Gatebox — Голографический аниме-помощник в кофе-машине.
  • Google Assistant — Повседневный личный помощник.
  • Hound — Повседневный личный помощник.
  • Ling — Похожий на Amazon Echo.
  • Mycroft — Первый голосовой помощник с открытым исходным кодом.
  • Remi — Как Siri, только со своеобразным интерфейсом пользователя.
  • Spoken — Виртуальный помощник с голосовым интерфейсом.
  • Viv — Как Siri, но лучше в 10 раз.

Помощники — Профессиональные


  • Clara — Помощник по планированию встреч.
  • Julie Desk — Помощник по планированию встреч (нацеленный на топ-менеджеров).
  • Kono — Помощник по планированию встреч.
  • Mimetic — Ещё один помощник по планированию встреч.
  • My Ally — Планирование встреч и управление календарем.
  • SkipFlag — Автоматическая организация и поиск информации, которая может понадобиться вам на работе.
  • Vesper — Виртуальный помощник для топ-менеджеров.
  • x.ai — И ещё один помощник по планированию встреч.
  • Zoom.ai — Персональный помощник для работы.

Помощники — Развлечения


  • Fembot — Ваша ИИ-подружка.
  • Lifos — Динамические независимые штуки, которые взаимодействуют с вами через интернет, девайсы и социальные сети. От переводчика: не понял, вообще не осилил что это такое...
  • Replika — Ваш ИИ-друг, с которым вы общаетесь по переписке.

Помощники — Чат-боты


  • Brin — Помогает принимать более взвешенные бизнес-решения.
  • Chatfuel — Сервис для создания чат-бота в Facebook за 7 минут.
  • Luka — Мессенджер с чат-ботом для общения людей и других чат-ботов.
  • myWave — Чат-бот, который поможет вам в повседневной жизни .
  • Lyra — Отслеживает и анализирует уровень выдыхаемого углекислого газа.

Развлечения / Новости


  • Jottr — Новостное приложение, которое учится на том, что вам нравится и что не нравится.
  • News360 — Узнает, что вам нравится и находит истории, которые вам понравятся.

Путешествия


  • Ada — Чат-бот, который помогает вам ориентироваться в путешествиях и принимать решения.
  • Emma — Автоматически вычисляет и добавляет время в пути до места встречи.
  • ETA — Помогает вам управлять маршрутами поездок и встречами.
  • HelloGbye — Бронирование сложного маршрута в виде обычного диалога.
  • Mezi — Помощники в бронировании авиабилетов, гостиниц, столов в ресторанах и многого другого.
  • Ready — Прогнозирует трафик и время в пути.

Транспорт


  • Vinli — Превращает любой автомобиль в умный автомобиль.

Фитнесс


  • Mara — Умнейшее приложение для бега.

Музыка


  • Aiva — Сочиняет эмоциональную музыку.
  • Pandora — Находит музыку, которая вам может понравиться.

Страхование / Юридические услуги


  • Docubot — Может проконсультировать вас по юридическим вопросам.
  • Driveway — Отслеживает и награждает безопасных водителей.

Поход по магазинам


  • Entrupy — Помогает определить подлинность дизайнерских продуктов.
  • Fify — Помогает покупать одежду.
  • GoFind — Помогает найти одежду онлайн по фотографии.
  • Mode.ai — Помогает найти одежду онлайн.

Финансы


  • Abe — Быстрые ответы о ваших финансах.
  • Andy — Персональный налоговый бухгалтер.
  • Ara — Помогает вам с планированием бюджета.
  • Bond — Помогает достичь финансовых целей.
  • Mylo — Округляет ваши ежедневные покупки и инвестирует свободный отсаток.
  • Olivia — Помогает управлять финансами.
  • Responsive — Управляет портфелем инвестиций.
  • Roger — Помогает оплачивать счета.
  • Wallet — ИИ для ежедневных финансовых решений.
  • Xoe.ai — ИИ чат-бот по кредитованию.


  • Firedrop — Автоматически создаваемый дизайн ваб-сайта, просто добавьте контент и опубликуйте.
  • Hashley — Ироничный генератор хэштегов и комментариев для фотографий.
  • Millions.ai — Скиньте контент на него и он создаст сайт.
  • Oly — Отбирает и помогает публиковать контент в социальных сетях.
  • Signature — Создает элегантные посадочные страницы, используя ваш контент в социальных сетях.
  • Zen.ai — Персонализированные рекомендации для магазина Shopify.

IoT / IIoT


  • Aerial — Датчик домашней активности, движения и идентификации.
  • Bridge.ai — Платформа умного дома, ориентированная на речь и звук.
  • Cubic — Единое место для подключения интеллектуальных домашних устройств.
  • Grojo — Контроллер и система мониторинга для комнаты с растениями.
  • Home — Автономное управление домом с помощью подключенных устройств.
  • Hello — Помогает контролировать и улучшать сон.
  • Josh — Управление голосом для всего в доме.
  • Mycroft — Первый голосовой помощник с открытым исходным кодом.
  • Nanit — Радионяня изобретенная заново.
  • Nest — Ряд устройств для дома таких, как термостат, системы безопасности и сигнализации.

Носимые устройства


  • Eli — Помогает выучить новый язык по разговорам в течение дня.
  • Kick.ai — Носимое утсройство для боевых искусств, спициализиующеся на анализе ударов и боев.

Языки / Перевод


  • Liv — Расшифровывает разговоры на английском и хинди.
  • Microsoft Translator — Переводчик с использованием нейронных сетей.
  • Google Translate — От переводчика: Ещё один переводчик с использованием нейронных сетей.

Роботы


  • Dispatch — Доставка роботом.
  • Roboy — Человекоподобный робот, стремящийся быть таким же способным, как человек.
  • Spoon — Робот (Я не понял его предназначение, но звучит здорово!).

Полезные + Развлечения + Случайные


  • CaptionBot — Microsoft описывает любую фотографию.
  • Crowdfunding.ai — краудфандинговая платформы для ИИ-проектов.
  • Elevator — Помогает находить и покупать каннабис (с рекомендациями).
  • Fieldguide — Универсальное полевое знаний, которое предлагает возможные совпадения.
  • Frankenstain.ai — Это совместный эксперимент с использованием ИИ, машинного обучения, робототехники, биоинженерии и IoT.
  • #Laugh — Смех, визуализированный в цифровом формате, который может быть отправлен в космос.
  • IntelligentX Brewing Co. — Пиво, сваренное искусственным интеллектом.
  • Spark — Помогает заказать каннабис текстовым сообщением.
  • Token — Помогает отправить идеальный подарок.
  • Wixi — Помогает исправить проблемы с Wi-Fi.
  • Mushroom AI — От переводчика: Распознаёт грибы по фотографии.

Научные исследования


  • Apollo — Разбивает статьи и PDF-файлы на удобочитаемые списки.
  • Ferret.ai — Помогает с исследованиями суммируя статьи.
  • Iris — Помогает вам исследовать и визуализировать концепты в научных статьях.

События, конференции и сообщества



Новости и блоги


  • AI Weekly — Еженедельные новости и ресурсы по искусственному интеллекту и машинному обучению.
  • Approximately Correct — Блог про искусственный интеллект и машинное обучение.
  • Axiomzen — Рассылка про ИИ раз в 2 недели.
  • Concerning.ai — ИИ коментаторы.
  • Fast.ai — Блог про доступность глубокого обучения для всех.
  • Machinelearning.ai — Новости и обновления про искусственный интеллект и машинное обучение.
  • Machine Learning Weekly — Отбираемая в ручную рассылка про машинное и глубокое обучение.
  • PRAI — Форум про искусственный интеллект, машинное обучение и роботостроение.
  • Storyteller — Отслеживает появление новых описаний интеллектуальных алгоритмов.
  • Machine Learnings — От переводчика: Еженедельная рассылка про ИИ.

Это только начало! Сообщите мне, если я пропустил какую-либо компанию, которая, по вашему мнению, должна была быть включена, любые изменения, которые я должен внести, или если есть такие компании, которых просто не должно быть в списке. Я готовлю части 2 и 3, которые скоро появятся!

Я, Лиам Хэнель (Liam Hänel), основатель и генеральный директор Lyra. Lyra помогает вам легко отслеживать и анализировать ваш личный уровень выдыхаемого углекислого газа с помощью искусственного интеллекта. Вы можете узнать о нашем прогрессе на нашем сайте.


От переводчика

Хочется отметить, что как у автора, так и в СМИ, часто смешиваются понятия “чат-бот” и “искусственный интеллект”. Чат-бот — это интерфейс, а за ним может быть как простой алгоритм, так и искусственный интеллект или даже живой человек. Про наличие сотрудников, которые обрабатывают заявки от имени “человекоподобного” чат-бота, прямым или косвенным образом признавались такие проекты, как x.ai и Clara.

habr.com

как он работает, и уничтожит ли наше общество уже в этом году? / Habr

Сегодняшний ИИ технически «слабый» – однако он сложный и может значительно повлиять на общество



Не нужно быть Киром Дулли, чтобы знать, насколько пугающим может стать хорошо соображающий искусственный интеллект [американский актёр, исполнявший роль астронавта Дэйва Боумена в фильме «Космическая одиссея 2001 года» / прим. перев.]

ИИ, или искусственный интеллект, сейчас одна из самых важных областей знания. Решаются «нерешаемые» задачи, инвестируются миллиарды долларов, а Microsoft даже нанимает Коммона, чтобы он рассказал нам поэтическим штилем, какая это замечательная штука – ИИ. Вот ведь.

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

  • Что подразумевают люди, говоря «ИИ»?
  • В чём разница между ИИ, машинным обучением и глубоким обучением?
  • Что такого замечательного в глубоком обучении?
  • Какие бывшие сложными задачи теперь решать легко, а что до сих пор тяжело?

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

Что такое ИИ?


В информатике есть такая старая шутка: в чём разница между ИИ и автоматизацией? Автоматизация – это то, что можно делать с помощью компьютера, а ИИ – это то, что мы хотели бы уметь делать. Как только мы узнаём, как что-то делать, это переходит из области ИИ в разряд автоматизации.

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

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

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

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

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

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


Кадр из короткого видео от инженеров Facebook, демонстрирующего, как ИИ в реальном времени распознаёт кошек (задача, также известная, как святой Грааль интернета)

Машинное обучение


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

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

Сегодня МО-подход хорошо известен: вместо того, чтобы пытаться записать все правила, вы создаёте систему, способную самостоятельно вывести набор внутренних правил после изучения огромного количества примеров. Вместо того, чтобы описывать кошек, вы просто показываете своему ИИ кучу фотографий кошек, и даёте ему самостоятельно понять, что является кошкой, а что – нет.

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

Всё возрастающий поток данных – одна из причин взрывного роста алгоритмов МО в последнее время. Другие причины связаны с использованием этих данных.

Кроме данных, для МО есть ещё два связанных с этим вопроса:

  • Как мне запомнить изученное? Как хранить и представлять на компьютере связи и правила, которые я вывел из данных?
  • Как мне обучаться? Как изменять сохранённую репрезентацию в ответ на поступление новых примеров, и улучшаться?

Иначе говоря, что именно обучается на основе всех этих данных?

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

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

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


Зародыш ИИ в виде «чем они мягче, тем слаще»


С добавлением новых данных задача усложняется

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

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

Что нам делать? Ну, раз это модель МО, мы просто можем скормить ей больше данных, правильно?

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

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


Ладно, наверное, идея использовать прямую для сложного ИИ была не очень удачной


Требуется математика посложнее

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

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

Именно тут и вступает в игру глубокое обучение.

Глубокое обучение


Глубокое обучение – это машинное обучение, использующее модель определённого вида: глубокие нейросети.

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

Послойная модель позволяет проводить более сложные вычисления. Простой сети с небольшим количеством слоёв нейронов достаточно для воспроизводства использовавшейся нами выше прямой или параболы. Глубокие нейросети – это нейросети с большим количеством слоёв, с десятками, или даже сотнями; отсюда и их название. С таким количеством слоёв можно создавать невероятно мощные модели.

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

Однако в успех нейросетей сделал свой вклад и ещё один аспект: обучение.

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

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


Простая нейросеть и глубокая нейросеть

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

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

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

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

Теперь мы точно знаем, в какую сторону надо подстраивать параметры для увеличения оценки, и можно подстраивать сеть последовательными шагами во всё лучших и лучших «направлениях», пока вы не дойдёте до точки, в которой уже ничего нельзя улучшить. Это часто называют восхождением на холм, поскольку это действительно похоже на движение вверх по холму: если постоянно двигаться вверх, в итоге попадёшь на вершину.


Видали? Вершина!

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

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

Поэтому в последние 5-6 лет произошло резкое улучшение возможностей ИИ. Несколько кусочков головоломки сложились синергетическим образом: интернет сгенерировал огромный объём данных, на котором можно учиться. Вычисления, особенно параллельные вычисления на графических процессорах сделали возможной обработку этих огромных наборов. Наконец, глубокие нейросети позволили воспользоваться преимуществами этих наборов и создать невероятно мощные модели МО.

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

И что мы теперь можем делать? Распознавание образов


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

Сегодня распознавание птиц и даже определённых видов птиц – тривиальная задача, которую может решить правильно мотивированный старшеклассник. Что поменялось?

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

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

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

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

Большой прорыв случился благодаря ГО, а в частности – определённому виду нейросетей под названием «свёрточные нейросети». Свёрточные нейросети, СНС – это глубокие сети с определённой структурой, вдохновлённой строением зрительной коры мозга млекопитающих. Такая структура позволяет СНС самостоятельно обучаться иерархии линий и закономерностей для распознавания объектов вместо того, чтобы ждать, пока доктора наук потратят годы на исследования того, какие из особенностей лучше подходят для этого. К примеру, СНС, обученная на лицах, выучит собственную внутреннюю репрезентацию линий и кружочков, складывающихся в глаза, уши и носы, и так далее.


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

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

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

Естественно, это можно расширить и ещё дальше.

Кто там? (распознавание лиц)


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

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

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


Изменение нейросети с распознавания лиц (слева) до описания лиц (справа) требует лишь изменения формата выходных данных, без смены её основы


Теперь можно распознавать лица, сравнивая описания каждого из лиц, создаваемые нейросетью

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

Подобная структурная гибкость – ещё одна причина такой полезности глубоких нейросетей. Было разработано уже огромное количество разнообразных МО-моделей для компьютерного зрения, и хотя они развиваются в очень разных направлениях, базовая структура многих из них основана на таких ранних СНС, как Alexnet и Resnet.

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

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


И даже до этой точки виртуальные ассистенты добирались очень долго

Что ты сказал? (Распознавание речи)


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

Базовая идея в распознавании речи довольно похожа на принцип компьютерного зрения: распознавать сложные вещи в виде наборов более простых. В случае с речью распознавание предложений и фраз строится на распознавании слов, которое основано на распознавании слогов, или, если быть более точным, фонем. Так что, когда кто-то говорит «Bond, James Bond», на самом деле мы слышим BON+DUH+JAY+MMS+BON+DUH.

В зрении особенности организованы пространственно, и эту структуру обрабатывают СНС. В слухе эти особенности организованы во времени. Люди могут говорить быстро или медленно, без чёткого начала и конца речи. Нам нужна модель, способная воспринимать звуки по мере поступления, как человек, вместо того, чтобы ждать и выискивать в них законченные предложения. Мы не можем, как в физике, сказать, что пространство и время – это одно и то же.

Распознавать отдельные слоги довольно легко, однако их сложно изолировать. К примеру, «Hello there» может звучать похоже на «hell no they’re»… Так что для любой последовательности звуков обычно существует несколько комбинаций слогов, произнесённых на самом деле.

Чтобы во всём этом разобраться, нам нужна возможность изучать последовательность в определённом контексте. Если я слышу звук, то что более вероятно – что человек сказал «hello there dear» или «hell no they’re deer?» Здесь опять на помощь приходит машинное обучение. С достаточно большим набором образцов произнесённых слов можно выучить наиболее вероятные фразы. И чем больше примеров у вас есть, тем лучше это будет получаться.

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

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

Такое свойство памяти у РНС позволяет им не только «слушать» слоги, поступающие к ней один за другим. Это позволяет сети обучаться тому, какие слоги идут вместе, формируя слово, и тому, насколько вероятны определённые их последовательности.

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


Покажи мне, как ты умеешь двигаться (глубокие подделки и генеративные сети)


Пока что мы говорили о МО-моделях, предназначенных для распознавания: скажи мне, что изображено на картинке, скажи мне, что сказал человек. Но эти модели способны на большее – сегодняшние модели ГО можно использовать и для создания контента.

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

Всё это довольно грустно, но не в этой области так мрачно – вверху показано моё любимое видео на тему этой технологии.

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

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

Начните с сети, извлекающей позы из изображений людей


МО-модели, способные делать это, называются генеративными [англ. generate – порождать, производить, создавать / прим. перев.]. Все предыдущие рассмотренные нами модели называются дискриминационными [англ. discriminate – различать / прим. перев.]. Разницу между ними можно представить себе так: дискриминационная модель для кошек смотрит на фотографии и различает фото, содержащие кошек, и фото, где их нет. Генеративная модель создаёт изображения кошек на основе, допустим, описания того, какая это должна быть кошка.

Генеративные модели, «рисующие» изображения объектов, создаются при помощи тех же СНС-структур, что и модели, использующиеся для распознавания этих объектов. И эти модели можно обучать в основном так же, как и другие модели МО.

Однако хитрость заключается в том, чтобы придумать для их обучения «оценку». При обучении дискриминационной модели есть простой способ оценить правильность и неправильность ответа – типа, правильно ли сеть отличила собаку от кошки. Однако как оценить качество полученного рисунка кошки, или его точность?

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

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

И две эти сети играют в состязательную игру. Отсюда и слово «состязательный» в названии. Генеративная сеть пытается делать убедительные подделки, а дискриминационная пытается понять, где подделка, а где реальная вещь.

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


ГСС заставляют две сети состязаться друг с другом: одна выдаёт «фейки», а другая пытается отличать фейк от оригинала


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

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

Генеративные модели после обучения могут оказаться очень полезными для создания контента. К примеру, они могут генерировать изображения лиц (которые можно использовать для обучения программ по распознаванию лиц), или фонов для видеоигр.

Чтобы всё это работало правильно, требуется большая работа по подстройкам и исправлениям, но по сути человек тут выступает в роли арбитра. Именно ИИ работают друг против друга, внося основные улучшения.

Так что, ждать ли нам в ближайшее время появления Skynet и Hal 9000?


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

Во-первых, давайте ещё раз подчеркнём текущие ограничения ИИ: главная мысль, которую вы, как я надеюсь, извлекли из прочтения этой статьи, состоит в том, что успех МО или ИИ чрезвычайно сильно зависит от выбранных нами моделей обучения. Если люди плохо организуют сеть или используют негодные материалы для обучения, то эти искажения могут оказаться весьма явными для всех.

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

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

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

Мы часто представляем себе, как ИИ «заменяет» нас, то есть, как роботы буквально делают нашу работу, но на самом деле это будет происходить не так. Взгляните, например, на рентгенологию: иногда люди, смотря на успехи компьютерного зрения, говорят о том, что ИИ заменит рентгенологов. Возможно, мы не дойдём до такой точки, когда у нас вообще не будет ни одного рентгенолога-человека. Но вполне возможно такое будущее, в котором на сотню сегодняшних рентгенологов ИИ позволит пяти-десяти из них делать работу всех остальных. Если такой сценарий реализуется, куда пойдут оставшиеся 90 врачей?

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

habr.com

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

Необходимым условием наступления технологической сингулярности является создание «сильного искусственного интеллекта» (artificial superintelligence, ASI), способного самостоятельно модифицировать себя. Важно понимать, должен ли этот ИИ работать как человеческий разум, или хотя бы его платформа быть сконструированной аналогично мозгу?

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

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

Проекты Blue Brain Project и Human Brain Project, финансируемые Европейским Союзом, правительством Швейцарии и IBM, ставят задачу построить полноценную компьютерную модель функционирования человеческого мозга с помощью биологически реалистичного моделирования нейронов. Human Brain Project направлен на достижение функционального моделирования человеческого мозга к 2016 году.

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

Представьте себе такой ИИ внутри человекоподобного робота, который выглядит и ведет себя как человек, но гораздо быстрее обучается и может выполнять практически любые задачи лучше, чем Homo Sapiens. Эти роботы могли бы обладать самосознанием и/или чувствами, в зависимости от того, как бы мы решили их запрограммировать. Роботам-рабочим это все ни к чему, но что насчет «социальных» роботов, живущих с нами, заботящихся о детях, больных и пожилых? Разумеется, было бы здорово, если бы они могли полноценно общаться с нами; если бы они обладали сознанием и эмоциями как мы? Немного напоминает AI в фильме Спайка Джонса «Она» (Her).

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

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

Футуролог Рэй Курцвейл считает, что сингулярность наступит в районе 2045 года. Среди критиков Курцвейла — соучредитель Microsoft Пол Аллен, который считает, что до сингулярности еще далеко. Аллен считает, что для постройки такого компьютера сначала необходимо досконально разобраться в принципах работы человеческого мозга, и чтобы эти исследования по какой-то причине резко ускорились, как цифровые технологии в 70-90 годах, или медицина чуть раньше. Но в реальности, наоборот, исследования работы мозга требуют все больше усилий и приносят все меньше реальных результатов — он называет эту проблему «торможением из-за сложности».

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

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

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

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

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

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

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

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

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

habr.com


Смотрите также



© 2010- GutenBlog.ru Карта сайта, XML.