Понимающие язык машины были бы очень полезны. Но мы не знаем, как их построить.




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

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

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

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

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

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



Через несколько часов после 37-го хода AlphaGo выиграла игру и стала лидировать со счётом 2:0 в матче из пяти игр. После этого Седоль стоял перед толпой журналистов и фотографов и вежливо извинялся за то, что подвёл человечество. «Я потерял дар речи»,- говорил он, моргая под очередями фотовспышек.

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

Но несмотря на эти впечатляющие подвижки одна из основных возможностей никак не даётся ИИ: язык. Системы вроде Siri и IBM Watson могут распознавать простые устные и письменные команды и отвечать на простые вопросы, но они не в состоянии поддерживать разговор или на самом деле понимать используемые слова. Чтобы ИИ изменил наш мир, это должно поменяться.

Хотя AlphaGo не разговаривает, в нём есть технология, способная дать лучшее понимание языка. В компаниях Google, Facebook, Amazon и в научных лабораториях исследователи пытаются решить эту упрямую проблему, используя те же инструменты ИИ – включая глубокое обучение – что отвечают за успех AlphaGo и возрождение ИИ. Их успех определит масштабы и свойства того, что уже начинает превращаться в революцию ИИ. Это определит наше будущее – появятся ли у нас машины, с которыми будет легко общаться, или системы с ИИ останутся загадочными чёрными ящиками, пусть и более автономными. «Никак не получится сотворить человекоподобную систему с ИИ, если в её основе не будет заложен язык,- говорит Джош Тененбаум [Josh Tenenbaum], профессор когнитивных наук и вычислений из MIT. – Это одна из самых очевидных вещей, определяющих человеческий интеллект».

Возможно, те же самые технологии, что позволили AlphaGo покорить го, позволят и компьютерам освоить язык, или же потребуется что-то ещё. Но без понимания языка влияние ИИ будет другим. Конечно, у нас всё равно будут нереально мощные и интеллектуальные программы вроде AlphaGo. Но наши отношения с ИИ будут не такими тесными, и, вероятно, не такими дружественными. «Самым главным вопросом с начала исследований было „Что, если бы вы получили устройства, интеллектуальные с точки зрения эффективности, но не похожие на нас с точки зрения отсутствия сочувствия тому, кто мы есть?“ – говорит Терри Виноград [Terry Winograd], заслуженный профессор Стэнфордского университета. „Можно представить машины, основанные не на человеческом интеллекте, работающие с большими данными и управляющие миром“.

Говорящие с машинами


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

Я начал с Винограда, живущего в пригороде на южном краю Стэнфордского кампуса в Пало-Альто, недалеко от штаб-квартир Google, Facebook и Apple. Его кудрявые седые волосы и густые усы придают ему вид почтенного учёного, и он заражает своим энтузиазмом.

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



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

Но есть причины и для оптимизма. Джозеф Вейзенбаум [Joseph Weizenbaum], профессор MIT немецкого происхождения, пару лет назад сделал первую программу-чатбота. Её звали ELIZA и она была запрограммирована отвечать так, как психолог из мультиков, повторяя ключевые части утверждений или задавая вопросы, вдохновляющие на продолжение разговора. Если вы сообщали ей, что злитесь на мать, программа могла бы ответить „А что ещё приходит вам в голову, когда вы думаете о своей матери?“. Дешёвый трюк, который работал на удивление хорошо. Вейзенбаум был шокирован, когда некоторые испытуемые стали поверять свои тёмные секреты его машине.

Виноград хотел сделать нечто, что могло бы убедительно делать вид, что понимает язык. Он начал с уменьшения области действия проблемы. Он создал простое виртуальное окружение, „блочный мир“, состоящий из набора вымышленных объектов на вымышленном столе. Затем он создал программу, назвав её SHRDLU, способную разобрать все существительные, глаголы и простые правила грамматики, необходимые для общения в этом упрощённом виртуальном мире. SHRDLU (бессмысленное слово, составленное из стоящих в ряд букв клавиатуры линотипа) могла описывать предметы, отвечать на вопросы об их взаимоотношениях и изменять блочный мир в ответ на вводимые команды. У неё даже была некая память и если вы просили её передвинуть „красный конус“, а затем писали про некий конус, она предполагала, что вы имеете в виду этот красный конус, а не какой-либо другой.



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

Виноград решил, что при помощи доступных в то время инструментов невозможно научить машину по-настоящему понимать язык. Проблема, по мнению Хьюберта Дрейфуса [Hubert Dreyfus], профессора философии в Калифорнийском университете в Беркли, высказанному им в книге 1972 года „Чего компьютеры не могут“ [What Computers Can’t Do], в том, что множество человеческих действий требуют инстинктивного понимания, которое невозможно задать набором простых правил. Именно поэтому до начала матча между Седолом и AlphaGo многие эксперты сомневались, что машины смогут овладеть игрой го.



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

