Что вас останавливает в процессе создания ИИ?
===============================================

 Интересует, сколько людей пробовали делать что-то разумное,   

что будет логически думать также, как это делаем мы,   

решая задачи на произвольно заданную тему.  

  

Под искусственным интеллектом прошу понимать следущую штуку:  

 — Мы этой системе можем задавать произвольные задания — выполнить что-то  

 — +\- взаимодействие должно проходить на естественном (и\или максимально к нему приближенном, языке)  

 — Она имеет возможность только начать выполнять задания, после того как задача ясна  

 — В случае неясности задания система просит у нас уточнения  

 — Мы уверены в том, что процесс этот будет конечен и по срокам это не растянется на многие годы  

 — Задачи выполняются в сравнимом, с человеческим, качеством (желательно — продуктивнее)  

 — Задачи выполняются в адекватные сроки (день, два, пять..)  

  

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

Чего лично вам не хватает, для реализации «Сильного ИИ»?  

Что это была за область? И в какой планируете?  

Когда думаете сделать очередной шаг?  

  

У меня вопрос разродился отсюда:  

 — хорошо получается придумывать идеи — что можно сделать  

 — но когда понимаю, сколько на это нужно время (лично мне, для реализации очередной задумки),   

понимаю что 1 это делать даже не начну, т.к. энтузиазм угаснет гораздо раньше   

получения первых результатов, которые могли бы радовать…  

 — отсутствует возможность совместного думания над задачей (по личному опыту —   

сильно помогает выстроить чёткую картину в голове, что ж   

мы все-таки хотим, если думаешь не 1)  

 — Если же перевести все на коммерческую основу, то год работы 30-50ти разработчиков стоит порядка ляма баксов.  

А именно такой коллектив, считаю, способным создать крупный проект, который бы был   

не только интересен с научной точки зрения,   

но и коммерчески успешен.  

  

1. Соответственно, пока меня останавливает в начале реализации отсутствие наличия пары-тройки,   

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

в противоположность мне — легче было бы реализовывать   

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

  

Да вот и все, в общем-то. С удовольствием узнаю, кто что думает по этому поводу. 

 Давайте напишем ИИ. Пусть болтает с людьми, делает что-нибудь полезное. В самом деле, сколько можно — 60 лет прошло, а ИИ все нет.  

  

1) И так, попробуем с языка. Пусть слушает, понимает и отвечает.  

  

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

  

а) Вариант первый — логика в помощь. Нам вообще не нужно понимание, главное чтоб все было четко:  

Все люди смертны  

Сократ человек,  

Сократ — смертен  

  

Modus ponens, это все что нужно. Пролог умеет с этим работать. Выделяем из текста (синтаксического дерева) конструкции типа VB (SUBJ OBJ), запихиваем в предикат VB(SUBJ, OBJ) и готово.  

  

Но тут, внезапно:  

  

> «Сократ был человеком.»  

  

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

  

> «По моему, Сократ — человек»  

  

Это что, модальность? Откуда она взялась? Придется как-то обрабатывать степерь уверенности поставляемых кем-то фактов…   

  

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

  

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

  

Вообще-то, это работает, но только очень ограничено. Попытки были, но провалились. Гуглить по имени «Терри Виноград» и его программе SHRDLU. Также полезно загуглить [рамматику Монтегью](http://en.wikipedia.org/wiki/Montague_grammar).   

  

б) Да к черту логику. Давайте напишем граф, который бы описал любую ситуацию.   

  

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

  

Нет, не так. Гуглим проект [Cyc](http://ru.wikipedia.org/wiki/Cyc). Начинал писаться с 1984. Большинство, участвующих в данной дискуссии еще и не родились. Так и где результаты? Они есть, довольно-таки средненькие:  

 — граф получается громадный  

 — отношения между терминами не очень хотят выстраиваться в красивый граф  

 — многозначность   

 — сложность добавления знаний  

  

См также [язык Фреймов](http://en.wikipedia.org/wiki/Frame_language) и другие представления знаний.  

  

Но похоже мы тут тоже провалились. Что дальше?  

  

2) А давайте зайдем совсем с другой стороны — напишем свой язык программирования. Видимо, с ним проще пойдет.  

  

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

  

3) Может запихнуть это все в НЕЙРОННУЮ СЕТЬ и обучить все ГЕНЕТИЧЕСКИМ АЛГОРИТМОМ? Звучит заманчиво, только если перевести это на математический язык — мы всего лишь занимаемся оптимизацией, пытаясь найти некое вероятностное распределение. Вообще, машинное обучение довольно конкретно. Здесь мы решаем узкие и конкретные задачи — строим классификаторы или регрессии. Не очень похоже на сильный ИИ, да и выглядит вся эта математика как-то не секси :) — градиентные спуски, гессианы, энтропии.   

  

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

  

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

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

 Честно скажу, опыта в создании ИИ нет. А вот интеллектом и сознанием человека интересуюсь давно.  

