(User Chmouel on en.wikipedia: file )
Книга Дэвида Минделла «Восстание машин отменяется! Мифы о роботизации» оставила сильное, но двойственное впечатление. Прежде всего стоит посмотреть комментарии, из которых видно, какую гигантскую работу проделал автор, обобщив огромный материал из очень значимых источников. В нескольких словах: роботы под водой, на земле, в воздухе, в космосе и на других планетах: Луна и Марс. В последнем случае, правда, упущение – сейчас роботы долетели до края Солнечной системы, но о них в книге, к сожалению, не упомянуто. Но и то, что упомянуто, позволяет автору сделать общие выводы о перспективах робототехники.
С основным выводом полностью согласен: абсолютная автономность – вредный миф. По крайней мере, на ближайшие десятилетия. На собственном и на чужом опыте автор подробно показывает, что в наши дни наиболее успешными являются системы, где достаточно полно реализуется взаимодействие человека с автоматом, а не отчуждение человека от процесса принятия решений. В правильности этой идеи лично я убедился на своем скромном примере игровых ботов для игры КР2HD: бот для планетарных битв по нашей с соавтором идее должен быть полностью автономным, и сейчас этот проект забуксовал. В новом проекте бота для прохождения битвы у Роджерии, благодаря этой многоходовой битве, можно получить львиную долю очков всей игры, я выбрал полуавтоматический режим: относительно рутинные операции (некоторые не тривиальные, так как приходится использовать распознавание образов) выполняет бот, но при наступлении определенных условий он не пытается «блеснуть интеллектом», а запрашивает вмешательство игрока. Делает он это не часто: сейчас успел написать вышеизложенное на одном компьютере, а бот в то время накручивает мне очки на другом. И так как этот подход оправдал себя, опишу его подробнее в отдельной статье. За раздражающими примерами попыток разных программ «блеснуть интеллектом» далеко ходить не приходится: в старом Microsoft Word 2000 при установках по умолчанию затруднительно набирать фразу «Цикл со счетчиком i …» — Ворд тут же заменяет «i» на «I».
Возвращаюсь к книге. Согласившись с основным утверждением про перспективность не автономности, должен отметить, что читать было не просто из-за авторских повторов, текст явно и сильно избыточен, но тем не менее прочел каждое слово. В самом конце автор, критикуя «гугломобили» (автомобили Google без шофера), еще раз в явном виде перечислил три мифа роботизации:
Как это ни забавно, именно такая высокотехнологичная компания, как Google, в своей риторике шагает назад в XX век, архаически выставляя водителя пассивным наблюдателем. Их «новый» подход становится жертвой всех трех порожденных XX веком мифов о роботах и автоматизации: 1) автомобильная техника должна логически развиваться до полной, утопической автономности (миф о линейном прогрессе); 2) автономные системы управления освободят водителя от обязанности водить (миф замещения); 3) автономные машины могут действовать полностью самостоятельно (миф о полной автономности).
Прочитав в книге массу историй, в частности, о том, что при всех посадках на Луну, начиная с Нила Армстронга, – все астронавты выключали автоматическую посадку и садились вручную, пользуясь при этом информацией бортового компьютера, аналогично было при посадке Шатлов на Землю, я согласен с автором. Однако чуть ниже автор рассказывает о новом проекте, в котором он участвует. Это проект ALIAS – система автоматического управления самолетом. Все выглядит хорошо, но поставлена амбициозная задача: минимумом усилий оснастить ею любой самолет так, чтобы не сертифицировать снова воздушное судно полностью, не вмешиваться в его конструкцию. В частности, использовать компьютерное зрение, чтобы считывать информацию с дисплеев, установленных в кабине самолета. Прочитав это, схватился за голову – перестал что-либо понимать и могу только догадываться. Может, мне показалось, но автор хочет разместить в кресле второго пилота web-камеру, направленную на дисплей и распознавать информацию с этого дисплея! Это же дико усложнит систему и сильно понизит надежность. Разве не проще подсоединиться к бортовому компьютеру с помощью USB-кабеля и качать цифровой поток напрямую без всякого распознавания? Возможно, что любое подсоединение, даже только на чтение, требует сертификации, но идти на распознавание, чтобы только избежать сертификации — это абсурд. Так же как в этом плане абсурдны мои боты с распознаванием – если бы у игры был COM-интерфейс, все задачи моих ботов решались бы тривиально.
Интересно, что во всей книге автор нечасто произносит «ИИ», при этом заявляя, что не будет обсуждать вопрос «может ли машина мыслить». Возможно, вопреки общему мнению, автор не считает задачи распознавания образов задачами ИИ? Дело не в названии, а в том, что это принципиально иные задачи. Упрощенно говоря, в исправной вычислительной среде дважды два всегда будет четыре, но та же среда не всегда правильно распознает цифру «2» с бумаги или с монитора. Пока человек распознает образы гораздо лучше компьютера, но и он ошибается. Так, не все и не всегда сразу могут понять каждое слово, что поет какой-нибудь вокально-инструментальный ансамбль на казалось бы знакомом языке. И в зрительной области у человека бывают иллюзии и миражи:
– У меня вчера была галлюцинация: я так перепугалась, что плохо спала всю ночь, – сказала мне больная. – Вхожу вечером в комнату и вижу: в лучах луны стоит какой-то человек. Я удивилась – кто бы это был? Подхожу ближе, а это мой халатик висит на стене, а вверху шляпа. Вот тогда я перепугалась еще больше: раз у меня галлюцинация, значит, я тяжело больна.
А пугаться-то было нечего. Это была не галлюцинация, а иллюзия, то есть неправильное, искаженное отражение реального предмета. Халат и шляпа показались человеком.
(Константин Платонов, Занимательная психология, «РИМИС», 2011.)
Другой широко известный пример затруднительного распознавания — это капчи, на которые натыкаешься в Интернете на каждом шагу. Бывают такие каракули, что приходится несколько раз нажать на кнопку смены капчи, прежде чем удается «доказать, что
Так получилось, что до прочтения книги Минделла мне захотелось перечитать «Навигатора Пиркса» Станислава Лема. Можно сказать, что это хроника катастроф, к которым герой имел какое-то отношение на протяжении своей карьеры, и почти в каждой из этих катастроф участвует ИИ. В результате возникают похожие вопросы, что и в книге Минделла. Можно только поражаться, что Лем угадал проблемы, которые будут актуальны при современном развитии роботизации. К сожалению, Минделл не упоминает Лема, а могли бы быть интересные параллели. Если относится к выдуманным Лемом ситуациям как к моделям, то многие из них подтверждают утверждения Минделла.
Конечно же, Лем предвидел не всё. Так, он не предвидел взлома, не предвидел вирусов и «троянских коней» (хотя и моделирует случаи неадекватного проведения роботов, но не в результате предумышленного взлома ОС). Однако странно, что в наше время постоянных катастроф, связанных со взломами, о них ничего не говорит Минделл. На мой взгляд, в этом плане он чем-то напоминает Азимова, у которого три закона робототехники обеспечивают гармоничное сосуществование людей и машин. При этом не автономность, то есть подконтрольность оператору-человеку, может не спасти — Минделл неоднократно отмечает, что грань между автономными и неавтономными устройствами постепенно стирается и одно и тоже устройство может работать как в автономном, так и в не автономном режиме, подобно бортовому компьютеру упомянутого выше спускаемого на Луну отсека «Аполлон». При этом выглядит очевидным, что робот, в которого внедрен «троян», превратится в шпиона, а робот, зараженный вирусом, может совершать крайне неадекватные и опасные действия. Почему в книге об этом не сказано? Может потому, что такая слишком реальная угроза опровергает слишком оптимистичный заголовок книги про отмену восстания машин?
Комментарии (71)
third112
10.07.2017 00:57В ряде тестов машины превзошли человека как раз в распознавании образов. До звуков, видео и текста рукой подать (в пределах десятилетия).
В одном из московских н.-т. журналов 1960х гг. читал утверждение, что к концу пятилетки ЭВМ будет писать стихи на уровне Пушкина. К сожалению, не могу найти точную ссылку — если у кого есть, сообщите, pls.ИИ — это маркетинговый термин
Прежде всего этот научный термин computer sci. Да, «deep learning» одна из важных составных AI.
hungry_ewok
10.07.2017 12:26+1В нескольких словах: роботы под водой, на земле, в воздухе, в космосе и на других планетах: Луна и Марс.
… а людей загнали перекладывать бумажки в офисах, сидеть на кассах и заниматься прочими видами деятельности для которой достаточно было бы несложного скрипта.
Поздно беспокоиться о бунте машин, он уже случился.eugenebabichenko
10.07.2017 13:47Пример кассы не совсем корректный. У меня в магазине возле дома есть 4 автоматических кассы, а люди всё равно идут в кассу с кассиром. Потому что в автоматической кассе надо самому пробить все товары, выбрать себе пакет, сложить, как только не ту кнопку нажал — сразу паника. Вот это будет работать только после полноценного внедрения NFC в эту отрасль, чтоб положил в кассу пакет и он посчитался, но я не ручаюсь за стоимость такого решения.
А что до бумажек — тут скорее проблема во внедрении электронного документооборота, тогда станут не нужны бумажки, как и люди, которые их перекладывают. Но тут проблема, опять же, в грамотности населения. Потеряет человек свой приватный ключ, забудет пароль к нему, и что дальше? А подписать бумажку — это просто и понятно, хотя на самом деле проблема огромная, хотя бы потому что клерки к проверке подписей и печатей относятся наплевательски.
zirix
10.07.2017 14:10Вот это будет работать только после полноценного внедрения NFC в эту отрасль, чтоб положил в кассу пакет и он посчитался
Идея отличная, но не сработает.
В России уже запускали подобную штуку. На товар клеили RFID метки и касса сама считала товар без необходимости его доставать.
Но возникли проблемы со считыванием, даже бутылки с водой могли мешать считывать товар.eugenebabichenko
10.07.2017 16:48+1А можно ссылку на этот случай? Найти что-то не получается.
zirix
10.07.2017 23:06-1
http://www.rusnano.com/projects/portfolio/shop
В гугле без тех. подробностей, постараюсь узнать больше деталей...
zuwr2t
10.07.2017 18:07+2Для меня автомобили всегда были автономны полностью. К сожалению, сейчас в полной комплектации они должны содержать водителя. Если прогресс интеллекта автомобиля не ведет к избавлению от этого ретро-элемента, то для меня это не прогресс.
ПС: пример с автозаменой в ворде явно показывает что автор не понимает что из себя представляет даже современный «ИИ».third112
10.07.2017 18:12М.б. не автор, а уважаемый Микрософт не понимает, раз его программы претендуют на такой «ИИ»?
VWise
10.07.2017 18:07Желание обойти повторную сертификацию не абсурд, так как процесс крайне дорогой (один из пунктов, 1000ч полетов по ряду тестов) — ниодна авиакомпания не согласится на это. Маркетинг.
Vinchi
Автор, почитай про deep learning. В ряде тестов машины превзошли человека как раз в распознавании образов. До звуков, видео и текста рукой подать (в пределах десятилетия).
А книга действительно интересная.
Насчет терминологии — ИИ — это маркетинговый термин. Есть несколько классов подходов с общим собирательным названием «машинное обучение». Они развиваются уже не одно десятилетие. И будут развиваться дальше. Сейчас очередной всплеск активности в этой области из-за быстрого накопления данных и увеличения скорости вычислений.
saboteur_kiev
Машина не может превзойти человека в общем распознавании образов — для этого машине нужно знать о всех объектах, существующих в мире. Образы распознаются только после конкретного обучения конкретным образам.
Если машину обучили распознавать котиков, то одновременно дорожные знаки или телевизоры, она сама распознать не научится. ТО есть это немного подмена понятий…
alexeykuzmin0
Постойте, но разве у человека не так? Если он всю жизнь видел только котиков, то дорожный знак от телевизора он не отличит.
Давайте все же не будем предъявлять к системам машинного обучения более высокие требования, чем к человеку
saboteur_kiev
Компьютер вообще не размышляет. Он или маркирует объект или не распознает его.
Машинное обучение без посторонней помощи пока что невозможно в принципе. Человек должен сперва показать машине все правильные варианты, на которых машина учится.
Все, что делает машина во время «обучения» — это расставляет кучу метрик и их стоимость.
Как в спаме — если в письме полно английских и русских букв в перемешку — добавим 10 очков.
Если письмо с неподтвержденного домена — добавим 50 очков
Если пустой сабжект — добавим 10 очков.
Вот только несколько сотен таких метрик вручную уже расставить сложно. А несколько десятков тысяч — невозможно. И машинное обучение просто расставляет эти очки, анализируя подтверждение человека, что на изображении действительно есть или нет требуемый объект.
Человек напротив. Определяет неизвестный объект, и достаточно легко может отличить один от другого. Он не всегда знает его назначение, но в процессе наблюдения может это выяснить самостоятельно. После определенного уровня развития (когда словарного запаса достаточно для поддержания мысленного диалога), человек потенциально способен обучаться сам весьма эффективно.
alexeykuzmin0
Я не согласен с этим утверждением, но допускаю шанс того, что неверно его понял, поэтому давайте рассмотрим эту ситуацию на примере. Пусть у нас есть человек, который к физике никакого отношения не имеет, и мы показываем ему две картинки: на одной — токамак, а на другой — стелларатор. Я правильно понимаю, что вы утверждаете, что человек сможет подумать и правильно определить, что где?
zirix
Человеку достаточно один раз показать эти изображения и сказать что там нарисовано. После чего он сможет распознать изображенные объекты в различных условиях и под разными углами.
svr_91
Я помню лабораторные на уроках биологии. Смотришь в учебнике на всякие митохондрии, вакуоли и т.д., потом открываешь задание, где нарисовано все то же самое, и в течении часа втупляешь, что где. Хотя вроде и картинки одинаковые…
alexeykuzmin0
Один раз? Что-то мне не верится. Каким образом, по-вашему, человек должен самостоятельно догадаться, что является важным — различие в форме или, скажем, в цвете? Человеку придется либо дать очень подробное объяснение того, что это такое, либо хотя бы несколько изображений.
И учтите, что у человека есть предыдущий жизненный опыт, т.е. он не обучается с нуля. Честно говоря, я не вижу принципиальных проблем с тем, чтобы нейросеть, скажем, настроенная на распознавание большого числа различных классов, была дообучена на отличие токамака от стелларатора на основе всего нескольких изображений. Да, наверное, она будет ошибаться немного чаще, чем человек или ей потребуется неколько больше изображений, но принципиальной разницы не будет.
PS: Месяц назад учил годовалую дочь дуть мыльные пузыри. Для достижения эффекта мне пришлось показать, как это делается, несколько сотен раз.
zirix
Если говорить про конкретный стеллатор от конкретного токамака, то найти в них отличия не очень сложно, как минимум — цвет какой либо крупной детали. Искать важные детали тут не нужно, главное найти на фотографии сам объект (его границы)
Если про классифицкацию объектов, человек очень хорошо умеет описывать свойства объектов используя сложные абстракции. Человек, далекий от науки, с большой вероятностью обнаружит, что токамак "прямой", а стеллатор сложной формы.
У человека есть мышлениее/интеллект, который берет на себя основные функции по распознованию. Именно мышление позволяет человеку манипулировать/описывать реальность сложными абстракциями (форма, цвет и более сложные).
Наличие мышления — это главная причина различий в обучении человека и НС.(обучение за один раз и тп)
dklein
Ну, если бы всё было так просто и вопрос бы действительно стоял в том, чтобы «знать о всех объектах, существующих в мире». Человек тоже не знает обо всех объектах в мире, но он умеет догадываться и категоризировать неизвестные объекты, зачленяя тот или иной новый объект в какую-то категорию. Никто в мире не видел всех лиц, никто в мире не видел все модели машин или типы домов, однако каждый без проблем определяет (с разной степенью точности), что этот объект — машина, а этот — дом.
third112
Не превзойти, а хоть приблизится может? Пусть с посторонней помощью? Изначально ребенок ничего не знает об «объектах, существующих в мире». За 5 лет с помощью двух или даже одного родителя, который может быть не лучшим педагогом, он узнает очень много. Может ли компания отличных педагогов за 5 лет научить машину тому, что знает пятилетний ребенок? И почему пока это не удавалось?
saboteur_kiev
Человек размышляет, машина помнит.
Машина не может самостоятельно дописать себе новую логику поведения — необходимо усилие огромного количества программистов, чотбы запрограммировать простейшее, с точки зрения живой природы, ориентацию в пространстве и взаимодействие с окружающим миром.
Принципы работы — различные. Человек перепрошивает себя, машина — оригинальный алгоритм неизменный. Если и изменяемый — то благодаря тому, что программист заранее предусмотрел это изменение, и описал его рамки. У человека нет особых рамок, за исключением физических возможностей.
Какая бы ни была умная команда педагогов, нельзя обучить чему-либо аппарат, который не воспринимает обучение как обучение.
alexeykuzmin0
Пожалуйста, напишите подробнее, в чем различие человека и машины с вашей точки зрения. Потому что вы же сами пишете, что оригинальный алгоритм машины вполне может изменяться, в определенных пределах, и что у человека эти пределы (определенные физическими возможностями) тоже есть.
В чем тогда вообще разница?
saboteur_kiev
Думаю один из значимых различий — отсутствие боли (во всех ее смыслах). Человеку очень легко объяснить, где неправильно. Накричать, ударить, наказать голодом и так далее.
Машине — в принципе все равно. Для нее -1 и 1 — это два разных варианта, которые не могут быть плохими или хорошими. Не давать электричество? отключится. Уменьшить память? не влезет что-то в кеш. При этом машина не будет понимать, где «правильно» и где «неправильно», если не разработать функцию, которая это определяет.
Сложность заключается в том, что человеку на любом этапе развития, при обсуждении проблемы любой сложности, легко можно сигнализировать, что верно, что неверно.
Машине, при разных этапах развития, непонятно как сигнализировать — необходимо разобрать ее текущий алгоритм определения и в нем вводить условия. А если алгоритм станет очень сложным — есть вероятность, что у программистов просто не хватит времени все разобрать.
Я не исключаю, что «В ПРИНЦИПЕ», на базе процессоров можно будет создать достаточный интеллект, и практически уверен что создание интеллекта, который сможет освоить абстракцию приведет к некоторой технологический сингулярности.
Но мне кажется, что сложность такой задачи — пока не поддается анализу. Но это явно не десятки лет, а больше.
third112
saboteur_kiev
Вы не поняли мою мысль.
Для начала, тамагочи ничего не чувствовала — запрограммированные вещи — нет еды, издать звук А, не гуляют — издать звук Б, понизить шкалу настроение (то есть отображать грустные смайлики). Никакой мотивации что-то делать нет, но суть не в этом.
Суть в нижней части моего комментария — при усложнении алгоритма, нужно каким-то образом сообщать, где ты идешь по неверному пути. Но старые метрики при этом уже могут оказаться бесполезными, потому что в новых алгоритмах никто их не добавлял для контроля «правильности» принятия решений.
У человека уровень абстракции очень высок. Возможность проецирования накопленного опыта в одной области на другую область — пока что неподвластен описанию в виде алгоритма на языке программирования. Слишком глубокий опыт в двух разных областях, при попытке их объединить вызывает смех. Затем смех проходит, а у нас новая ассоциация.
На текущий момент я пока не встречал реализации того, что при самообучении, компьютер сам придумывает себе новые метрики для определения успешности обучения. Есть только старые, а применять их к новым алгоритмам — нельзя.
Научившись выигрывать в шашки, он не сможет сам научиться выигрывать в шахматы — разные условия победы. И не сможет сам научиться играть в пакман — просто потому, что самостоятельно определить, где выигрыш, а где проигрыш — не получится.
third112
Всякий пятилетний ребенок «сможет сам научиться выигрывать в шахматы»?
saboteur_kiev
Нет, не схожие. Есть дети, которые издают одинаковый звук недовольства в различных ситуациях. Но при этом (сейчас будет главное) он определяет неприятные для себя условия, затем сигнализирует, что ему неприятно. Факторов может быть очень много и разных, но вывод — примерно один. И звук примерно один, ну может разная интенсивность.
Компьютер не может самостоятельно определить неприятные для себя условия без подсказки. То есть вот этот базовый момент — ребенок умеет сразу. Пряник и кнут уже заложен. Очень сложный, приспосабливающийся к разным условиям, понимающий разные уровни абстракции.
У нас пока такой пряник и кнут не разработан, и это будет сложнейший момент для реализации, требующий множества человеколет.
Поэтому вполне вероятно, что могут пойти другим путем.
Ведь на самом деле, ИИ который думает как человек — не особо и нужен.
Сейчас компьютеру нужно все пояснять, подробно и детально — именно это и называется программный код.
Нужен ИИ, который может без ошибок перевести с одного языка на другой. Который сможет безошибочно распознать команды в обычной речи и составить отчет/алгоритм, уточняя детали по ходу.
В общем, который сможет выполнить некую работу, при минимальных усилиях на пояснение задачи.
Поэтому деньги выделяют в основном под разработку специфического ИИ, который решает конкретные прикладные задачи. Насколько эти разработки помогут создать аналог человеческого сознания? Насколько смогут этим заниматься разные специалисты за свой счет?
Я не уверен, есть ли вообще в мире проекты/разработки, которые целенаправленно занимаются именно этим, а не чем-то более прикладным на каком-то заметном уровне.
mayorovp
Не путайте генетические установки с проявлением разума. В компьютер можно тоже много чего "от рождения" заложить.
saboteur_kiev
Простите, но когда в компьютер от рождения закладут столько, сколько заложено в человеческом ребенке — тогда и поговорим.
Как бы не старались кучи преподавателей и психологов с обучением ежа/ужа/курицы да даже собаки — они не смогут перепрыгнуть того, что сможет освоить ребенок.
Поэтому выкидывать эту базу — не нужно. Возможно в ней и так уже закладывается больше, чем за всю оставшуюся «взрослую» жизнь.
mayorovp
Сначала вы утверждали, что компьютер от человека отличает способность к обучению. Сейчас вдруг начали меряться тем, что заложено изначально...
saboteur_kiev
Вот не нужно, такого я не говорил.
Я говорил, что текущие ИИ (которые в основном основаны на нейросетях) — работают по принципу описанному в одном из моих комментариев выше.
Они обучаются не так как человек, а расставляют очки различным метрикам, что позволяет им оптимизировать заранее запрограммированный алгоритм. Человек может самостоятельно разработать новый алгоритм, и самостоятельно определить его корректность, без постороннего учителя. Опять же сейчас я говорю не об эффективности с которой ребенок научится делать токамаки, а о потенциально самостоятельном обучении.
alexeykuzmin0
Что вы понимаете под «разработать новый алгоритм»? Если у нас, скажем, задача классификации изображений, то нейросеть при обучении создаст нейроны, распознающие вполне разумные признаки, а если использовать L1-регуляризацию, то большая часть весов будет в точности равна 0. Таким образом, после обучения отдельные нейроны в нейросети будут отвечать за вполне разумные высокоуровневые признаки изображения, и вычислять эти признаки они будут не сложением всех пикселей с какими-то рандомными весами, а смотря на конкретное небольшое их количество.
Это ли не изобретение алгоритма? Да, пока что алгоритмы получаются не такие строгие и не такие качественные, как у человека, но получаются ведь.
saboteur_kiev
Это если ваш ИИ научился отлично распознавать дорожные знаки и разметку дороги, а затем поставить его в кофеварку.
Сможет ли он понять, что ему нужно там делать?
alexeykuzmin0
Уж не знаю, что там за задачи в кофеварке, но конечно, если запустить алгоритм на задаче, к которой он не готов, качество будет так себе. Как и у человека, кстати.
Действительно, как вы и заметили, человек учится всю жизнь, в то время как у классической нейросети есть фазы обучения и вывода, и во второй фазе она никакую новую информацию не воспринимает. Однако есть такая штука, как обучение с подкреплением (почитайте про alpha go, например, но вообще в этой области уже немало достижений). Алгоритмы из этого семейства учатся все время, используя обратную связь от окружающего мира. Таким образом, такой алгоритм, оказавшись в кофеварке, будет пытаться распознавать знаки, получать за это штрафы, и постепенно научится делать то, что от него требуют.
Это было во-первых. А во-вторых, есть такая штука, как transfer learning. Может, слышали, был недавно релиз приложения NotHotDog, классифицирующего фото на два класса: "хот дог" и "не хот дог" (https://m.habrahabr.ru/post/331740/). Там была взята нейросеть, уже обученная на базе ImageNet (классификация изображений на хренову тучу классов, и сомневаюсь, что "хот дог" один из них), а потом эта же нейросеть обучена дальше уже на нужной задаче. Такой подход позволяет значительно сэкономить время обучения.
Так что указанная вами ситуация — когда алгоритм обучается на одной задаче, а используется на другой — не просто гипотетически возможна, а уже существует и повсеместно используется
alexeykuzmin0
Кхм, пропустил слово, а исправить уже нельзя. Качество поначалу будет не очень
third112
third112
На мой взгляд, далеко не всё нужно пояснять каждый раз. Нпр., в Windows API уже зашита куча функций, без которых даже простенькая программа становилась бы чрезвычайно сложной.
Да. Как он будет думать, потребителям без разницы, главное, чтобы он действовал как адекватный человек.
Шахматные программы и программы Го не прикладные в том смысле, что не выполняют какой-то полезной работы. Может быть только PR разработчиков и спонсора.
saboteur_kiev
Если он умеет говорить — ему можно пояснить правила игры и правила выигрыша очень быстро. Если он умеет читать — просто дать текст с правилами.
И да, пятилетний ребенок сможет самостоятельно научиться выигрывать, например играя сам с собой.
Сможет ли компьютер понять принцип игры, получив описание в виде текста? В виде звуков? В виде готовой программы по игре в шахматы, которую он разберет и получит данные из нее?
Мы можем дать текущему ИИ какой-либо вариант, чтобы он смог понять принцип правил игры, кроме как нанять программистов, которые напишут алгоритм для распознания правил игры в шахматы? Пока что — нет, и это не зависит от мощности компьютера.
third112
Может быть скрипт, где формальные правила записаны на языке, близком к естественному. Конечно, при наличии программы, которая умеет интерпретировать такой скрипт. Для описания правил шахмат такая программа не имеет особого практического значения, поэтому ее никто и не делает. А вот для карточных пасьянсов описание правил пасьянса через скрипт — очень привлекательный подход. Программисты делают только одну программу — игровой движок, а скрипт для конкретного пасьянса может написать любой человек, т.к. правила написания скрипта не требуют знания программирования. Подобный подход применяется во многих компьютерных играх. Например, в КР2 (упомянута в рецензии) многие непрограммисты, не имеющие доступа к исходному коду игры, сделали много карт-скриптов планетарных битв (их можно найти в Интернете). Единственным инструментом, нужным для этого, является специальный редактор карт. Редактирование проходит в наглядном графическом виде, освоить этот редактор гораздо легче, чем нпр. «Фотошоп».
alexeykuzmin0
Еще на тему выяснения правил — есть такая штука, как RNN, с помощью которых можно генерировать синтаксически правильный практически осмысленный текст (пруф, пример — генерация текста при обучении на выборке произведений Шекспира). Да, пока что с осмысленностью есть некоторые сложности, но, во-первых, это результат двухлетней давности, а во-вторых, учтите, что RNN самостоятельно с нуля выучила слова языка, правила их согласования, порядок слов в предложении, орфографии и тд.
Думаю, если скормить логи шахматных партий подобной модели, она без труда определит правила игры в шахматы. Попробую на досуге и напишу статью.
Можем ли мы скормить компьютеру набор текстовых правил на естественном языке и ожидать от него разумной игры в игру, ими определенную? Сегодня — нет, но, на мой взгляд, это дело не очень далекого будущего. Для простых игр, конечно.
alexeykuzmin0
А что такое боль, как определить, кто ее чувствует, а кто нет?
Я вот вижу один объективный критерий: при возникновении болевых ощущений человек старается их прервать и больше не допускать. Точно так же, как алгоритм машинного обучения старается не допускать ситуаций, за которые штрафуют его функционал качества.
Кроме того, как быть с людьми, страдающими аналгией?
third112
michael_vostrikov
По-моему разница в принципах обработки информации. Текущие алгоритмы, используемые в нейросетях, работают не так, как естественный интеллект. На начальном этапе есть некоторое сходство, но есть что-то еще, что никем не учитывается. Собаке не нужен миллион повторений, чтобы выучить команды сидеть/лежать. Мне кажется, надо исходить из принципов работы отдельных нейронов. Нейроны же не знают математики, значит и описать эти принципы можно не используя сложные математические алгоритмы.
third112
Кроме некоторых людей и инопланетян (если они существуют), никто и ничто во вселенной не знает математики, равно как физики и химии, однако поведение всех объектов вселенной описывается означенными науками.
Не значит. К примеру, пустая бочка из-под солярки ничего не знает, но если скатить ее с откоса высокой железнодорожной насыпи, описание ее траектории может потребовать сложного мат. аппарата. А кто, когда и где доказал, что любой программе нужен миллион повторений? Что не учитывается? Волшебство? Разве «алгоритмы, используемые в нейросетях», должны работать в точности так, как «естественный интеллект»? Шахматные программы «думают» не так, как люди, однако часто побеждают.
michael_vostrikov
Если мы делаем модель нейрона, аналогичную по возможностям естественному нейрону, то и ее устройство и процессы должны моделировать таковые естественного нейрона (с точностью до целей и принципов).
Если естественный нейрон не использует понятие "производная", то и модель в искусственной информационной системе не должна его использовать.
А внешнее поведение можно описывать как угодно. Только надо понимать, что именно мы описываем.
Описание траектории потребует. А принцип простой — сила тяжести, сила реакции опоры, масса. 3 параметра и несколько законов их изменения.
А я не говорю про программы в целом. Я говорю про существущие алгоритмы.
Вы неправильно поняли мою мысль. Волшебство ни при чем.
Если нам нужны такие же возможности, то и принципы должны быть такие же. В шахматных программах такая же модель правил, как и у человека, только закладывается она снаружи. Ну и да, думают не так, и возможностей у них таких нет. В шашки например играть не умеют, хотя вроде доска такая же.
third112
Еще параметры, характеризующие упругость бочки и необратимые деформации, аэродинамические свойства (парусность). А еще параметры склона: изменения крутизны, распределение камней по размерам и т.д. Однако бочка и склон не используют в явном виде понятие «производная», как и нейрон. Значит ли это, что в модели скатывания бочки по склону мы не должны использовать производную? — Думаю, что не значит.
Хорошо — пусть алгоритмы. Разве им нужен «миллион повторений»?
Что тогда? Есть научный подход, в котором можно увеличивать точность учета свойств, устройства и поведения моделируемого явления, вплоть до достижения требуемой предсказательной силы моделью, а есть танцы с бубном и прочая мистика. Разве есть еще что-то?
michael_vostrikov
Речь идет о создании аналога естественного интеллекта. То есть о принятии машиной решений в задачах ЕИ.
У него не было программы, которая бы эти принципы восприняла и смогла их применять. Потому что они требуют анализа ситуации, то есть свойств естественного интеллекта.
Именно это я имел в виду под выражением "с точностью до целей и принципов". От модели "сливового пудинга" для строения атома например отказались, хотя поначалу она тоже вроде что-то объясняла, потому что ее принципы не объясняют результаты других экспериментов.
Если вы закодируете каждый отдельный атом и их взаимодействие, вам не надо будет использовать сложные математические формулы для описания всего процесса в целом.
Сейчас обучение сводится к большой обучающей выборке и большому количеству обучений по этой выборке. Пусть не миллион, а сто тысяч. Собаке все равно такая выборка не нужна.
Другие принципы работы. Можно сколько угодно увеличивать точность учета в римской системе счисления, но в позиционной считать все равно удобнее. Можно сколько угодно проводить эсперименты с термодинамикой, но радио так не построить.
alexeykuzmin0
Мне все-таки неочевидно, откуда следует вывод, что если у нас что-то не получается, то нужно менять какие-то базовые принципы. Вон, скажем, в распознавании речи подходы, близкие к современным, насколько я понимаю, используются с 60-х, но практический результат был получен только сейчас. Почему вы считаете, что с ИИ не может быть точно так же? Дайте еще 40 лет развития нейросетей и все будет.
michael_vostrikov
Так я же говорю, ЕИ при одинаковых условиях работает по-другому, показывает другие характеристики.
alexeykuzmin0
Да, ЕИ работает по-другому, но скопировать ЕИ мы сейчас не можем, и создать на других принципах (например, на нейросетях) сравнимый ИИ тоже не можем. Почему нужно менять принципы?
PS Прошу прощения если мои вопросы выглядят странно, просто я не вполне понимаю вашу позицию и хочу ее понять, потому что мне кажется, что я могу ошибаться.
michael_vostrikov
Вы же сами ответили — потому что с текущими принципами не получается, и даже непонятно, почему именно не получается. Вот про это "почему именно" я и говорю. Нам надо узнать ответ на этот вопрос, чтобы сделать ИИ аналогичный ЕИ.
alexeykuzmin0
Так и не понял. Как из «не получается сделать ни одним из двух методов» сделать вывод «первый метод не подходит, выкидываем его»?
michael_vostrikov
В таком случае я наверно не понял вопроса. Скопировать ЕИ мы не можем, потому что нет технической возможности. Значит надо догадываться о принципах. Текущие принципы построения нейросетей дают не такие характеристики, как у ЕИ. Значит нужны другие принципы.
"Другие" не значит, что надо менять всё. Надо подумать, что мы не учитываем, как должен работать один нейрон, чтобы вместе они дали нужное поведение. А не играть параметрами алгоритмов и размером выборки без понимания, как оно там внутри.
third112
Во всем мире работы ведутся в разных направлениях. Нейронные сети — только одно из многих, пусть кажущееся очень перспективным. Вопрос «как оно там внутри?» представляется слишком расплывчатым и не очень важным даже для случаев, в которых мы уверенно можем на него ответить. Возьмем, например, мат. модель интегратора, которую можно реализовать в цифровой форме, как программу для (цифрового) компьютера, а можно в аналоговой — например, в виде электронного устройства, состоящего из операционного усилителя (ОУ) с конденсатором в цепи обратной связи (в статье «Интегратор» Вики есть ряд примеров других устройств-интеграторов). Что ответить на вопрос «как оно там внутри?», если сравнивать два эти интегратора: программу и ОУ или программу+ЭВМ и ОУ? Наверное, можно ответить, что внутри по-разному, но реализуется одна и та же мат. модель (про точность и скорость не говорим). Однако особо большого смысла поставленный вопрос не имеет.
michael_vostrikov
А вот на мой взгляд это самый главный вопрос, и самая главная причина, почему мы все еще не придумали искусственный интеллект.
Для него мы знаем принципы работы. А для ИИ=ЕИ нет.
third112
michael_vostrikov
Фраза "как оно там внутри" относится к принципам работы, а не к реализации.
То, что вы называете "мат. модель" и есть принципы работы. Чтобы сделать правильную реализацию, нужны дополнительные знания — приницпов работы программ или электротехнических компонентов.
Вот для интегратора мы знаем принципы работы, и можем сделать разные реализации, а для ЕИ не знаем, и похожих реализаций пока нет.
third112
Описание принципов работы CPU начинают с описания простейшего составного элемента — триггера. Такое описание позволяет понять принципиальные отличия между аналоговой и цифровой обработкой информации. Что касается не искусственных нейронов, то не совсем понятно, к каким устройствам они ближе: к аналоговым или к цифровым?
michael_vostrikov
Вы понимаете, что при программной эмуляции ОУ в программе на некотором уровне абстракции есть аналоги (модели) для тех же самых "Дифференциальный усилитель", "Усилитель напряжения" и т.д.? Часть из них упрощена, часть не нужна, и зависит это от целей и принципов работы этих частей. Модель для корпуса например делать необязательно. Вы почему-то постоянно обращаете внимание на реализацию. Каждый элемент реализации нужен с какой-то целью. Цели определются принципами работы. Это более высокий уровень абстракции.
third112
Нет, простите, не понимаю! Я сравнивал не ОУ и эмулятор частей ОУ, а интегратор на ОУ и программу для интегрирования. И да, речь про уровень абстракции. Можно говорить про черный ящик, но тогда не последовательно говорить:
Либо черный ящик, либо «как оно там внутри». — Внутри черного ящика?!
michael_vostrikov
Согласен, тут я не понял, но смысл от этого не меняется. В этом случае ОУ это реализация, от которой нам нужны определенные свойства — а именно сумирование значений. В программе есть суммирование и в аппарате есть суммирование. На некотором уровне абстракции принципы работы одинаковые. Главное, что мы знаем, как делается сумма 2 чисел.
"Уровень абстракции" означает, что выше этого уровня мы знаем принципы работы, а ниже не знаем либо они нас не интересуют. То есть нельзя говорить, либо черный ящик либо нет, черный ящик всегда есть на каком-то уровне. Но при этом мы знаем результат работы низкого уровня, его характеристики нас устраивают, и мы знаем, как их повторить. А в случае с нейронами не знаем.
Можно сколько угодно копировать птицу как черный ящик, но чтобы построить летательный аппарат, нужно знать законы аэродинамики, которые на эту птицу влияют.
Фильм на CD и на HDD хранится в разном виде, но на некотором уровне абстракции это один и тот же фильм.
Поэтому речь не про черный ящик. Речь как раз о том, что есть на нижнем уровне абстракции, какие логические объекты и процессы там можно выделить, чтобы их можно было повторить. В более широком смысле вопрос даже в том, как появляются уровни абстракции в мышлении ЕИ.
third112
В основном согласен. Но думаю, что при этом стоит отметить следующие моменты. Справедливо говорят, что «дьявол кроется в деталях» — слишком абстрактный подход может показаться очень привлекательным, но конкретизация, пусть и тоже высоко абстрактная, может вызвать непреодолимые трудности. На мой взгляд, в области ИИ очень много абстрактных работ, где произносится много умных слов, но если вдуматься, то можно увидеть, что работа совсем пустая.
Второе. Очень часто одна и та же задача решается очень разными методами и средствами. Предполагаю, что целей ИИ можно достигать, танцуя от нейрона, но можно и не танцуя.
Третье. Следует брать посильные задачи. Нпр., пытаться научить машину, чтобы она писала осмысленные сочинения по литературе на уровне среднего десятиклассника, в настоящее время скорее всего окажется потерей сил и средств. В лучшем случае получим еще одну «Элизу».
alexeykuzmin0
Кажется, я понял. Мы с вами говорим об одном и том же разными словами. Вы пишете
Я абсолютно согласен, что если не менять ничего, то полноценный ИИ не получится (да и вообще ничего лучше, чем сейчас, не получится). Исследования ЕИ, наверное, могут помочь в деле проектирования ИИ, но кто его знает. Ну, не повредят уж точно, это очевидно.А вот насколько глубоко будут пересмотрены принципы — например, будут ли это нейросети или нет? Будет ли это вообще какой-то алгоритм машинного обучения в современном виде (функционал качества + выборка -> оптимизация весов) или это будет что-то принципиально иное? Думаю, тут нет правильного ответа. В любом случае, наиболее близкая к ИИ современная технология, видимо, RNN.
alexeykuzmin0
Ну, во-первых, собаке тоже нужно ненулевое количество повторений, чтобы выучить команду, а во-вторых, алгоритмы постоянно совершенствуются. Не говоря уже о том, что у собаки при выучивании новой команды происходит лишь дообучение уже существующей системы — в машинном обучении такой процесс тоже нередко используется, и он требует гораздо меньших вычислительных мощностей, чем обучение с нуля.
А насчет нейронов — биологические нейроны устроены очень сложно, совсем не так, как нейроны из ИНС.
michael_vostrikov
Так я не говорил про нулевое количество. Я говорил про принципы. Если при одинаковом количестве повторений качество результатов разное, значит и принципы разные.
Так вон уж сколько существующих нейросетей в мире. Казалось бы, дообучить и все. Ан нет, не выходит что-то каменный цветок.
Так если они устроены не так, и не получается сделать такие же возможности, то может и делать надо по-другому? И я не имею в виду реализацию. Совсем необязательно моделировать каждую молекулу.
third112
alexeykuzmin0
Вы хотите сказать, что дообучение не используется на практике? Это не так.
Да, вполне возможно, что делать нужно что-то по-другому, не так, как сейчас. Но методы и сейчас бурно развиваются, то есть, потенциал используемого инструментария еще не раскрыт до конца.
michael_vostrikov
Это связано с восприятием информации и управлением мышцами. Если бы вы имели возможность передать мысли, что надо обратить внимание вот на это и подуть вот так, то повторений было бы гораздо меньше. В нейросеть мы можем передавать любые значения, но количество повторений от этого меньше не становится.
Я хочу сказать, что нейросетям далеко до возможностей ЕИ и дело не в быстродействии, а в принципах обработки информации.
alexeykuzmin0
А вот с тем, что существующим методам машинного обучения (не только нейросетям, хоть они сейчас и в тренде) в деле решения наименее формализуемых задач до естественного интеллекта далеко, согласен. Но будут ли пересмотрены какие-то фундаментальные принципы или мы просто еще недостаточно глубоко разработали существующие семейства алгоритмов и/или аппаратную базу? На мой взгляд, это неочевидный вопрос.
michael_vostrikov
Что вам мешает записать значение в оперативную память? Может вы не знаете, что туда писать, чтобы получить нужный результат?
Ну и да, смысл входной информации зависит не только от входной информации. И даже если считать накопленный опыт частью входной информации, то вопрос в том, как этот опыт накопить. Как из первоначальной информации выделить объекты и как в последующей эти объекты распознать.
third112