За последние несколько лет нейросети стали более сложными и мощными. Подход процветал благодаря ключевым математическим улучшениям, и, что более важно, более быстрому компьютерному железу и появлению огромного количества данных. К 2009 году исследователи из Университета Торонто показали, что многослойные сети глубокого обучения могут распознавать речь с рекордной точностью. А в 2012 году та же группа выиграла соревнование по машинному зрению, используя алгоритм глубокого обучения, показавший удивительную точность.

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

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

В 1980-х исследователи выдали хитрую идею превращения языка в такой тип проблемы, с которым нейросеть может справиться. Они показали, что слова можно представлять в виде математических векторов, что позволяет подсчитывать сходство связанных слов. К примеру, „лодка“ и „вода“ близки в векторном пространстве, хотя и выглядят по-разному. Исследователи из Монреальского университета под руководством Йошуа Бенджио [Yoshua Bengio] и ещё одна группа из Google использовали эту идею для построения сетей, в которых каждое слово в предложении используется для построения более сложного представления. Джоффри Хинтон [Geoffrey Hinton], профессор из Университета Торонто и видный исследователь глубокого обучения, работающий также и в Google, называет это „мысленным вектором“.

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

Смысл жизни


Сидя в конференц-зале в сердце наполненной суетой штаб-квартиры Google в Маунтин Вью (Калифорния), один из исследователей компании, разработавший этот подход, Куок Ли [Quoc Le], рассуждает об идее машины, способной поддерживать реальный разговор. Амбиции Ли объясняют, чем могут быть полезны говорящие машины. „Мне нужен способ симуляции мыслей в машине,- говорит он. – А если вы хотите симулировать мысли, то вы сможете спросить машину, о чём она думает“.



Google уже обучает свои компьютеры основам языка. В мае компания обнародовала систему Parsey McParseface, способную распознавать синтаксис, существительные, глаголы и другие элементы текста. Несложно видеть, как понимание языка может помочь компании. Алгоритм поиска Google когда-то просто отслеживал ключевые слова и ссылки между веб-страницами. Теперь система RankBrain читает текст страниц, чтобы понять его смысл и улучшить результаты поиска. Ли хочет продвинуть эту идею ещё дальше. Адаптируя систему, оказавшуюся полезной для переводов и подписей картинок, они с коллегами создали Smart Reply, читающий содержимое писем на Gmail и предлагающую возможные ответы. Они также создали программу, обучившуюся на основе чата поддержки Google отвечать на простые технические вопросы.

Недавно Ли создал программу, способную генерировать сносные ответы на непростые вопросы. Она тренировалась на диалогах из 18 900 фильмов. Некоторые ответы пугающе точно попадают в точку. К примеру, Ли спросил „В чём смысл жизни?“ и программа ответила „В служении высшему добру“. „Неплохой ответ,- вспоминает он с ухмылкой. – Возможно, лучше, чем я бы ответил сам“.

Есть только одна проблема, которая становится очевидной при взгляде на большее количество ответов системы. Когда Ли спросил „Сколько ног у кошки?“, система ответила „Думаю, четыре“. Затем он спросил „Сколько ног у сороконожки?“ и получил странный ответ „Восемь“. По сути, программа Ли не понимает, о чём говорит. Она понимает, что некоторые комбинации символов сочетаются вместе, но не понимает реальный мир. Она не знает, как выглядит сороконожка, или как она двигается. Это всё ещё иллюзия интеллекта, без здравого смысла, который люди принимают, как само собой разумеющееся. Системы глубокого обучения в этом смысле довольно шаткие. Система от Google, создающая подписи к изображениям, иногда делает странные ошибки, к примеру, описывает дорожный знак как холодильник с едой.

По странному совпадению, соседом Терри Винограда в Пало Альто оказался человек, который может помочь компьютерам лучше разобраться в реальном смысле слов. Фей-Фей Ли [Fei-Fei Li], директор Стэнфордской лаборатории искусственного интеллекта, была в декретном отпуске во время моего визита, но она пригласила меня домой и гордо представила мне своего трёхмесячного ребёнка, Финикс. „Обратите внимание, что на вас она смотрит больше, чем на меня,- сказала Ли, когда Финикс уставилась на меня. – Это потому что вы новый; это раннее распознавание лиц“.

Большую часть своей карьеры Ли исследовала вопросы машинного обучения и компьютерного зрения. Несколько лет назад под её руководством была проведена попытка создания базы данных из миллионов изображений объектов, каждое из которых было подписано соответствующими ключевыми словами. Но Ли считает, что машинам необходимо более сложное понимание происходящего в мире и в этом году её команда выпустила другую базу данных с изображениями, аннотации к которым были гораздо богаче. К каждой картинке люди сделали десятки подписей: „Собака на скейте“, „У собаки густой развевающийся мех“, „Дорога с трещинками“ и так далее. Они надеются, что системы машинного обучения научатся понимать физический мир. „Языковая часть мозга получает очень много информации, в том числе и от визуальной системы,- говорит Ли. – Важной частью ИИ будет интеграция этих систем“.

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

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