(С материалистической точки зрения, конечно).  

Большое впечатление произвели два подхода:  

1. Роджер Пенроуз пытается доказать (см. например, «Тени разума»), что наше сознание *невычислимо  

и не моделируемо*. Особенно в части математического мышления.  

2. Джулио Тонони выдвинул [гипотезу «Интегральной информации»](http://www.biolbull.org/content/215/3/216.long), согласно которой сознанием могут обладать любые ( в т.ч. и неживые) системы, способные генерировать информацию *сверх- и дополнительно к той, которую генерируют её отдельные части.*   

  

Мне кажется, всякому, кто решится углубится в ИИ, стоит ознакомиться с этими материалами. 

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

POS-теггер затыкается на синтаксисе.  

Синтаксис затыкается на семантике.  

Про семантику вообще непонятно. 

 Извините (ради бога, в которого я не верю), но по поводу *поиска финансирования проектов* мне всегда вспоминается [вот этот](http://ru.wikisource.org/wiki/Неизлечимые_(Аверченко)) короткий, но убойный рассказ Аркадия Аверченко.  

  

Мне, правда, близка тема ИИ. Поэтому ещё одна идея, скорее ближе к теме финансирования (о\_О)  

Не очень большой, но всё таки (2 года) опыт изучения материалов по нейробиологии подсказывает:  

90 к 10 больше вероятность получить грант или иную поддержку для работы *по моделированию и изучению сознания человека* , а не для создания очередной модели ИИ «as standalone itself» 

 На каком языке ставить задачу ИИ? На формальном или человеческом?  

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

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

В общем, суть такова, что мы сами не знаем, что нам надо. А когда знаем, тогда ИИ нам уже не нужен. 

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

 Наука еще недостаточно развилась для этого. Вот и все.  

Как будет прорыв в медицине, тогда можно будет и ИИ попробовать написать… 

 Предложу оценить в качестве средства моделирования для ИИ Туннельное моделирование из [habrahabr.ru/post/176391/](http://habrahabr.ru/post/176391/)   

  

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

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

> что-то вроде этого: «Между любовью к многоединству и многоединством любви»  
> 
>  В.Э. Войцехович. Любовь как Единое  
> 
>  С.А. Борчиков. Органическая логика любви  
> 
>  — и дальнейшие измышления 

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

  

Вы не обращайте большого внимания. Авторы статей — успешные философы. Причем многие — с университетским математическим образованием.  

  

Вы думали, что никто не задаст Вашей системе ИИ вопроса про «Любовь к многоединству и многоединство любви»? Вы ошибались!  

  

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

А.С. Нариньяни. Между знанием и незнанием — наивная топография 2.: [integral-community.ru/forum/viewtopic.php?f=17&t=49](http://integral-community.ru/forum/viewtopic.php?f=17&t=49) 

 С **материалистической точки** зрения проблема реализации ИИ заключается в следующем:  

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

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

 Пытался реализовывать узконаправленный ИИ для решения определенных задач. Например, word sense disambiguation, или аналитическая система биржевых торгов. Системы выдавали некоторый приемлемый результат. Транзисторы совершенно не подходят для реализации ИИ, ибо у них всего только два состояния: открыт/закрыт. Нейрон, как устройство, гораздо сложнее. Имеет много различных «состояний». Почитайте статью на википедии — там все описано. Сама логика взаимодействия совершенно на другом уровне.  

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

 «Ну, меня придется ждать несколько лет» — почему так пессимистично? =) 

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

  

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

  

Если вы об [этой статье](http://ru.wikipedia.org/wiki/%D0%9D%D0%B5%D0%B9%D1%80%D0%BE%D0%BD), то я там не вижу ни слова про состояния. Зато я вижу [эту](https://www.google.ru/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CDMQFjAB&url=http%3A%2F%2Fwww.aha.ru%2F~pvad%2Ff2_2.htm&ei=dMmcUZDdDM2k4ASy44HQDw&usg=AFQjCNFN7kdBxj429bxgKnMwq1T5l5zIKQ&sig2=Gl0am34pfR1XIJKAXemeHA&bvm=bv.46751780,d.bGE&cad=rjt), в которой говорится: " в состоянии покоя (неактивное состояние) и в состоянии генерации разрядов (активное состояние)" — что примерно соотносится с вашим высказыванием про транзистор: «открыт/закрыт». 

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

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

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

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