Обновить
23

AI preacher

20
Подписчики
Отправить сообщение
задача всего компьютерного — абстрагирование и уменьшение сложности.


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

Но все равно — текущий уровень абстракции многих современных ЯП даже мне кажется слишком перегруженным! Ощущение такое, что уже пошли абстракции, ради абстракций, размывающие основы. Согласен во многом с автором.
Любопытно, что не возникло мысли, что измерения куба не обязательно случайны, а очень даже может быть сами являются значимыми параметрами сохраняемого значения… В таком ключе тема с адресацией по содержимому, а так же связанность и ассоциативность явно играет новыми красками!
Эта сеть выдает такие ответы потому, что их давали где-то в тех 40Gb текстов, что через нее были пропущены. В этих текстах не было ничего, коррелирующего с текущим контекстом сети и поворотом направо. Вернее — наоборот: там наверняка что-то было, но это что-то не даст нам понимание принятого решения, а даст иллюзию такого понимания!

Вот поэтому тест Тьюринга, чат боты вообще и этот самый GPT-2 — зло! )) В том плане, что не ведут к созданию сильного ИИ, а от него уводят.
Я бы считал осмысленным ответ, которого мы до того не знали и который имел бы практическую ценность! ;)

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

Не, не поймите меня не правильно — это все тоже очень интересно! В частности, с точки зрения знания и bigdata — вполне вероятна ситуация, что среди этих 40Gb усвоенной информации был ответ, и что мы получим действительно новое (собранное по частичкам из разных источников) и практически полезное знание…
Эта сеть обучена предсказывать следующее слово в предложении на миллионах текстов в интернете. Это упрощенно «среднее арифметическое» этих текстов. Если люди писали перевод слов, писали о каких-то вещах (о земле, например), в том числе и в упрощенной форме для детей — сеть сузит пространство вариантов и даст что-то похожее на правду…

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

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

Я ждал позитивной развязки, но автор свалился в извечный кансалтинговый флер…

Не хватает только извечных скрамов, агилов и прочих специальных терминов.

Лучше уж просто депрессия, не так фальшиво звучит. ;)
Весь текст читал, ожидая счастливого конца… Не дождался! ))

Неожиданно.

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

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

Верю. Но пока не понимаю почему… Может мы немного о разном?

Я имею ввиду, что для движения гуманоида, будь там 17 или 67 степеней свободы переход от модели к движению должен проходить через понятия даже не идти/бежать прямо/налево/направо и уж тем более не через прямое управление отдельными мышцами, а через «мы здесь, надо — туда, чем быстрее, тем лучше!». Не должно быть прямой связи раздражитель-действие — это действительно слишком сложно. Раздражители должны актуализировать модель, которая должна достраивать действия (в весьма высоком уровне абстракции), как часть модели, а ДРУГАЯ система должна исполнять обратный переход — от абстракции к конкретным мышцам…

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

Беда всех подобных кейсов со спецслужбами, что они считают себя самыми умными, а это далеко не всегда так. Можно быть честным гражданином и скрепя сердцем соглашаться с тем, что кто надо имеет доступ к чему-то такому, что составляет личную либо коммерческую (а то и страшно подумать — государственную!) тайну. Но вот доверия к их непогрешимости, а главное — компетентности что-то нет… В том числе из-за вот таких вот казусов. (
Ну… Собственно об этом и статья. ;) Фактически я разделяю ваши выводы.

Но только это не совсем алгоритмы… Хотя — смотря что понимать под алгоритмами!
Ну да, я понимаю… Собственно тут не т противоречия — я не говорю, что знаю как построить ИИ, я говорю лишь о своем понимании, что такое интеллект вообще. А вы не отрицаете этого понимания, но говорите, что пока не понятно, как его на практике реализовать… Но! Есть нюансы. ;)

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

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

В случае с магазином. Ситуация для неокортекса не выглядит как «какой из 700 мышц мне шевельнуть в конкретный момент времени?»! Ситуация «мне нужно в магазин, их тут несколько, но по ряду показателей 76% за тот, что у дома, погнали!». Для двигательной системы вариантов нет вообще — задача(я бы даже сказал план действий) поставлена, опыт перемещения в пространстве наработан — активируем мышцы в нужной последовательности…

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

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

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

Третье. Да почему же вы не хотите применить логику сверточных сетей к другим областям той же науки! ;) Почему вы считаете, что должен быть прямой путь от «спастись от хищника» до прямого управления 700 мышцами? Вы же свернули чертову уйму сигналов в «спастись от хищника», так сверните 700 мышц в «бежать»! В моем понимании неокортекс не взаимодействует ни с зрительными нейронами (где-то мне попадалась информация, что непосредственно в глазу происходит довольно приличная часть свертки и на вход мозгу уже подается далеко не bitmap), ни с двигательными мышцами! Неокортекс дает команду бежать (а я бы пошел дальше и сказал, что он просто создает модель в которой «я бегу» — данность), а «старый мозг» уже занимается реализацией. И так оно с первых лет жизни:
  • неокортекс: вот в том направлении что-то интересное! Нам туда.
  • старый (как он там? Рептильный?): ок, идем/ползем/хаотично двигаем всем-чем-можем, авось получится (в зависимости от уровня развития).


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

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


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

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

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

Вы же сами всегда говорите, что большое количество вариантов — проблема! ;) Но при этом ставите (ну или не вы ставите, а Soft-Acto-Critic) их «во главу угла».

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

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

Я не знаю как это сделать, я знаю, куда мне было бы интересно, если бы развитие завернуло!
Не могу сказать, что я именно это имел ввиду, но…

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

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

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

Я же сказал, что не верю в свободу выбора.

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Зарегистрирован
Активность