Специалисты по когнитивным наукам, например, Тененбаум из MIT, считают, что сегодняшним нейросетям не хватает критичных компонентов разума – вне зависимости от размера этих сетей. Люди способны относительно быстро обучаться на сравнительно малых объёмах данных, и у них есть встроенная возможность эффективного моделирования трёхмерного мира. „Язык построен на других возможностях, вероятно, лежащих более глубоко и присутствующих в младенцах ещё до того, как они начинают владеть языком: визуальное восприятие мира, работа с нашим двигательным аппаратом, понимание физики мира и намерений других существ“,- говорит Тененбаум.

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

Объяснитесь


Офис Ноа Гудмана [Noah Goodman] в Стэнфордском департаменте психологии почти пуст, за исключением парочки асбтрактных картин на одной из стен и нескольких переросших растений. В момент моего прибытия Гудман строчил что-то на ноутбуке, положив босые ноги на стол. Мы прогулялись по залитому солнцем кампусу, чтобы купить кофе со льдом. „Особенность языка в том, что он опирается не только на большое количество информации о языке, но и на общечеловеческое понимание окружающего мира и эти две области знаний подспудно связаны друг с другом“,- объясняет он.

Гудман со своими студентами разработали язык программирования Webppl, который можно использовать для наделения компьютеров вероятностным здравым смыслом, что при разговорах оказывается довольно важным. Одна экспериментальная версия умеет распознавать игру слов, а другая – гиперболы. Если ей сказать, что некоторым людям приходится проводить „вечность“ в ожидании столика в ресторане, она автоматически решит, что использование буквального значения этого слова в данном случае маловероятно и что люди, скорее всего, ждут довольно долго и раздражаются. Систему пока нельзя назвать истинным интеллектом, но она показывает, как новые подходы могут помочь ИИ-программам разговаривать чуть более жизненно.

Также пример Гудмана показывает, как сложно будет научить машины языку. Понимание смысла понятия „вечность“ в определённом контексте – пример того, чему должны будут научиться ИИ-системы, при этом это на самом деле довольно простая и рудиментарная вещь.

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

»В целом, системы глубокого обучения вызывают благоговейный трепет,- говорит Джон Леонард [John Leonard], профессор, изучающий робомобили в MIT. – С другой стороны, их работу довольно сложно понять".

Компания Toyota, изучающая различные технологии автономного вождения, запустила в MIT исследовательский проект под руководством Джеральда Сассмана [Gerald Sussman], эксперта по ИИ и языкам программирования, с целью разработки системы автономного вождения, способной объяснить, почему она в какой-то момент совершила то или иное действие. Очевидным способом дать такое объяснение был бы вербальный. «Создавать системы, сознающие свои знания – это очень сложная задача,- говорит Леонард, руководящий другим проектом Toyota в MIT. – Но, да, в идеале они должны дать не просто ответ, а объяснение».

Через несколько недель после возвращения из Калифорнии я встретился с Дэвидом Сильвером [David Silver], исследователем из отдела Google DeepMind и разработчиком AlphaGo. Он выступал с рассказом о матче против Седоля на научной конференции в Нью-Йорке. Сильвер объяснил, что когда программа во второй игре сделала свой решающий ход, его команда была удивлена не меньше остальных. Они лишь могли видеть, что AlphaGo предсказала шансы на выигрыш, и это предсказание мало менялось после 37-го хода. Только несколько дней спустя, тщательно проанализировав игру, команда сделала открытие: переварив предыдущие игры, программа подсчитала, что игрок-человек может сделать такой ход с вероятностью в 1 к 10 000. А её тренировочные игры показывали, что такой манёвр обеспечивает необычайно сильное позиционное преимущество.

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

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

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

