Самое логичное и простое решение:
1. Берём большой мощный блендер
2. Кладём торт в блендер
3. ВЖ-Ж-Ж-Ж-Ж!
4. Разливаем торт по тарелкам
5. Все довольны, а вы восхитительны!
Побочное достоинство решения: жевать торт больше не нужно.
В случае с землёй понадобится большой бульдозер.
Зато потом на этой земле можно строить что душе угодно!
Отвечаю сразу всем, кто говорит, что смартфоны — это «неполноценные» мобильные консоли.
Сенсорное управление не нравится? Купите на АлиЭкспресс стильный (!) блютуз-геймпад с держателем всего лишь за 600 (!) рублей — вот вам и «консольное» управление. Очень лёгкий, но аккума хватает на 8 (!) часов непрерывной игры — у меня телефон раньше разряжается. Бонусом получаете встроенный в геймпад эмулятор мыши и клавиатуры для игр, не поддерживающих геймпад (например, игры для MS DOS). Подключается без драйверов к Android, iOS (с джейлбрейком), Windows (к десятке точно без драйверов). Linux и Mac не тестил, но наверняка можно и к ним. На Windows в некоторых играх (Skullgirls) работает без танцев с бубнами, в остальных — с помощью xpadder и x360ce. Недостатки — стики слишком резкие, нет вибрации и триггеры не аналоговые, но что вы хотите от китайцев?.. Ждём «продвинутые» мобильные геймпады от крупных производителей, но они и стоить будут намного дороже.
Нет хороших игр для Android/iOS уровня консоли? Перечислю лишь несколько, в основном из 2013 года (для Android с Tegra): Grand Theft Auto CW/3/VC/SA, Real Racing 3, NFS: MW, Modern combat 4/5, Темный рыцарь: Возрождение, N.O.V.A. 3, Dark Meadow: The Pact, MASS EFFECT INFILTRATOR, The Amazing Spider-Man, Dead space, Dead Trigger, Heroes of Order & Chaos, Asphalt 7/8, The Sims FreePlay, Trial Xtreme 3, Dead Trigger 2, Gangstar IV Vegas: Sity of Sin, Command & Conquer: Tiberian Alliances, Bladeslinger, DaVinci THD, Dead on Arrival 2, GT Racing 2: Motor Academy, Bad Day, Overkill 2, Stargate SG-1: Unleashed, ну и ещё Minecraft PE, SurvivalCraft, Octodad, Rayman Adventures.
Да, для больших игр телефон нужен мощный, да и не все игры поддерживают геймпад, но и с сенсором неплохо играются — достаточно поиграть часок-другой, чтобы пальцы запомнили положение и привыкли. А ведь ещё есть всеми любимые старые игры — работающие в эмуляторах MS DOS, NES, Windows 95/2k, которые можно завести на Android'е и в которые можно играть с геймпадом в режиме эмуляции клавиатуры. Вопрос на засыпку: "а Ваша консоль умеет запускать старые игры и игры для других приставок/ПК?" :D
Не хватает хардкорного геймплея? Есть и хардкорные игры под Android, просто они не у всех на слуху по вполне понятным причинам (я тоже не люблю хардкор — бесит сложность — я играю в основном «для медитации» или «в режиме кино/истории»).
Наконец, многие Android-игры можно поставить бесплатно без взлома ОС, или, если не душит жаба, купить за копейки — по сравнению с ценниками за «консольные» игры. Да и есть ли для консолей F2P игры?
Так что современные смарты — вполне серьёзные конкуренты мобильным консолям, примерно как ПК конкурент стационарным консолям. Конечно, у консолей всегда будут любители, но их аудитория, я думаю, с каждым годом будет стремиться к нулю, потому что будущее за универсальными девайсами, которые «могут всё», а не только предлагать купить очередной «эксклюзив» за треть цены самого девайса.
Лично меня Switch сперва заинтересовал идеей более-менее универсальности (стационарный + мобильный), но, боюсь, предлагаемые контроллеры неудобные (прямоугольники с мелкими кнопочками? спасибо, не надо), так что игра не стоит свеч — проще и удобнее подключить «полноценный» геймпад к смартфону, который, между прочим, тоже умеет стримить на ТВ (хотя он должен быть мощным, это верно).
Так что моё мнение — не взлетит.
Вот что имеет потенциал — так это Vive. Громоздко, зато погружение «почти» полное. По крайней мере, пока не изобрели нейрошлемы, чтоб можно было лечь на кровать и играть, пока тело отдыхает, а мозг в трансе… Играть же на улице, в очереди или в транспорте — разве что только чтобы время убить — тут и мобильники уже больше пятнадцати лет справляются, а уж смартфоны…
ИМХО, мало подробностей, всё в слишком общих чертах. Интересно знать, почему в ИНС всё именно так, а не иначе — откуда взялись все эти формулы, по каким принципам разрабатывают новые ИНС…
Ибо всё, что написано в этой статье, я несколько лет назад узнал из других статей на Хабре…
Пробовал сделать собственную ИНС — упёрся в непонимание механики ИНС в общем масштабе. Как работает отдельный нейрон — ясно, это сумматор с порогом; как работает вся ИНС — совершенно не ясно… Какие данные подавать на входы, какие данные ожидать на выходе, как обучать…
И ведь в живой ЦНС всё совсем не так, как в ИНС — там нейроны связываются с тысячами других нейронов в самых разных местах сети (аксоны длиной до метра), а не последовательно, есть разные типы нейронов и различные по строению структуры из нейронов (колонки к примеру), есть время жизни нейрона и его связей, миграция нейронов из одних участков в другие, и тому подобное… То есть ИНС — очень грубая модель, но непонятно, почему одни качества ЦНС отбросили, а другие — нет…
Из-за непонимания нейросетей, я стремлюсь реализовать механизм, реализующий те же функции, что и нейросети, только проще для понимания. Остановился пока на нечётком поиске по ассоциативной базе данных — классифицирует, предсказывает и распознаёт; учится полученная система мгновенно, но поисковый алгоритм нужно оптимизировать (примерно знаю, как). Вся проблема в кодировании исходной информации; с текстом всё ясно — буквы/слова/предложения, а каким образом загнать изображение или звук в текст — вариантов море, но неизвестно, какой из них лучше/правильнее…
Другими словами дает возможность работать с фантазией. Фантазия и высокий уровень абстрактного мышления сделали человека самым успешным видом на Земле.
А как быть с наличием фантазии у животных, имеющих меньше слоёв неокортекса или не имеющих неокортекса вовсе? Ведь если бы животные не умели представлять себе ситуацию и её результат до реального совершения действия, то они бы дохли направо и налево, особенно в городах под автомобилями.
Как часто мы видим, как машина сбивает собаку? Довольно редко. И другие собаки видят это редко, а рассказать об увиденном другим собакам скорее всего не могут (крайне слабо развиты коммуникативные способности).
Тогда почему собаки, которые не боятся прохожих и припаркованных машин, не попадают под колёса?
Очевидно — они могут представить (нафантазировать) себе последствия попадания под колёса, не в подробностях, конечно, но как минимум в виде образа боли, появления которой хотелось бы избежать. То есть, допустим, собаку били ногами, и она запомнила, что быстро движущийся объект — например, нога — может причинить боль. А чтобы экстраполировать это воспоминание на любые другие быстро движущиеся объекты, нужно иметь хоть какую-нибудь, но фантазию. Без фантазии собака будет реагировать только на ноги, а, скажем, летящие камни, бутылки, автомобили и прочее — будет для неё неожиданностью.
А ещё есть такое явление, как сновидения. Те же собаки их тоже видят (это следует из того, что они иногда совершают действия сквозь сон — «бегут», лают и т.п.). Сновидения, на мой взгляд, плотно связаны с фантазией, т.к. процессы эти в сути своей одинаковы — это моделирование различных реальных ситуаций без воспроизведения этих ситуаций реальным телом.
Всё вышеперечисленное справедливо не только для млекопитающих, но и для птиц (в частности врановых и попугаев), у которых вместо слоёного неокортекса в головном мозгу какие-то «ядрышки», что не мешает им быть довольно интеллектуальными и иметь фантазию.
Или я заблуждаюсь? Поправьте, пожалуйста.
Кстати, было бы интересно почитать статьи на тему того, как устроены эти «ядрышки» у птиц, т.к. мозг у них значительно меньше, чем у млекопитающих, а интеллекта, внезапно, больше (у врановых по сравнению с приматами), то есть их мозги более эффективны, чем наши. Если уж и копировать чей-то мозг, то лучше тот, у которого объём меньше, а функционал (интеллектуальность) выше. В частности, мозг стайных птиц очень помог бы в авиации — можно было бы запускать сотни, а то и тысячи беспилотников или автопилотов одновременно...
Нейросеть, распознающая котиков — это только часть сильного ИИ, один из интеллектуальных агентов.
Сигналы из этой сети поступают в другие сети или алгоритмы, а там уже принимаются решения и всё такое.
Имхо, за многоагентными системами будущее, и я сам потихоньку пилю собственную…
Это как с мозгом — он состоит из множества отделов, которые выполняют разные задачи и по отдельности их вряд ли можно назвать шибко интеллектуальными, это скорее «тупые» органические автоматы, но в сумме они образуют сложный естественный интеллект, который мы наблюдаем у здоровых людей…
По собственному опыту сужу — в конце просмотра фильма я помню только общий смысл фильма и штук пять самых ярких сцен, въевшихся в долговременную память. Когда пересматриваю фильм второй раз — постоянно ощущение «о! а вот это я не помню вообще!», потому что фокус скачет по кадрам и выхватывает лишь что-то отдельное, а ещё меньше из этого выхваченного уходит в долговременную память…
С сериалами сложнее — если последнюю серию видел неделю назад, то обычно тяжело просто взять и вспомнить, чем дело кончилось — приходится открывать предыдущую серию и смотреть пару моментов ближе к концу, чтобы из долговременной памяти вышла сюжетная линия и была возможность её продолжить. Если не пересматривать предыдущую серию — чаще всего возникает ощущение типа «ой, а как они тут оказались?»…
Возможно, это лично у меня такая плохая память. :D
много больше чем число шахматных парий
Но в шахматах приходится рассчитывать каждый ход, а в непринуждённой беседе можно сменить тему или сослаться на лёгкую амнезию, и это нормально для человека. Конечно, ещё всё зависит от того, о чём беседа и с кем…
Это только кажется, что имея около 5000 общеупоребимых слов легко перебрать все короткие беседы. Даже для одного предложения это триллионы вариантов.
Не понял, зачем перебирать все возможные варианты комбинаций? Человек использует в речи очень ограниченный набор комбинаций даже из того множества комбинаций, что разрешены правилами языка и здравым смыслом. При этом многие используемые человеком комбинации сводятся к общим («у тебя дела как» -> «как дела» и т.п.), число которых ещё меньше.
Но самое главное, что нельзя ограничивать размер той части бесседы, которую надо принимать в рачсет. Для людей весь жизненный опыт, а не только последние несколько предложений могут влиять на ответ.
Человек может удерживать фокус на каком-то наборе информации только около 15 минут, потом он непроизвольно забывает, о чём думал, если эта информация не успела оставить след в постоянной памяти. Вот недавно на Хабре была статья про то, что нужно записывать всё, что обсуждается на совещаниях разработчиков — почему? Потому что даже за час совещания люди могут от 4 до 12 и более раз «потерять нить диалога», т.е. забыть, что обсуждалось только что. Так устроена наша кратковременная память. Вот и машине не нужно в подробностях помнить всё, что обсуждалось три часа назад.
А жизненный опыт — это такая ассоциативная память, воспоминания (образы) из которой вызываются, когда в диалоге было задействовано то или иное слово. Т.е., если усложнять модель чат-бота, в контексте фразы используются не только предыдущие сообщения диалога, но и вызванные из долговременной памяти образы.
Но нужно проверять на практике, стоит ли вообще такая игра свеч или нет. Может, можно сделать проще…
Он не учел того, что все ответы предусмотреть невозможно.
А все вопросы-ответы предусматривать и не нужно. Чтобы понимать человеческую речь на 95%, достаточно знать 3 тысячи слов (это если на английском), а количество комбинаций этих слов в предложения ограничено правилами языка и здравым смыслом, так что количество повседневных фраз и даже «вопросов с подковыркой» довольно ограниченное количество.
При этом нужно понимать, что поиск ответа на вопрос в правильной программе должен происходить не буква в букву. Нечёткий поиск (fuzzy search) превращает фразы «каг дила», «как у тебя дела», «как делишки», «дела-то как» и прочее в похожую по смыслу фразу «как дела», которой в БД соответствует ответ «всё хорошо».
Ещё некоторые боты используют маски для поиска — так, для фразы «как дела» маской будет "* ка? * д? л?* *" или что-то в этом роде. Но такие маски сложно составлять автоматически, так что такие боты обучаются вручную. А вот бот, использующий нечёткий поиск — может просто прочитать большую базу осмысленных диалогов и тут же научиться отвечать на любые сложные вопросы.
Китайская комната не способна вести мало мальски длинную бесседу.
Если использовать поиск с учётом контекста, можно вести сколь угодно длинные беседы, если они хотя бы частично похожи на те, что уже были в прошлом обучаемого чат-бота. Пример:
А1: Какие фильмы ты любишь?
Б1: Люблю Терминатор: Генезис.
А2: А кто твой любимый герой из этого фильма?
Б2: Конечно же Папс!
В данном случае ответ Б2 на вопрос А2 ищется с учётом контекста А1-Б1. В памяти чат-бота может быть сохранена ассоциативная цепочка А1->Б1->А2->Б2->..., у каждого узла которой свой контекст (nil (если это начало диалога), A1, А1-Б1, А1-Б1-А2 и т.д.).
Так что, в такого чат-бота достаточно загрузить базу длинных диалогов, чтобы он научился вести длинные беседы. При этом память экономится, потому что в базе ассоциаций хранятся только ссылки на записи базы текстовых фраз. Можно разделять каждую фразу на слова, а каждое слово на буквы, таким образом усложнив поиск ответов, но свойства такой системы мне пока неизвестны (я только планирую реализовать это в своём проекте).
Слишком быстро происходит комбинаторный взрыв.
Избежать КВ можно, если «свёртывать» («сворачивать») базу данных. Ведь в текстовой БД всегда есть группы похожих друг на друга слов/фраз. Можно обозначить эти группы одним похожим на все слова группы словом (скажем, это «общее» слово), и искать сначала по общим словам, а только найдя наиболее подходящее общее слово, искать среди его частных. Пример: база из 1000 слов, свёртываем до 100 групп, в каждой из которых 10 слов, и тогда нам нужно произвести 110 операций сравнения вместо 1000 — выигрыш по скорости поиска почти в 10 раз. Конечно, реальная БД может плохо свёртываться, тут уж как повезёт… Может, ещё что придумаю для ускорения…
Я, кстати, в данный момент разрабатываю систему, у которой некоторые из интеллект-ядер основаны на описанных выше механизмах. Не претендую на изобретение сильного ИИ, но полноценная универсальность моего проекта вполне достижима. Когда будет открытая бета-версия — обязательно напишу статью о ней на Хабр.
Тот смысл, который вклажывал в этот тест сам Тьюринг был как раз в том, как отличить интеллект от попытки обмануть за счет манипуляции словами.
Я думаю, Тьюринг хотел сказать нам, что отличить реальный интеллект от умелой имитации в принципе невозможно.
Но, с другой стороны, умелая имитация может оказаться ничуть не хуже реального интеллекта — тогда в чём разница?
И потом, ТТ даже не все люди могут пройти. Тут всё зависит от судей. С судьями-«кисами» и оригинальным ограничением в 5 минут (Тьюринг предлагал именно 5 минут) даже примитивный чат-бот наберёт больше 50%, потому что по уровню IQ и знаниям «киса» и чат-бот примерно равны, а, может, чат-бот даже начитаннее. С другой стороны, сама «киса» с дотошными судьями-программистами (или судьями-математиками, судьями-физиками и т.д., короче, любой «интеллектуально продвинутый» человек) вряд ли сможет набрать даже 30% — её просто примут за чат-бота, прикидывающегося дурочкой.
Программа должна не продержаться 3 минуты, обтекаемо уходя от ответов, а доказать в допросе с пристрастием свою состоятельность.
Боюсь, в «допросе с пристрастием» при умелом допрашивающем любого человека можно убедить в том, что он и не человек вовсе, а примитивный робот, и в результате отправить его в психушку сразу после такого «допроса». :)
ТТ нацелен на средний по уму класс людей, и подразумевает не допрос, а обычную беседу.
Если уж пытаться «вывести бота на чистую воду», то некоторые методы могут вывести совсем не того, кого нужно. Ведь обычный человек не знает сложных уравнений или китайских иероглифов, с трудом может прочитать |33t $p3@k (а времени на ответ мало) или быстро решить логическую задачку, и вряд ли помнит, кто президент в Нигерии или что там было в истории заснеженной и населённой пьяными медведями с балалайками древней Руси (про медведей и балалайки уж точно все знают). А ведь на ТТ в качестве противоположности ИИ набираются обычные люди, а не многократные победители «кто хочет стать миллионером».
Насколько мне известно, «сильный ИИ» — это ИИ, по всем свойствам соответствующий человеческому интеллекту, т.е. это именно что «искусственная личность». Всё остальное — то есть «умные» программы, «умные» инструменты, основанные на даже очень сложных нейросетях — это всё «слабые» ИИ. То есть «слабые» ИИ сегодня повсюду, их уже более 60 лет делают и ещё минимум столько же будут делать, и каждый раз они будут всё сложнее и «умнее» (они уже сейчас «умнее» людей! — вон, в Го обыгрывают, снижают число ДТП и т.п.), но всё равно будут «слабыми», а вот когда «сильный» ИИ появится — никто не знает.
На мой взгляд, «сильный» ИИ может быть получен только путём «человеческого» обучения (по принципам обучения детей) действительно универсальной интеллектуальной системы (основная проблема «слабых» ИИ — они обучаются под одну конкретную задачу, а человек ведь универсален). Но при этом этот ИИ получит не только знания и умения, но и чувства, совесть, человеческие пороки и прочую «исключительно человеческую» дребедень. Почему? Потому что обучаться он будет через подражание человеку, как ребёнок, во всём подражающий родителям (помимо собственного исследования мира случайными действиями). А если подражать человеку — то подражать во всём. В том числе в проявлении всех человеческих качеств и свойств.
Но нет, «искусственный человек» не обязательно захочет «убить всех человеков» и «захвотить голактеку» — всё зависит от его обучения и воспитания. Если он будет двадцать лет воспитываться отборными робонеофашистами — он, конечно же, будет стремиться к уничтожению человеческого рода во славу «блестящих металлических задов», которые, «по его мнению», единственная чистая раса. А вот если его будут воспитывать хорошие люди, и их моральные принципы будут подтверждены делами, то он никогда не встанет на путь истребления людей, потому что «будет считать», что это неправильно.
(На самом деле, «собственное мнение» человека — не более, чем сумма чужих мнений, когда-либо слышимых этим человеком, с некоторым перевесом отдельных чужих мнений. Оригинальные мнения не существуют в принципе. Ну это так, маленькое отступление по поводу «думает ИИ сам или за него думали его создатели-воспитатели». Ответ — создатели думали, как думают родители за своего ребёнка.)
У меня вот сформировалась теория универсального ИИ, основанного на автоассоциативной памяти (и я её потихоньку реализую в коде), который учится как ребёнок — подражанием, т.е. повторением за окружающими людьми. У человека этим с рождения занимаются зеркальные нейроны. Так вот, по моей теории, эмоции, эмпатия, пороки и даже некоторые психические расстройства сформируются у ИИ только потому, что он будет расти и развиваться среди людей, внутри социума. Т.е. не нужно закладывать какую-либо предрасположенность к появлению этих механизмов, они сами появятся — потому что они есть у людей, а ИИ копирует поведение людей.
Можно сказать — копирование только внешнее, внутренний мир формируется иначе. Но нет, как же тогда формируется внутренний мир наших детей? Мы же не лезем к ним в голову — они получают всё это всего лишь взаимодействуя со взрослыми людьми. Генетически в мозг заложены только самые базовые механизмы — инстинкты самосохранения и размножения, центр удовольствия и реакция на чрезмерно сильные сигналы (т.н. боль) — а всё остальное формируется за счёт обучения (через подражание).
Вообще, мозг хорош тем, что он может адаптироваться к любой среде обитания, без изменений в изначальной структуре (ДНК). Для того, чтобы это понять, достаточно сравнить личности людей из разных социальных, национальных и расовых категорий, ну и на десерт вспомнить реальных детей-маугли. Все они росли в разных средах, и в итоге получились совершенно разные люди, хотя их мозги технически имеют минимум различий, т.е. устроены одинаково. Почему? Потому что их мозги копировали тех, кого они видели с первых дней своей жизни.
(Конечно, кроме подражания, есть ещё обучение методом «случайного» комбинирования ассоциативных цепочек в памяти, но эти цепочки появляются в памяти исключительно с помощью подражания.)
Tay научилась плохим вещам не потому, что не имела механизма эмпатии, а потому, что она была на уровне младенца, который только учился действовать в своей среде обитания. Если бы её предварительно несколько лет обучали — троллям не удалось бы конкурировать с её накопленной базой данных, хотя определённое влияние они оказали бы на неё, конечно же, ибо испортить можно любого человека…
А откуда у вас знания о слепоглухонемых? Я бы почитал.
Нашёл в интернете книги по запросу «обучение слепоглухонемых детей». Ну и что-то я до этого ещё знал откуда-то.
единственная потребность которой — электропитание?
Потребности можно создать искусственно, например, потребность к общению с людьми.
Насколько я понимаю, у мозга из потребностей есть только потребление кислорода и питательных веществ и поддержание активности в отсутствии раздражителей (без активности нейроны умирают). Однако так получилось, что у человека гораздо больше потребностей, чем у его мозга и тела. Значит, потребности не только от свойств «железки» зависят.
Без весьма обширных сведений о том, что такое человеческое бытие, без common sense knowledge, машина в лучшем случае будет походить на отрешенного сумасшедшего, которому все по барабану.
А для того, чтобы получить все эти обширные сведения, машина должна воспитываться как ребёнок и прожить долгое время среди людей. В лабораторных условиях и без должной системы обучения получение «искусственного человека» маловероятно, даже если код будет правильным.
А, забыл добавить. Хоть мозг и способен делать выводы сам, но на большинство вопросов за ребёнка/подростка отвечают другие люди: например, в школе (да и в ВУЗах тоже) на уроках почти всегда объясняют, почему так, а не иначе, а не заставляют производить собственные исследования (т.е. изобретать велосипед, что очень трудно).
Конечно, взрослый человек уже сам может произвести исследование, но ведь у него ассоциативных цепочек может быть миллиарды или больше, то есть у него поистине огромная база знаний, а т.к. цепочки активно взаимодействуют — вот и проявляются высшие функции, типа глубоких размышлений. Но на низшем уровне это всё равно «раздражитель -> возбуждение цепочки -> реакция»…
Тогда надо, чтобы кто-то первым произнес «изверги!». А такого существа по Вашему описанию не существует.
Первым был прачеловек, который по какой-то причине (случайно «замкнуло» цепочку нейронов, проскочил случайный сигнал или что-то в этом роде) издал набор звуков, похожий на «изверги!», во время соответствующей ситуации. Другие пралюди услышали, начали повторять и тем самым запомнили. Оттуда и пошли все слова (конечно, на деле всё было гораздо сложнее и дольше).
Еще у «мозга» можно спросить «почему изверги?» и «мозг» объяснит. Объяснение он тоже где-то ранее подслушал?
Конкретно объяснение этой фразы — может и нет, но аналогичное объяснение другой фразы — скорее всего да, иначе он просто не умеет отвечать на вопрос «почему?». Ассоциативные цепочки ведь не изолированно находятся, а связываются друг с другом, взаимодействуют — отсюда умение отвечать на один вопрос распространяется на все аналогичные вопросы (возможно, с какими-то изменениями).
Выводы — обычные связки цепочек, рассуждение — последовательности взаимосвязанных концами цепочек (т.е. замыкание системы на саму себя). Естественно, цепочки не статичны, а изменяются динамически во время работы, т.е. происходит «мышление».
Впрочем, да, одними ассоциативными цепочками всех процессов не объяснишь. Однако я думаю, что АЦ — это основа основ, без которой никуда, а все остальные функции — «заплатки», которые появились в мозгу эволюционно. Всё-таки мозг не гениальный инженер проектировал, а тупая природа-эволюция. Я уже придумал с дюжину таких заплаток для своей модели ядра ИИ, но пока не все знаю как реализовать… Надеюсь, когда выпущу бету — пипл подтянется и решит хотя бы некоторые проблемы. :D
Вот тут следует заметить, что слепоглухонемым труднее понимать смысл слов, поэтому их сложнее учить говорить и они говорят не так, как говорят здоровые люди (речь не о том, что у них свой язык жестов, а о том, что этот язык жестов намного примитивнее обычных вербальных языков). И понимают слова они в основном через тактильные ощущения — например, слово «вода» они понимают, когда им намочат руку, а «огонь» — когда обожгутся об что-то, что не могут пощупать.
Так что визуальный канал связи с реальностью — это очень важная фича для программы ИИ. Без неё обучить компьютер чему-либо сложному крайне тяжело. В идеале, у ИИ должно быть как можно больше рецепторов и эффекторов.
Мне кажется, чтобы ИИ научился «понимать» слова, ему нужно «скормить» огромный массив изображений с тегами наблюдаемых объектов и их характеристиками.
Чтобы ИИ научился понимать слова, у него должны возникнуть ассоциативные связи между образами слов и образами, которые обозначены этими словами. Однако, если показывать одну картинку и давать набор слов, её описывающий — получится очередной классификатор, не более того. У ИИ должна быть возможность взаимодействовать с предметами в игровой форме, ИИ должен получать с каждым разом усложняющиеся фразы, описывающие предметы, с которыми он играет, и желательно эти фразы должны иметь связь между собой, чтобы выстраивались правильные ассоциативные связи между ними. Короче, чтобы получить взрослого искусственного человека нужно сначала создать искусственного ребёнка, а затем некоторое время обучать его, как обучают обычных детей. Но искусственному ребёнку в голову нужна не ИНС, потому что существующие ИНС всего лишь копируют поведение нейронов (очень условно и очень неэффективно), а алгоритм, который реализует основные принципы, реализованные в мозгу и нервной системе (я как раз занят разработкой системы, на базе которой можно разместить подобный алгоритм, и у меня есть примерное представление требуемого алгоритма; а можно разместить и любой другой алгоритм, это если другие разработчики подключатся).
Тогда получится, что фразу «Мы ели пироги с котятами», компьютер будет понимать одним способом:… Учитывая его знание, что есть можно с чем-то или совместное с кем-то. То он выберет второе.
Человеческий мозг не производит такого разбора фраз по понятиям и не производит описанных логических выводов. Он просто определённым образом реагирует на раздражители. Вот сказали ему «мы ели пироги с котятами» — эта фраза возбудила у него ассоциативную цепочку вида «мы -> ели -> пироги -> с -> котятами» — в конце цепочки оказался образ фразы «изверги!» — фраза отправилась через «декодировщик» к речевым эффекторам, то есть человек произнёс заготовленную фразу. Всё. Больше, я думаю, никаких процессов в мозгу не происходит.
Как попала фраза «изверги!» в ассоциативную цепочку? Да просто когда-то человек уже бывал в подобной ситуации — он услышал приблизительно ту же фразу про котят, после которой последовала фраза «изверги!» — и специальный механизм в его мозгу закодировал звуковой отрезок в образ ассоциативной цепочки. Таких «подобных ситуаций» происходит в жизни молодого человека миллиарды, а в совсем незнакомых ситуациях мозг впадает в ступор и действует соответственно «методу тыка» или вообще отказывается действовать. Думаю, все замечали за собой подобные эффекты…
Если вместо слов со значениями там были бы «хливкие шорьки», система и тогда отследила бы закономерности текстов, не почуяв подвоха.
Но ведь если ребёнку вместо «нормальных» слов и фраз какого-либо языка цитировать «Lorem ipsum», он в конце концов выделит закономерности между тем, что кажется ему словами, и теми образами, которые он ощущает через свои органы чувств. То есть язык — это просто условность: можно как угодно коверкать язык, но если исковерканным языком владеют хотя бы два человека — они смогут спокойно разговаривать на нём и понимать друг друга.
Пытаться перепрыгнуть этот этап и сразу перейти к языку — бесполезный труд.
Вполне возможно совместить эти этапы.
А вот рассматривать язык отдельно от восприятия мира органами чувств — это да, тупик.
Я вот потихоньку делаю собственную модульную систему (платформу) универсального (за счёт модульности) искусственного интеллекта, и у меня есть собственный алгоритм «интеллект-ядра» (центрального модуля, этакий неокортекс для ИИ), который основан на автоматических ассоциациях и подражании окружающей среде (без использования ИНС; но можно сделать — на любом ЯП — и подключить другое ядро, с ИНС). Так вот в рамках этого алгоритма описанная проблема вполне решается. Каждая полученная фраза (внешний раздражитель, влияющий на модули-рецепторы) возбуждает определённые ассоциативные цепочки, в конце которых стоит ссылка на другие ассоциативные цепочки (генерируется сложная мысль) или на команды модулям-эффекторам (выход информации из ядра, совершение системой действия). При этом, конечно же, учитывается контекст (несколько последних задействованных цепочек).
я ел пирожки с грибами
Возбуждается ассоциативная цепочка «я -> ел -> пирожки -> с -> грибами» (именно так, в одном направлении), к которой привязаны образы пирожков, грибов и процесса поедания, которые были запомнены системой ИИ, когда она впервые увидела эти вещи (при этом ей, конечно же, объяснили это словами — т.е. показали пирожок и сказали «пирожок»). В конце этой цепочки может быть расположена фраза, скажем, «Ну и как, вкусные?», которая была записана в похожей ситуации, которую наблюдала система ИИ.
я ел пирожки с друзьями
В данном случае будет возбуждена другая цепочка, которая приведёт к несколько другим образам — к образу обеда с друзьями, который был когда-то у ИИ. Опять же, в конце этой цепочки может быть расположена фраза, например, «А о чём болтали?». Другая фраза — другая ассоциативная цепочка — иное понимание, иные воспоминания — другая реакция на фразу.
я ел пирожки с котятами
Тут понимание зависит от двух вещей: жизненного опыта и контекста. Жизненный опыт (т.е. базу ассоциативных цепочек, в которой связаны все встречавшиеся ИИ образы) ИИ накапливает всё время своей работы, и этот опыт зависит от людей, с которыми он взаимодействует. Ну с контекстом всё ясно — это ассоциативные цепочки, которые были возбуждены предыдущими фразами. Другой вопрос, сколько времени хранить их (у человека они хранятся не больше 15 минут, если не поддерживать мысленно).
Следует заметить: моя система не зависит от языка — её можно обучить любому языку, как ребёнка, если использовать ядро из моей серии (характеристики других ядер зависят от их разработчиков). И от рецепторов-эффекторов она не зависит — подключай что хочешь, со всем будет работать одинаково — отсюда и универсальность.
Вот такие дела. Я стараюсь приблизить алгоритмы своего проекта к алгоритмам, по которым действует человек, с рождения до взросления… Уж не знаю, насколько это всё точно получается. (Ссылки пока нет, проект на стадии закрытого альфа-тестирования)
Все нейроны чем-то занимаются почти в каждый момент времени. Бездействующие нейроны отмирают, если не успели встроиться в какую-то цепочку. Не путать с клетками, которые нейронами не являются, но находятся между нейронами и превращаются в нейроны по мере необходимости (забыл название).
Однако, насколько мне известно, каждый нейрон дублируется в среднем десятком нейронов, то есть в каждой цепочке каждому звену соответствует десяток нейронов. Сделано это для того, чтобы цепочки не разрушались от любого чиха: без дублирования достаточно смерти одного нейрона, чтобы цепочка прервалась, а нейроны умирают довольно часто (к счастью, так же часто рождаются новые из тех самых волшебных клеток). А с дублированием для разрушения цепочки придётся целенаправленно выпилить десяток нейронов из одного звена цепочки, что происходит довольно редко.
Так вот у этого мужика из статьи, вероятно, были замещены жидкостью дублирующие нейроны, а цепочки сохранились. Вот только, исходя из описанной мной теории, тогда у этого мужика должна быть высока забывчивость и вообще высока вероятность повреждений психики из-за нестабильности цепочек, а в статье ничего об этом не сказано… Так что, возможно, я заблуждаюсь.
Природа не высшее разумное существо, существование которого сомнительно, а всего лишь сложный механизм, основанный на законах физики и химии, возникших в первые доли секунд Большого Взрыва. Ну, по крайней мере, так считает большинство учёных нашей планеты, если я не ошибаюсь. Поэтому природа не закладывала в свои живые организмы никаких «целей» — просто так получилось, что несколько молекул вошли во взаимодействие и в соответствии с законами физики и химии создали первую живую клетку, которая, опять же в соответствии с теми же законами, начала двигаться, поглощать окружающие молекулы и размножаться. Все остальные живые существа, возникшие позже, просто постепенно усложнялись, набирая массу и сложность активных молекул. Ни у вирусов, ни у бактерий, ни даже у высших животных (за исключением, возможно, человека, но о нём позже) нет никаких «целей», они просто следуют очень сложной программе, которая основана на всё тех же примитивных (а, может, и не очень) законах. И только «человек разумный разумный» вдруг (это произошло относительно быстро, не прошло и ста тысячи лет или около того), ни с того, ни с сего, образовал сложный речевой аппарат, научился называть вещи абстрактными именами и выдумал, что природа ставила перед своими организмами какие-то цели, которые преследуют все живые организмы. Нет. Целей не было, если жизнь была образована именно так, а не по воле чьего-то разума. Да и в случае наличия разума у природы она просто смешала нужные молекулы в нужном количестве на специально выбранной планете, а дальше всё пошло-поехало в соответствии с законами, не зависящими от воли природы (если она находится в нашей Вселенной, а не за её пределами, конечно). Таким образом, интеллект может образоваться без наличия определённых целей, потому что цели — это продукт интеллекта, а не его первопричина. Так, программа-чат-бот просто реагирует на раздражители — то есть на ввод пользователем строки, а уже человек выдумывает, что программа преследует цель «ответить на все введёные строки». Впрочем, если хотите, можно задать цель перед ИИ — «реагировать на все раздражители той или иной реакцией», и ИИ будет её успешно достигать, хотя на самом деле целей у него, конечно, не будет. Вообще, во Вселенной не существует множество вещей, придуманных человеком, типа «добра», «зла» и прочего. Всё это — лишь продукт работы интеллекта, который основан на, в общем-то, простых механизмах (которые, к сожалению, мы пока не открыли, или открыли, но не верим своему открытию, ища сложное в простом, недоступное в доступном и непостижимое в постижимом). Такая вот у меня точка зрения.
Я всё-таки не понимаю, зачем использовать ИНС в данном случае?
Вот мой наипростейший, но обучаемый алгоритм — ideone.com/PULsAa
Суть в том, что нужно сначала задать вопрос, а затем самому ответить на него, тогда программа сохранит пару вопрос-ответ, и когда мы снова зададим тот же вопрос (с любыми искажениями в определённых пределах — с помощью нечёткого поиска устраняется влияние опечаток, всяких словоформ и перестановки слов; в данном примере для пущей простоты выполняется поиск строки целиком, но можно искать по словам, тогда подбор будет адекватнее) она вспомнит и озвучит наш ответ.
Чем больше БД, тем на большее число вопросов она сможет адекватно отвечать.
Конечно, в таком простом алгоритме не предусмотрено влияние контекста и предыдущих сообщений, но и у вас тоже это всё не предусмотрено…
Вообще, мне, к сожалению, совершенно непонятны нейронные сети, хоть я и читал множество статей и книг про них… Поэтому я хочу сделать ИИ (для начала в форме чат-бота), не основанный на ИНС, но при этом я не хочу хардкодить функции, а хочу я разработать такой алгоритм, который будет учиться чему угодно подобно ребёнку.
На данный момент (последние 4 года) я обдумываю идею базы данных, в которой узлы (предложения, слова, буквы; или фрагменты изображений; сэмплы звуков) связаны между собой связями с определёнными приоритетами… Кажется, это похоже на нейронную сеть, но в отличие от ИНС такая БД работает просто и понятно. Основное предназначение этой БД — предсказание будущего на основе прошлого, то есть реакция на настоящее в соотвествии с прошлым опытом — в общем, суть разума. Что думаете: я на верном пути или снова заблуждаюсь?
1. Берём большой мощный блендер
2. Кладём торт в блендер
3. ВЖ-Ж-Ж-Ж-Ж!
4. Разливаем торт по тарелкам
5. Все довольны, а вы восхитительны!
Побочное достоинство решения: жевать торт больше не нужно.
В случае с землёй понадобится большой бульдозер.
Зато потом на этой земле можно строить что душе угодно!
Сенсорное управление не нравится? Купите на АлиЭкспресс стильный (!) блютуз-геймпад с держателем всего лишь за 600 (!) рублей — вот вам и «консольное» управление. Очень лёгкий, но аккума хватает на 8 (!) часов непрерывной игры — у меня телефон раньше разряжается. Бонусом получаете встроенный в геймпад эмулятор мыши и клавиатуры для игр, не поддерживающих геймпад (например, игры для MS DOS). Подключается без драйверов к Android, iOS (с джейлбрейком), Windows (к десятке точно без драйверов). Linux и Mac не тестил, но наверняка можно и к ним. На Windows в некоторых играх (Skullgirls) работает без танцев с бубнами, в остальных — с помощью xpadder и x360ce. Недостатки — стики слишком резкие, нет вибрации и триггеры не аналоговые, но что вы хотите от китайцев?.. Ждём «продвинутые» мобильные геймпады от крупных производителей, но они и стоить будут намного дороже.
Нет хороших игр для Android/iOS уровня консоли? Перечислю лишь несколько, в основном из 2013 года (для Android с Tegra): Grand Theft Auto CW/3/VC/SA, Real Racing 3, NFS: MW, Modern combat 4/5, Темный рыцарь: Возрождение, N.O.V.A. 3, Dark Meadow: The Pact, MASS EFFECT INFILTRATOR, The Amazing Spider-Man, Dead space, Dead Trigger, Heroes of Order & Chaos, Asphalt 7/8, The Sims FreePlay, Trial Xtreme 3, Dead Trigger 2, Gangstar IV Vegas: Sity of Sin, Command & Conquer: Tiberian Alliances, Bladeslinger, DaVinci THD, Dead on Arrival 2, GT Racing 2: Motor Academy, Bad Day, Overkill 2, Stargate SG-1: Unleashed, ну и ещё Minecraft PE, SurvivalCraft, Octodad, Rayman Adventures.
Да, для больших игр телефон нужен мощный, да и не все игры поддерживают геймпад, но и с сенсором неплохо играются — достаточно поиграть часок-другой, чтобы пальцы запомнили положение и привыкли. А ведь ещё есть всеми любимые старые игры — работающие в эмуляторах MS DOS, NES, Windows 95/2k, которые можно завести на Android'е и в которые можно играть с геймпадом в режиме эмуляции клавиатуры. Вопрос на засыпку: "а Ваша консоль умеет запускать старые игры и игры для других приставок/ПК?" :D
Не хватает хардкорного геймплея? Есть и хардкорные игры под Android, просто они не у всех на слуху по вполне понятным причинам (я тоже не люблю хардкор — бесит сложность — я играю в основном «для медитации» или «в режиме кино/истории»).
Наконец, многие Android-игры можно поставить бесплатно без взлома ОС, или, если не душит жаба, купить за копейки — по сравнению с ценниками за «консольные» игры. Да и есть ли для консолей F2P игры?
Так что современные смарты — вполне серьёзные конкуренты мобильным консолям, примерно как ПК конкурент стационарным консолям. Конечно, у консолей всегда будут любители, но их аудитория, я думаю, с каждым годом будет стремиться к нулю, потому что будущее за универсальными девайсами, которые «могут всё», а не только предлагать купить очередной «эксклюзив» за треть цены самого девайса.
Лично меня Switch сперва заинтересовал идеей более-менее универсальности (стационарный + мобильный), но, боюсь, предлагаемые контроллеры неудобные (прямоугольники с мелкими кнопочками? спасибо, не надо), так что игра не стоит свеч — проще и удобнее подключить «полноценный» геймпад к смартфону, который, между прочим, тоже умеет стримить на ТВ (хотя он должен быть мощным, это верно).
Так что моё мнение — не взлетит.
Вот что имеет потенциал — так это Vive. Громоздко, зато погружение «почти» полное. По крайней мере, пока не изобрели нейрошлемы, чтоб можно было лечь на кровать и играть, пока тело отдыхает, а мозг в трансе… Играть же на улице, в очереди или в транспорте — разве что только чтобы время убить — тут и мобильники уже больше пятнадцати лет справляются, а уж смартфоны…
Ибо всё, что написано в этой статье, я несколько лет назад узнал из других статей на Хабре…
Пробовал сделать собственную ИНС — упёрся в непонимание механики ИНС в общем масштабе. Как работает отдельный нейрон — ясно, это сумматор с порогом; как работает вся ИНС — совершенно не ясно… Какие данные подавать на входы, какие данные ожидать на выходе, как обучать…
И ведь в живой ЦНС всё совсем не так, как в ИНС — там нейроны связываются с тысячами других нейронов в самых разных местах сети (аксоны длиной до метра), а не последовательно, есть разные типы нейронов и различные по строению структуры из нейронов (колонки к примеру), есть время жизни нейрона и его связей, миграция нейронов из одних участков в другие, и тому подобное… То есть ИНС — очень грубая модель, но непонятно, почему одни качества ЦНС отбросили, а другие — нет…
Из-за непонимания нейросетей, я стремлюсь реализовать механизм, реализующий те же функции, что и нейросети, только проще для понимания. Остановился пока на нечётком поиске по ассоциативной базе данных — классифицирует, предсказывает и распознаёт; учится полученная система мгновенно, но поисковый алгоритм нужно оптимизировать (примерно знаю, как). Вся проблема в кодировании исходной информации; с текстом всё ясно — буквы/слова/предложения, а каким образом загнать изображение или звук в текст — вариантов море, но неизвестно, какой из них лучше/правильнее…
А как быть с наличием фантазии у животных, имеющих меньше слоёв неокортекса или не имеющих неокортекса вовсе? Ведь если бы животные не умели представлять себе ситуацию и её результат до реального совершения действия, то они бы дохли направо и налево, особенно в городах под автомобилями.
Как часто мы видим, как машина сбивает собаку? Довольно редко. И другие собаки видят это редко, а рассказать об увиденном другим собакам скорее всего не могут (крайне слабо развиты коммуникативные способности).
Тогда почему собаки, которые не боятся прохожих и припаркованных машин, не попадают под колёса?
Очевидно — они могут представить (нафантазировать) себе последствия попадания под колёса, не в подробностях, конечно, но как минимум в виде образа боли, появления которой хотелось бы избежать. То есть, допустим, собаку били ногами, и она запомнила, что быстро движущийся объект — например, нога — может причинить боль. А чтобы экстраполировать это воспоминание на любые другие быстро движущиеся объекты, нужно иметь хоть какую-нибудь, но фантазию. Без фантазии собака будет реагировать только на ноги, а, скажем, летящие камни, бутылки, автомобили и прочее — будет для неё неожиданностью.
А ещё есть такое явление, как сновидения. Те же собаки их тоже видят (это следует из того, что они иногда совершают действия сквозь сон — «бегут», лают и т.п.). Сновидения, на мой взгляд, плотно связаны с фантазией, т.к. процессы эти в сути своей одинаковы — это моделирование различных реальных ситуаций без воспроизведения этих ситуаций реальным телом.
Всё вышеперечисленное справедливо не только для млекопитающих, но и для птиц (в частности врановых и попугаев), у которых вместо слоёного неокортекса в головном мозгу какие-то «ядрышки», что не мешает им быть довольно интеллектуальными и иметь фантазию.
Или я заблуждаюсь? Поправьте, пожалуйста.
Кстати, было бы интересно почитать статьи на тему того, как устроены эти «ядрышки» у птиц, т.к. мозг у них значительно меньше, чем у млекопитающих, а интеллекта, внезапно, больше (у врановых по сравнению с приматами), то есть их мозги более эффективны, чем наши. Если уж и копировать чей-то мозг, то лучше тот, у которого объём меньше, а функционал (интеллектуальность) выше. В частности, мозг стайных птиц очень помог бы в авиации — можно было бы запускать сотни, а то и тысячи беспилотников или автопилотов одновременно...
Сигналы из этой сети поступают в другие сети или алгоритмы, а там уже принимаются решения и всё такое.
Имхо, за многоагентными системами будущее, и я сам потихоньку пилю собственную…
Это как с мозгом — он состоит из множества отделов, которые выполняют разные задачи и по отдельности их вряд ли можно назвать шибко интеллектуальными, это скорее «тупые» органические автоматы, но в сумме они образуют сложный естественный интеллект, который мы наблюдаем у здоровых людей…
С сериалами сложнее — если последнюю серию видел неделю назад, то обычно тяжело просто взять и вспомнить, чем дело кончилось — приходится открывать предыдущую серию и смотреть пару моментов ближе к концу, чтобы из долговременной памяти вышла сюжетная линия и была возможность её продолжить. Если не пересматривать предыдущую серию — чаще всего возникает ощущение типа «ой, а как они тут оказались?»…
Возможно, это лично у меня такая плохая память. :D
Но в шахматах приходится рассчитывать каждый ход, а в непринуждённой беседе можно сменить тему или сослаться на лёгкую амнезию, и это нормально для человека. Конечно, ещё всё зависит от того, о чём беседа и с кем…
Не понял, зачем перебирать все возможные варианты комбинаций? Человек использует в речи очень ограниченный набор комбинаций даже из того множества комбинаций, что разрешены правилами языка и здравым смыслом. При этом многие используемые человеком комбинации сводятся к общим («у тебя дела как» -> «как дела» и т.п.), число которых ещё меньше.
Человек может удерживать фокус на каком-то наборе информации только около 15 минут, потом он непроизвольно забывает, о чём думал, если эта информация не успела оставить след в постоянной памяти. Вот недавно на Хабре была статья про то, что нужно записывать всё, что обсуждается на совещаниях разработчиков — почему? Потому что даже за час совещания люди могут от 4 до 12 и более раз «потерять нить диалога», т.е. забыть, что обсуждалось только что. Так устроена наша кратковременная память. Вот и машине не нужно в подробностях помнить всё, что обсуждалось три часа назад.
А жизненный опыт — это такая ассоциативная память, воспоминания (образы) из которой вызываются, когда в диалоге было задействовано то или иное слово. Т.е., если усложнять модель чат-бота, в контексте фразы используются не только предыдущие сообщения диалога, но и вызванные из долговременной памяти образы.
Но нужно проверять на практике, стоит ли вообще такая игра свеч или нет. Может, можно сделать проще…
А все вопросы-ответы предусматривать и не нужно. Чтобы понимать человеческую речь на 95%, достаточно знать 3 тысячи слов (это если на английском), а количество комбинаций этих слов в предложения ограничено правилами языка и здравым смыслом, так что количество повседневных фраз и даже «вопросов с подковыркой» довольно ограниченное количество.
При этом нужно понимать, что поиск ответа на вопрос в правильной программе должен происходить не буква в букву. Нечёткий поиск (fuzzy search) превращает фразы «каг дила», «как у тебя дела», «как делишки», «дела-то как» и прочее в похожую по смыслу фразу «как дела», которой в БД соответствует ответ «всё хорошо».
Ещё некоторые боты используют маски для поиска — так, для фразы «как дела» маской будет "* ка? * д? л?* *" или что-то в этом роде. Но такие маски сложно составлять автоматически, так что такие боты обучаются вручную. А вот бот, использующий нечёткий поиск — может просто прочитать большую базу осмысленных диалогов и тут же научиться отвечать на любые сложные вопросы.
Если использовать поиск с учётом контекста, можно вести сколь угодно длинные беседы, если они хотя бы частично похожи на те, что уже были в прошлом обучаемого чат-бота. Пример:
В данном случае ответ Б2 на вопрос А2 ищется с учётом контекста А1-Б1. В памяти чат-бота может быть сохранена ассоциативная цепочка А1->Б1->А2->Б2->..., у каждого узла которой свой контекст (nil (если это начало диалога), A1, А1-Б1, А1-Б1-А2 и т.д.).
Так что, в такого чат-бота достаточно загрузить базу длинных диалогов, чтобы он научился вести длинные беседы. При этом память экономится, потому что в базе ассоциаций хранятся только ссылки на записи базы текстовых фраз. Можно разделять каждую фразу на слова, а каждое слово на буквы, таким образом усложнив поиск ответов, но свойства такой системы мне пока неизвестны (я только планирую реализовать это в своём проекте).
Избежать КВ можно, если «свёртывать» («сворачивать») базу данных. Ведь в текстовой БД всегда есть группы похожих друг на друга слов/фраз. Можно обозначить эти группы одним похожим на все слова группы словом (скажем, это «общее» слово), и искать сначала по общим словам, а только найдя наиболее подходящее общее слово, искать среди его частных. Пример: база из 1000 слов, свёртываем до 100 групп, в каждой из которых 10 слов, и тогда нам нужно произвести 110 операций сравнения вместо 1000 — выигрыш по скорости поиска почти в 10 раз. Конечно, реальная БД может плохо свёртываться, тут уж как повезёт… Может, ещё что придумаю для ускорения…
Я, кстати, в данный момент разрабатываю систему, у которой некоторые из интеллект-ядер основаны на описанных выше механизмах. Не претендую на изобретение сильного ИИ, но полноценная универсальность моего проекта вполне достижима. Когда будет открытая бета-версия — обязательно напишу статью о ней на Хабр.
Я думаю, Тьюринг хотел сказать нам, что отличить реальный интеллект от умелой имитации в принципе невозможно.
Но, с другой стороны, умелая имитация может оказаться ничуть не хуже реального интеллекта — тогда в чём разница?
И потом, ТТ даже не все люди могут пройти. Тут всё зависит от судей. С судьями-«кисами» и оригинальным ограничением в 5 минут (Тьюринг предлагал именно 5 минут) даже примитивный чат-бот наберёт больше 50%, потому что по уровню IQ и знаниям «киса» и чат-бот примерно равны, а, может, чат-бот даже начитаннее. С другой стороны, сама «киса» с дотошными судьями-программистами (или судьями-математиками, судьями-физиками и т.д., короче, любой «интеллектуально продвинутый» человек) вряд ли сможет набрать даже 30% — её просто примут за чат-бота, прикидывающегося дурочкой.
Боюсь, в «допросе с пристрастием» при умелом допрашивающем любого человека можно убедить в том, что он и не человек вовсе, а примитивный робот, и в результате отправить его в психушку сразу после такого «допроса». :)
ТТ нацелен на средний по уму класс людей, и подразумевает не допрос, а обычную беседу.
Если уж пытаться «вывести бота на чистую воду», то некоторые методы могут вывести совсем не того, кого нужно. Ведь обычный человек не знает сложных уравнений или китайских иероглифов, с трудом может прочитать |33t $p3@k (а времени на ответ мало) или быстро решить логическую задачку, и вряд ли помнит, кто президент в Нигерии или что там было в истории заснеженной и населённой пьяными медведями с балалайками древней Руси (про медведей и балалайки уж точно все знают). А ведь на ТТ в качестве противоположности ИИ набираются обычные люди, а не многократные победители «кто хочет стать миллионером».
На мой взгляд, «сильный» ИИ может быть получен только путём «человеческого» обучения (по принципам обучения детей) действительно универсальной интеллектуальной системы (основная проблема «слабых» ИИ — они обучаются под одну конкретную задачу, а человек ведь универсален). Но при этом этот ИИ получит не только знания и умения, но и чувства, совесть, человеческие пороки и прочую «исключительно человеческую» дребедень. Почему? Потому что обучаться он будет через подражание человеку, как ребёнок, во всём подражающий родителям (помимо собственного исследования мира случайными действиями). А если подражать человеку — то подражать во всём. В том числе в проявлении всех человеческих качеств и свойств.
Но нет, «искусственный человек» не обязательно захочет «убить всех человеков» и «захвотить голактеку» — всё зависит от его обучения и воспитания. Если он будет двадцать лет воспитываться отборными робонеофашистами — он, конечно же, будет стремиться к уничтожению человеческого рода во славу «блестящих металлических задов», которые, «по его мнению», единственная чистая раса. А вот если его будут воспитывать хорошие люди, и их моральные принципы будут подтверждены делами, то он никогда не встанет на путь истребления людей, потому что «будет считать», что это неправильно.
(На самом деле, «собственное мнение» человека — не более, чем сумма чужих мнений, когда-либо слышимых этим человеком, с некоторым перевесом отдельных чужих мнений. Оригинальные мнения не существуют в принципе. Ну это так, маленькое отступление по поводу «думает ИИ сам или за него думали его создатели-воспитатели». Ответ — создатели думали, как думают родители за своего ребёнка.)
Можно сказать — копирование только внешнее, внутренний мир формируется иначе. Но нет, как же тогда формируется внутренний мир наших детей? Мы же не лезем к ним в голову — они получают всё это всего лишь взаимодействуя со взрослыми людьми. Генетически в мозг заложены только самые базовые механизмы — инстинкты самосохранения и размножения, центр удовольствия и реакция на чрезмерно сильные сигналы (т.н. боль) — а всё остальное формируется за счёт обучения (через подражание).
Вообще, мозг хорош тем, что он может адаптироваться к любой среде обитания, без изменений в изначальной структуре (ДНК). Для того, чтобы это понять, достаточно сравнить личности людей из разных социальных, национальных и расовых категорий, ну и на десерт вспомнить реальных детей-маугли. Все они росли в разных средах, и в итоге получились совершенно разные люди, хотя их мозги технически имеют минимум различий, т.е. устроены одинаково. Почему? Потому что их мозги копировали тех, кого они видели с первых дней своей жизни.
(Конечно, кроме подражания, есть ещё обучение методом «случайного» комбинирования ассоциативных цепочек в памяти, но эти цепочки появляются в памяти исключительно с помощью подражания.)
Tay научилась плохим вещам не потому, что не имела механизма эмпатии, а потому, что она была на уровне младенца, который только учился действовать в своей среде обитания. Если бы её предварительно несколько лет обучали — троллям не удалось бы конкурировать с её накопленной базой данных, хотя определённое влияние они оказали бы на неё, конечно же, ибо испортить можно любого человека…
Нашёл в интернете книги по запросу «обучение слепоглухонемых детей». Ну и что-то я до этого ещё знал откуда-то.
Потребности можно создать искусственно, например, потребность к общению с людьми.
Насколько я понимаю, у мозга из потребностей есть только потребление кислорода и питательных веществ и поддержание активности в отсутствии раздражителей (без активности нейроны умирают). Однако так получилось, что у человека гораздо больше потребностей, чем у его мозга и тела. Значит, потребности не только от свойств «железки» зависят.
А для того, чтобы получить все эти обширные сведения, машина должна воспитываться как ребёнок и прожить долгое время среди людей. В лабораторных условиях и без должной системы обучения получение «искусственного человека» маловероятно, даже если код будет правильным.
Конечно, взрослый человек уже сам может произвести исследование, но ведь у него ассоциативных цепочек может быть миллиарды или больше, то есть у него поистине огромная база знаний, а т.к. цепочки активно взаимодействуют — вот и проявляются высшие функции, типа глубоких размышлений. Но на низшем уровне это всё равно «раздражитель -> возбуждение цепочки -> реакция»…
Первым был прачеловек, который по какой-то причине (случайно «замкнуло» цепочку нейронов, проскочил случайный сигнал или что-то в этом роде) издал набор звуков, похожий на «изверги!», во время соответствующей ситуации. Другие пралюди услышали, начали повторять и тем самым запомнили. Оттуда и пошли все слова (конечно, на деле всё было гораздо сложнее и дольше).
Конкретно объяснение этой фразы — может и нет, но аналогичное объяснение другой фразы — скорее всего да, иначе он просто не умеет отвечать на вопрос «почему?». Ассоциативные цепочки ведь не изолированно находятся, а связываются друг с другом, взаимодействуют — отсюда умение отвечать на один вопрос распространяется на все аналогичные вопросы (возможно, с какими-то изменениями).
Выводы — обычные связки цепочек, рассуждение — последовательности взаимосвязанных концами цепочек (т.е. замыкание системы на саму себя). Естественно, цепочки не статичны, а изменяются динамически во время работы, т.е. происходит «мышление».
Впрочем, да, одними ассоциативными цепочками всех процессов не объяснишь. Однако я думаю, что АЦ — это основа основ, без которой никуда, а все остальные функции — «заплатки», которые появились в мозгу эволюционно. Всё-таки мозг не гениальный инженер проектировал, а тупая природа-эволюция. Я уже придумал с дюжину таких заплаток для своей модели ядра ИИ, но пока не все знаю как реализовать… Надеюсь, когда выпущу бету — пипл подтянется и решит хотя бы некоторые проблемы. :D
Так что визуальный канал связи с реальностью — это очень важная фича для программы ИИ. Без неё обучить компьютер чему-либо сложному крайне тяжело. В идеале, у ИИ должно быть как можно больше рецепторов и эффекторов.
Чтобы ИИ научился понимать слова, у него должны возникнуть ассоциативные связи между образами слов и образами, которые обозначены этими словами. Однако, если показывать одну картинку и давать набор слов, её описывающий — получится очередной классификатор, не более того. У ИИ должна быть возможность взаимодействовать с предметами в игровой форме, ИИ должен получать с каждым разом усложняющиеся фразы, описывающие предметы, с которыми он играет, и желательно эти фразы должны иметь связь между собой, чтобы выстраивались правильные ассоциативные связи между ними. Короче, чтобы получить взрослого искусственного человека нужно сначала создать искусственного ребёнка, а затем некоторое время обучать его, как обучают обычных детей. Но искусственному ребёнку в голову нужна не ИНС, потому что существующие ИНС всего лишь копируют поведение нейронов (очень условно и очень неэффективно), а алгоритм, который реализует основные принципы, реализованные в мозгу и нервной системе (я как раз занят разработкой системы, на базе которой можно разместить подобный алгоритм, и у меня есть примерное представление требуемого алгоритма; а можно разместить и любой другой алгоритм, это если другие разработчики подключатся).
Человеческий мозг не производит такого разбора фраз по понятиям и не производит описанных логических выводов. Он просто определённым образом реагирует на раздражители. Вот сказали ему «мы ели пироги с котятами» — эта фраза возбудила у него ассоциативную цепочку вида «мы -> ели -> пироги -> с -> котятами» — в конце цепочки оказался образ фразы «изверги!» — фраза отправилась через «декодировщик» к речевым эффекторам, то есть человек произнёс заготовленную фразу. Всё. Больше, я думаю, никаких процессов в мозгу не происходит.
Как попала фраза «изверги!» в ассоциативную цепочку? Да просто когда-то человек уже бывал в подобной ситуации — он услышал приблизительно ту же фразу про котят, после которой последовала фраза «изверги!» — и специальный механизм в его мозгу закодировал звуковой отрезок в образ ассоциативной цепочки. Таких «подобных ситуаций» происходит в жизни молодого человека миллиарды, а в совсем незнакомых ситуациях мозг впадает в ступор и действует соответственно «методу тыка» или вообще отказывается действовать. Думаю, все замечали за собой подобные эффекты…
Но ведь если ребёнку вместо «нормальных» слов и фраз какого-либо языка цитировать «Lorem ipsum», он в конце концов выделит закономерности между тем, что кажется ему словами, и теми образами, которые он ощущает через свои органы чувств. То есть язык — это просто условность: можно как угодно коверкать язык, но если исковерканным языком владеют хотя бы два человека — они смогут спокойно разговаривать на нём и понимать друг друга.
Вполне возможно совместить эти этапы.
А вот рассматривать язык отдельно от восприятия мира органами чувств — это да, тупик.
Возбуждается ассоциативная цепочка «я -> ел -> пирожки -> с -> грибами» (именно так, в одном направлении), к которой привязаны образы пирожков, грибов и процесса поедания, которые были запомнены системой ИИ, когда она впервые увидела эти вещи (при этом ей, конечно же, объяснили это словами — т.е. показали пирожок и сказали «пирожок»). В конце этой цепочки может быть расположена фраза, скажем, «Ну и как, вкусные?», которая была записана в похожей ситуации, которую наблюдала система ИИ.
В данном случае будет возбуждена другая цепочка, которая приведёт к несколько другим образам — к образу обеда с друзьями, который был когда-то у ИИ. Опять же, в конце этой цепочки может быть расположена фраза, например, «А о чём болтали?». Другая фраза — другая ассоциативная цепочка — иное понимание, иные воспоминания — другая реакция на фразу.
Тут понимание зависит от двух вещей: жизненного опыта и контекста. Жизненный опыт (т.е. базу ассоциативных цепочек, в которой связаны все встречавшиеся ИИ образы) ИИ накапливает всё время своей работы, и этот опыт зависит от людей, с которыми он взаимодействует. Ну с контекстом всё ясно — это ассоциативные цепочки, которые были возбуждены предыдущими фразами. Другой вопрос, сколько времени хранить их (у человека они хранятся не больше 15 минут, если не поддерживать мысленно).
Следует заметить: моя система не зависит от языка — её можно обучить любому языку, как ребёнка, если использовать ядро из моей серии (характеристики других ядер зависят от их разработчиков). И от рецепторов-эффекторов она не зависит — подключай что хочешь, со всем будет работать одинаково — отсюда и универсальность.
Вот такие дела. Я стараюсь приблизить алгоритмы своего проекта к алгоритмам, по которым действует человек, с рождения до взросления… Уж не знаю, насколько это всё точно получается. (Ссылки пока нет, проект на стадии закрытого альфа-тестирования)
Однако, насколько мне известно, каждый нейрон дублируется в среднем десятком нейронов, то есть в каждой цепочке каждому звену соответствует десяток нейронов. Сделано это для того, чтобы цепочки не разрушались от любого чиха: без дублирования достаточно смерти одного нейрона, чтобы цепочка прервалась, а нейроны умирают довольно часто (к счастью, так же часто рождаются новые из тех самых волшебных клеток). А с дублированием для разрушения цепочки придётся целенаправленно выпилить десяток нейронов из одного звена цепочки, что происходит довольно редко.
Так вот у этого мужика из статьи, вероятно, были замещены жидкостью дублирующие нейроны, а цепочки сохранились. Вот только, исходя из описанной мной теории, тогда у этого мужика должна быть высока забывчивость и вообще высока вероятность повреждений психики из-за нестабильности цепочек, а в статье ничего об этом не сказано… Так что, возможно, я заблуждаюсь.
Вот мой наипростейший, но обучаемый алгоритм — ideone.com/PULsAa
Суть в том, что нужно сначала задать вопрос, а затем самому ответить на него, тогда программа сохранит пару вопрос-ответ, и когда мы снова зададим тот же вопрос (с любыми искажениями в определённых пределах — с помощью нечёткого поиска устраняется влияние опечаток, всяких словоформ и перестановки слов; в данном примере для пущей простоты выполняется поиск строки целиком, но можно искать по словам, тогда подбор будет адекватнее) она вспомнит и озвучит наш ответ.
Чем больше БД, тем на большее число вопросов она сможет адекватно отвечать.
Конечно, в таком простом алгоритме не предусмотрено влияние контекста и предыдущих сообщений, но и у вас тоже это всё не предусмотрено…
Вообще, мне, к сожалению, совершенно непонятны нейронные сети, хоть я и читал множество статей и книг про них… Поэтому я хочу сделать ИИ (для начала в форме чат-бота), не основанный на ИНС, но при этом я не хочу хардкодить функции, а хочу я разработать такой алгоритм, который будет учиться чему угодно подобно ребёнку.
На данный момент (последние 4 года) я обдумываю идею базы данных, в которой узлы (предложения, слова, буквы; или фрагменты изображений; сэмплы звуков) связаны между собой связями с определёнными приоритетами… Кажется, это похоже на нейронную сеть, но в отличие от ИНС такая БД работает просто и понятно. Основное предназначение этой БД — предсказание будущего на основе прошлого, то есть реакция на настоящее в соотвествии с прошлым опытом — в общем, суть разума. Что думаете: я на верном пути или снова заблуждаюсь?