Комментарии (86)


  1. JediPhilosopher
    18.08.2016 14:07
    +10

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

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


    1. fireSparrow
      18.08.2016 14:18

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


      1. k12th
        18.08.2016 14:48
        +2

        Вы не путаете с логланом/ложбаном?


        1. fireSparrow
          18.08.2016 14:54

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


          1. k12th
            18.08.2016 15:02

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


    1. SLY_G
      18.08.2016 15:54
      -1

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


      1. JediPhilosopher
        18.08.2016 17:18
        +2

        Проблема в том что для начала поставленную задачу как раз надо формализовать. Чтобы определить успешность решения и реализовать подкрепление обучения, фитнес-функцию или еще какую-либо оценку качества работы.


      1. Jeffry_Choser
        19.08.2016 16:24

        А почему-бы не дать машинам самим обучиться, так как они это делают. А потом нам самим попытаться их понять — «выучить их язык».
        Да и вообще, не лучше ли дать им полноценные органы чувств, чтобы вместо подписей к картинкам, давать им реальный опыт взаимодействия. Так как это делают маленькие дети (ведь их не учат говорить текстом с картинками). Речь более интуитивно-понятна, чем письмо, это видно и из нашей истории.


        1. Sadler
          19.08.2016 19:25

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


          1. sHaggY_caT
            21.08.2016 06:21

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


            1. Sadler
              21.08.2016 08:42

              Именно так.


      1. Xom
        20.08.2016 14:07

        Сетей уже наделано не мало, но ни одна почему-то пока не научилась сама понимать язык. Чтобы она научилась, надо все равно сначала сделать соответствующую архитектуру. А значит надо сначала понять, какую архитектуру делать, а потом делать нейросеть (НН), которая уже «сама» научиться.

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


    1. diaskzn
      18.08.2016 15:55

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


    1. martin_wanderer
      18.08.2016 15:55
      +1

      Объяснить — не проблема, проблема — формализовать. Потому что фраза сама по себе смысла не имеет — значение придаем ей мы, исходя из контекста.


    1. edd_k
      18.08.2016 16:12

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


      1. Doktor_Gradus
        18.08.2016 18:41
        +1

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

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

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

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

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

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


        1. edd_k
          19.08.2016 12:34

          Проблема в указанном примере — решается именно так. Нужно говорить «вместе с друзьями».
          Т.е. сложные/нерешаемые проблемы этот пример не демонстрирует.


          1. master_of_mastery
            19.08.2016 12:56

            Нужно говорить «вместе с друзьями».

            А говорят просто «с друзьями». И это надо распознавать.


            1. edd_k
              19.08.2016 14:06

              Но это решаемая проблема. Если бы дело было только в ней, то можно было бы решить ее так и наслаждаться общением с машиной.

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


    1. Sadler
      18.08.2016 16:37

      Мы сами зачастую не можем формализовать правила языка, почему похожие конструкции означают совершенно разные вещи и явления, как без этого мы можем языку научить машину?
      Этот случай формализуется весьма просто: 1) анализируем фразу и находим два возможных смысла («вместе с X» и «содержащие X»). 2) Если X съедобен, будем считать, что можно есть пирожки, содержащие X. Во всех остальных случаях используем вариант «вместе с X», либо анализируем остальной текст и ищем подсказки там. 3) после разрешения всех или большинства подобных моментов текст условно понятен.

      Здесь скорее сложность в том, чтобы научиться оценивать мир по неким признакам, вроде той же съедобности, шерстистости и мяучести :)


      1. JediPhilosopher
        18.08.2016 17:10
        +6

        > Если X съедобен, будем считать, что можно есть пирожки, содержащие X. Во всех остальных случаях используем вариант «вместе с X»

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

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


        1. Sadler
          18.08.2016 17:33

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


        1. sapper
          18.08.2016 21:42
          +2

          «Если мы воткнем вилку в столешницу» — вилка будет торчать.


        1. Pakos
          19.08.2016 14:58
          +1

          Это потому что птичка не цапля, цапля будет стоять.


        1. don_ikar
          20.08.2016 22:49

          … а в раковине те же тарелка со сковородкой будут лежать, даже если будут расположены вертикально.

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


      1. ankh1989
        18.08.2016 19:32

        Не, "пирожки с друзьями" вполне съедобны и могут иметь два смысла и мы понимаем, что вероятность первого смысла где то 99% а вероятность второго — 1%, и потому делаем предположение, что имеется ввиду первый смысл. Однако если фраза "пирожки с друзьями" сказана в определённой обстановке, то там уже вероятности меняются и мы делаем другое предположение.


        1. Sadler
          18.08.2016 20:57

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

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

          Англоговорящим в этом плане повезло несколько больше, у них нет целого пласта проблем, которые мы имеем в русском языке.


          1. Doktor_Gradus
            22.08.2016 15:25

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

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

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


          1. saboteur_kiev
            22.08.2016 15:37
            +1

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


            1. Sadler
              22.08.2016 16:54

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


              1. saboteur_kiev
                23.08.2016 03:15

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

                Вместо перечисления словоформ, просто научите программу работать с префиксами и суффиксами так, как вы англоязычную научили работать с a, the, have, do, bin и др.


                1. Sadler
                  23.08.2016 06:20

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


                  1. saboteur_kiev
                    23.08.2016 19:29

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


      1. VIPDC
        19.08.2016 06:40

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

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


        1. Pakos
          19.08.2016 15:00

          Пойду на кладбище приберусь.


      1. martin_wanderer
        20.08.2016 16:19
        -1

        Ха, «съедобен». Вот скажите, корзинка — съедобна или нет?


        1. Sadler
          20.08.2016 16:59

          А в чём сложность? Корзинка как мера объёма съедобного — съедобна. Корзинка как материальный объект несъедобна.


          1. martin_wanderer
            20.08.2016 17:11

            А как насчет пирожного «корзинка»?


            1. Sadler
              20.08.2016 17:20
              -1

              Не знаю такого пирожного.


    1. phvoryh
      18.08.2016 20:30

      С точки зрения языка как-раз таки всё просто: «с грибами» относится к «пирожки», а «с друзьями» — к «я». Возможное рассуждение компьютера:
      1) «с грибами» относится к «ел» (грибы отдельно от пирожков) или «пирожки» (грибы внутри пирожков), так как эти слова одной тематики «еда». У «пирожки» приоритет выше, потому что в реальности часто встречаются объекты «пирожки с грибами».
      2) «с друзьями» относится к «я», так как это термины одной категории «люди».
      3) «с котятами» относится без понятия куда. Компьютер вероятно отнесет их к «пирожки», сочтя это устойчивым выражением. Без контекста всё это рассуждение является чепухой, потому что повествование вполне может вестись от лица кота: тогда «я» и «котята» будет принадлежать к одной категории «коты» и компьютер поймет, что «с котятами» относится к «я».


      1. master_of_mastery
        19.08.2016 10:36

        С точки зрения языка как-раз таки всё просто: «с грибами» относится к «пирожки», а «с друзьями» — к «я».


        «Доктор Ганнибал Лектор ел пирожки с друзьями» — все еще просто?


        1. phvoryh
          19.08.2016 11:57

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


          1. master_of_mastery
            19.08.2016 12:30

            то без дополнительного контекста компьютер не может понять

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


            1. phvoryh
              19.08.2016 13:00

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

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

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

              Я вижу две проблемы:
              1) Сложность естественных языков, битком набитых правилами и исключениями из этих правил, то есть проблема парсинга текста естественного языка в некую структуру, пригодную для анализа.
              2) Компьютер не обучается естественно и не накапливает ту колоссальную базу знаний о мире, которая есть у человека: что является едой, что является человеком, какие есть устойчивые выражения и так далее.

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


        1. Pakos
          19.08.2016 15:05

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


    1. grokinn
      18.08.2016 21:06
      +1

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


      1. Dum_spiro_spero
        19.08.2016 01:21

        Да. Необходим контекст. И даже так — бэкграунд.
        Скажем пирожки с котятами в культуре народа где принято есть кошек — нормальное выражение. Правда почему оно оказалось переведено на русский? Но это уже проще.
        А есть еще более забавные примеры.
        Вот что означает вопрос «У тебя есть?». Если диалог происходит в московском клубе нулевых, то ответ вполне очевиден.


    1. TimKruz
      19.08.2016 16:26
      +1

      Я вот потихоньку делаю собственную модульную систему (платформу) универсального (за счёт модульности) искусственного интеллекта, и у меня есть собственный алгоритм «интеллект-ядра» (центрального модуля, этакий неокортекс для ИИ), который основан на автоматических ассоциациях и подражании окружающей среде (без использования ИНС; но можно сделать — на любом ЯП — и подключить другое ядро, с ИНС). Так вот в рамках этого алгоритма описанная проблема вполне решается. Каждая полученная фраза (внешний раздражитель, влияющий на модули-рецепторы) возбуждает определённые ассоциативные цепочки, в конце которых стоит ссылка на другие ассоциативные цепочки (генерируется сложная мысль) или на команды модулям-эффекторам (выход информации из ядра, совершение системой действия). При этом, конечно же, учитывается контекст (несколько последних задействованных цепочек).

      я ел пирожки с грибами

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

      я ел пирожки с друзьями

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

      я ел пирожки с котятами

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

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

      Вот такие дела. Я стараюсь приблизить алгоритмы своего проекта к алгоритмам, по которым действует человек, с рождения до взросления… Уж не знаю, насколько это всё точно получается. (Ссылки пока нет, проект на стадии закрытого альфа-тестирования)


    1. EndUser
      21.08.2016 05:08

      https://ru.wikipedia.org/wiki/Творительный_падеж
      «с грибами» — я так понимаю, это «аспект».
      «с друзьями», соответственно, «агенс».
      «с котятами» вообще фразеологизм из базы фразеологизмов.
      И так по каждому падежу — много функций в одной грамматической форме (в русском или ином естественном языке), но все функции лингвистам давно известны.
      Кажется, что творить речь легче, чем воспринимать.


  1. attuda
    18.08.2016 14:13
    +3

    Дубль: https://habrahabr.ru/company/payonline/blog/307666/


  1. toteKopf
    18.08.2016 17:16

    «Затем он создал программу, назвав её SHRDLU» — сразу вспомнилось: «Фредерик Браун. Этаоин Шрдлу»


  1. daiver19
    18.08.2016 17:28

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

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

    Везде это называется embeddings, а тут, понимаете ли, мысленные векторы.

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


    1. Sadler
      19.08.2016 19:41

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


  1. RigelNM
    18.08.2016 20:29

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

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


    1. Cubicmeter
      18.08.2016 21:55
      +2

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


      1. TimKruz
        19.08.2016 17:16

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

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


        1. Cubicmeter
          23.08.2016 17:17

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

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

          Людям-то часто непонятны нужды другого человека, что уж говорить о машинах? Без весьма обширных сведений о том, что такое человеческое бытие, без common sense knowledge, машина в лучшем случае будет походить на отрешенного сумасшедшего, которому все по барабану.


          1. TimKruz
            24.08.2016 13:02
            +1

            А откуда у вас знания о слепоглухонемых? Я бы почитал.

            Нашёл в интернете книги по запросу «обучение слепоглухонемых детей». Ну и что-то я до этого ещё знал откуда-то.

            единственная потребность которой — электропитание?

            Потребности можно создать искусственно, например, потребность к общению с людьми.

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

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

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


    1. Mad__Max
      18.08.2016 22:03

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

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

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

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

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


      1. Xom
        21.08.2016 11:11

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


        1. Mad__Max
          21.08.2016 21:15

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

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

          Если же там хранится набор данных что кот — это животное, кот не имеет крыльев и «правило», что животные(а может и не животные а вообще произвольные объекты) не имеющие крыльев — не летают. То можно говорить, что сеть «понимает», что кот не летает именно потому, что у него нет крыльев, а не потому что она это запомнила в виде готового утверждения.

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

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

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

          А рассудить кто прав может только «вскрытие».


          1. Xom
            23.08.2016 21:40
            -2

            «Если же там хранится набор данных что кот — это животное, кот не имеет крыльев и «правило», что животные(а может и не животные а вообще произвольные объекты) не имеющие крыльев — не летают».

            Уже пробовали, в — Copreno от ABBYY с веселыми рассказами тут их онтоинженеров. Так не получится. Девид Ян угробил на 17 лет 300сот таких оноинженеров и еще полмиллиарда сколковских денег после этого и результат работы с такими выводами на онтологиях низкий. И при том, наверно понятно, что сеть не может ответить «нет». Это как раз и есть ВЫВОД. Его не натренируешь на текстах. Потому что слово «нет» отдельно одинаково встречается как отрицание всех закрытых вопросов. Мозг — это не набор правил. Это нечто другое, внешне похожее на правила. Правила — это всего лишь надводная часть механизма мозга. Итог, но не механизм его получения.


          1. saboteur_kiev
            24.08.2016 05:40

            «Если же там хранится набор данных что кот — это животное, кот не имеет крыльев и «правило», что животные(а может и не животные а вообще произвольные объекты) не имеющие крыльев — не летают. То можно говорить, что сеть «понимает», что кот не летает именно
            потому, что у него нет крыльев, а не потому что она это запомнила в виде готового утверждения.»

            При этом любое животное без крыльев будет распознаваться как кот? Даже если оно не существует в природе, а просто нарисовано на картинке?

            Чтобы сказать, что «сеть понимает», надо слово «понимает» очень переделать.


            1. Mad__Max
              25.08.2016 02:12

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

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

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

              еще Х объектов-животных у части которых в признаках записано что крылья есть, у других что нет, у каких-то такого признака нет

              Теперь если ее спросить — это животное без крыльев, кто это? Или прямо: у этого животного нет, крыльев, значит это кот, верно?
              Почему она должна решить что этот кот? У нее будет целый набор животных у которых в признаках стоит отсутствие крыльев. Поэтому на 1й она скорее всего ответит «я не знаю»(т.к. возможных объектов под такой фильтр попадает множество и выбирать просто 1й попавшийся из них означает низкую вероятность того что ответ окажется правильным и чем больше оъектов-животных записано, тем выше вероятность что ответит не знаю) либо задаст уточняющий вопрос на базе остальных сохраненных признаков — например спросит сколько ног у этого животного или есть ли у него хвост. А на 2й ответит либо нет или что есть другие животные у которых нет крыльев.

              P.S.
              Споры про «понимает» уже поднадоели. Если копаться до сути, то люди тоже нефига и ничего не понимают. Просто определенные звуковые и световые сигналы раздражают чувствительные клетки, те дергают нейрончики, сигналы проходят по разветвленной (огромной и очень сложной — на порядки крупнее и сложнее чем рассматриваемые сейчас примеры) сети и выбирается один из «выходов» нейросети — произнести набор определенных вибраций голосовыми связками, который окажется наилучшим образом отвечающим входным раздражителям + предыдущему опыту в схожих ситуациях.


              1. Sadler
                25.08.2016 09:19

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


    1. TimKruz
      19.08.2016 17:07

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

      Чтобы ИИ научился понимать слова, у него должны возникнуть ассоциативные связи между образами слов и образами, которые обозначены этими словами. Однако, если показывать одну картинку и давать набор слов, её описывающий — получится очередной классификатор, не более того. У ИИ должна быть возможность взаимодействовать с предметами в игровой форме, ИИ должен получать с каждым разом усложняющиеся фразы, описывающие предметы, с которыми он играет, и желательно эти фразы должны иметь связь между собой, чтобы выстраивались правильные ассоциативные связи между ними. Короче, чтобы получить взрослого искусственного человека нужно сначала создать искусственного ребёнка, а затем некоторое время обучать его, как обучают обычных детей. Но искусственному ребёнку в голову нужна не ИНС, потому что существующие ИНС всего лишь копируют поведение нейронов (очень условно и очень неэффективно), а алгоритм, который реализует основные принципы, реализованные в мозгу и нервной системе (я как раз занят разработкой системы, на базе которой можно разместить подобный алгоритм, и у меня есть примерное представление требуемого алгоритма; а можно разместить и любой другой алгоритм, это если другие разработчики подключатся).

      Тогда получится, что фразу «Мы ели пироги с котятами», компьютер будет понимать одним способом:… Учитывая его знание, что есть можно с чем-то или совместное с кем-то. То он выберет второе.

      Человеческий мозг не производит такого разбора фраз по понятиям и не производит описанных логических выводов. Он просто определённым образом реагирует на раздражители. Вот сказали ему «мы ели пироги с котятами» — эта фраза возбудила у него ассоциативную цепочку вида «мы -> ели -> пироги -> с -> котятами» — в конце цепочки оказался образ фразы «изверги!» — фраза отправилась через «декодировщик» к речевым эффекторам, то есть человек произнёс заготовленную фразу. Всё. Больше, я думаю, никаких процессов в мозгу не происходит.

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


      1. Xom
        21.08.2016 11:38

        «Как попала фраза «изверги!» в ассоциативную цепочку? Да просто когда-то человек уже бывал в подобной ситуации — он услышал приблизительно ту же фразу про котят, после которой последовала фраза «изверги!»» Тогда надо, чтобы кто-то первым произнес «изверги!». А такого существа по Вашему описанию не существует. Еще у «мозга» можно спросить «почему изверги?» и «мозг» объяснит. Объяснение он тоже где-то ранее подслушал? Все таки процессы в мозгу сложнее. Он умеет делать выводы, рассуждать. Рассуждение — это «действие словами» (с). Человек умеет оперировать мысленными образами, а не только выдавать ранее увиденные или услышанные.


        1. TimKruz
          21.08.2016 12:48

          Тогда надо, чтобы кто-то первым произнес «изверги!». А такого существа по Вашему описанию не существует.

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

          Еще у «мозга» можно спросить «почему изверги?» и «мозг» объяснит. Объяснение он тоже где-то ранее подслушал?

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

          Выводы — обычные связки цепочек, рассуждение — последовательности взаимосвязанных концами цепочек (т.е. замыкание системы на саму себя). Естественно, цепочки не статичны, а изменяются динамически во время работы, т.е. происходит «мышление».

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


        1. TimKruz
          21.08.2016 12:58
          +1

          А, забыл добавить. Хоть мозг и способен делать выводы сам, но на большинство вопросов за ребёнка/подростка отвечают другие люди: например, в школе (да и в ВУЗах тоже) на уроках почти всегда объясняют, почему так, а не иначе, а не заставляют производить собственные исследования (т.е. изобретать велосипед, что очень трудно).

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


  1. nochnoj
    18.08.2016 20:31
    -3

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


    1. playermet
      18.08.2016 21:55

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


      1. nochnoj
        18.08.2016 23:58

        Язык не подчиняется конкретным правилам. Грамматика — не правила языка, она — его описание, причем довольно примерное. О языке вам лучше спросить лингвистов все-таки, а не программистов.
        Контекст часто не может быть определен достаточно точно даже для человека, иначе бы все друг друга понимали, ваш ответ это демонстрирует, кстати. Есть целая наука — семиотика, которая этим занимается. Ученые которые занимаются проблемами ИИ уже полсотни лет решают очень многие важные и нужные задачи, которые решать необходимо, а фантазиями насчет искусственного разума занимаются дилетанты, которые и создают этот базз. И ученым приятно что о них все говорят и дилетанты дают волю своим фантазиям, все довольны.

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


        1. playermet
          19.08.2016 04:38

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


  1. Mad__Max
    18.08.2016 21:25

    Недавно Ли создал программу, способную генерировать сносные ответы на непростые вопросы. Она тренировалась на диалогах из 18 900 фильмов. Некоторые ответы пугающе точно попадают в точку. К примеру, Ли спросил „В чём смысл жизни?“ и программа ответила „В служении высшему добру“. „Неплохой ответ,- вспоминает он с ухмылкой. – Возможно, лучше, чем я бы ответил сам“.


    Да не просто неплохой ответ, она там вообще отлично разговоры на философские темы задвигает:
    Human: what is the purpose of life?
    Machine: to serve the greater good.
    Human: what is the purpose of living?
    Machine: to live forever.
    Human: what is the purpose of existence?
    Machine: to ?nd out what happens when we get to the planet earth.
    Human: where are you now?
    Machine: i’m in the middle of nowhere.
    Human: what is the purpose of dying?
    Machine: to have a life.
    Human: what is the purpose of being intelligent?
    Machine: to ?nd out what it is.
    Human: what is the purpose of emotions?
    Machine: idon’tknow.


    Да и с ногами когда тупит, все совсем неплохо:
    Human: who is skywalker?
    Machine: he is a hero.
    Human: who is bill clinton?
    Machine: he’s a billionaire.
    Human: is sky blue or black?
    Machine: blue.
    Human: does a cat have a tail?
    Machine: yes.
    Human: does a cat have a wing?
    Machine: no
    Human: can a cat ?y?
    Machine: no.
    Human: how many legs does a cat have?
    Machine: four, i think.
    Human: how many legs does a spider have?
    Machine: three, i think.
    Human: how many legs does a centipedehave?
    Machine: eight.
    Human: what is the color of the sky?
    Machine: blue.
    Human: what is the color of water?
    Machine: water.
    Human: what is the color of blood?
    Machine: it is the same as a black eye.
    Human: what is the usual color of a leaf?
    Machine: it is a green one.
    Human: what is the color of a yellow car?
    Machine: yellow.
    Human: how much is two plus two?
    Machine: four.


    Остальные примеры тут: http://arxiv.org/pdf/1506.05869v3.pdf
    №5 еще доставляет — машина «не хотела» отвечать на вопрос и начала тупить, человек начал ее немного троллить — сеть в ответ начала проявлять что-то похожее на эмоции, притом что в отличи от «чат-ботов» ее на это никто не программировал.

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

    А такие смешные ляпы типа 3х лапок у паука думаю просто из-за недостатка «емкости» — как бы хорошо сеть не тренировали как бы она хорошо не училась — если ее объем меньше чем весь словарный запас + связи в нем, то «глупые» ошибки будут вылезать в обязательно порядке.


    1. Dum_spiro_spero
      19.08.2016 01:31

      Хм. Кстати насчет эмоций. А что у нас с эмоциональными подтверждениями? В жизни ведь как — выделился пусть там дофамин или серотонин — вот наш взгляд на вопрос и изменился. Увеличение веса (в нейронной сети) — можно рассмотреть как результат выделения гормона.
      Скажем смех — это реакция несогласия. Если несогласие в определенных рамках тренировать подтверждениями, а точные ответы — наоборот — менее поддерживать — то получим нейронную сеть с таким чувством юмора, что с ней будет невозможно поговорить на серьезные темы!


      1. arheops
        19.08.2016 09:57

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


    1. Cubicmeter
      19.08.2016 14:31

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

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


      1. TimKruz
        19.08.2016 16:50
        +1

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

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

        Пытаться перепрыгнуть этот этап и сразу перейти к языку — бесполезный труд.

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


    1. Hardwar
      20.08.2016 20:55

      Устный счет:

      Human: how much is ten minus two?
      Machine: seventy — two

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


      1. Mad__Max
        21.08.2016 21:44

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

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

        Кстати почему 72? У меня идей как раз нет как такой странный ответ сформировался. Причем конкретно эта сеть «не стесняется» отвечать «я не знаю», когда у нее нет подходящих данных. В отличии от чат-ботов, которые в этом случае обычно отвечают стандартными/бессмысленными фразами не относящимися к вопросу или переводят тему или отвечают вопросом на вопрос.
        Т.е. в этом случае сеть «была уверена» (рассчитала высокую вероятность) что 72 это правильный ответ на вопрос сколько будет из 10 вычесть 2. Иначе бы она просто выбрала ответ «я не знаю».


  1. xxvy
    19.08.2016 08:57

    Косил косой косой косой

    А ещё есть матерные выражения…


    1. Dum_spiro_spero
      19.08.2016 11:36

      Про косу — тут человек-то запутается — но в принципе — комп может разобраться — дерево вариантов несложное. Ну и начинается с глагола, что является мощной подсказкой. А с матерными… нужна ситуация. Если разговор скажем двух автомехаников записать и расшифровать — то будет непонятно, что они имеют ввиду — все матерные замены обычных слов будут указывать на конкретные предметы/действия про которые мы не знаем. Т.е. в таком (например) виде эта задачка трудна и для человека.
      А вот кстати забавная иллюстрация — песня нашего барда Сергея Калугина «Баллада о тыдыхе».
      http://mp3xl.org/mp3/5056450-sergey_kalugin-ballada_o_tidihe/
      Дисклаймер — в песне присутствует нецензурная лексика, уберите детей от звуковоспроизводящих устройств!


    1. Mad__Max
      21.08.2016 21:55

      Ха, как правильно сказано — таким и человека запутать можно (а если язык не родной, то вообще элементарно).

      У меня вот например в мозгу парсер уже после 3й косы сломался. Косил — глагол (что делал), косой — кто косил (толи заяц, толи бухой человек), косой — инструмент которым косил, а вот что же именно косили — тут у меня парсер на 4м слове и сломался :)

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


  1. saboteur_kiev
    21.08.2016 23:09

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

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


    1. Dum_spiro_spero
      21.08.2016 23:50

      Далеко? Аха, щаззз.
      (Ваш ИИ).


    1. playermet
      22.08.2016 12:37

      Уже есть. Ложбан — https://ru.wikipedia.org/wiki/%D0%9B%D0%BE%D0%B6%D0%B1%D0%B0%D0%BD.