Leif Gram: Mr. Fix

Кстати

Если тесловский искусственный интеллект учится у водителей пока они ездят, то почему он вообще будет сколько-нибудь лучше водить? Он научится точно так же не включать поворотники, ездить на десять миль в час быстрее ограничения скорости, ускоряться на желтый свет, объезжать поворачивающие налево машины по обочине и т.д. Кроме того, у водителей нет камер с обзором в 360 градусов, поэтому вообще невозможно научиться у этих водителей использовать такие камеры с пользой для дела.
Есть два похожих способа строить модели: линейная регрессия и нейронная сеть. Утверждения, которые ты делаешь, не зависят от конкретного механизма. Можно ли сказать про линейную регрессию, что она не пытается скопировать тренировачный датасет, а смотрит и запоминает, какие значения x приводят к каким значениям у?
Не знаю. Мне очень сложно пытаться натянуть простую модель на сложные данные. А что? Зачем тебе в данном случае именно линейная регрессия?
На примере линейной регрессии удобно проверять утверждения, которые, по своей формулировке, должны быть применимы к любой статистической модели. Тебе ведь, для утверждения "ИИ не пытается копировать то, с чего он учится. Он смотрит и запоминает, какие действия приводят к каким результатам" не требуется внутрення специфика имплементации нейронных сетей?
Всё, теперь понял! Постараюсь перевести всё на термнины линейной регрессии :-) Давай с примером "ездить на 10 миль в час быстрее дозволенного".
Строим график, по X - отклонение скорости от дозволенного, по Y - какая-нибудь характеристика типа "вероятность аварии". Её выводить долго и нудно, потому что нужно как-то обрабатывать данные, когда человек проехал - а аварии не случилось, но раз у нас простая модель, давай предполагать, что и данные у нас тоже простые. То есть, машины ездят с постоянной скоростью до аварии. Пока не разбился - можешь в гараж не возвращаться.
График должен выглядеть как кривая с минимумом на -3 км/ч (я где-то видел статью, что именно такое поведение выгоднее всего в среднем - упростим, чтобы это же значение было оптимумом для вероятности аварии). После чего ИИ будет водить всегда с такой скоростью, не смотря на то, что большинство точек у нас на +10 м/ч (предполагаемый менталитет водителей).
Он копирует поведение? Нет, копирование заключалось бы в вождении там, где больше точек. Вместо этого он нашёл оптимум и водит так, как "надо". Не по ПДД, а по среднему результату.
Давай я начну с того, как я понимаю модель теслы. Она предсказывает не вероятность аварии, а трехмерный вектор: (угол поворота руля, угол нажатия на газ, угол нажатия на тормоз), который Хороший Водитель сделал бы в следующие полсекунды, глядя на видеопоток перед ним вплоть до нынешнего времени. Далее, если хорошие водители тормозят для красивых женщин, это тавтологически войдет в модель.
Мы разве не говорили уже об этом? Сошлись на том, что да, войдёт, но только в идеальном мире, где нет ни одного водителя, который не будет тормозить перед женщинами, не теряя при этом в результативности. То есть, равновесие есть, но крайне неустойчивое. И на практике это правило не войдёт в ИИ, потому что не приводит к улучшению результата. А к усложнению модели приводит. Ну и к частичному ухудшению результата тоже - если учитывать не только аварийность, но и время в пути.
Нет, разве мы не на этом остановились в прошлый раз?

А в этот раз мы вообще с другого начали. С того, что обучение не приводит к копированию. Настоящий водитель - это не образец для подражания для ИИ (в отличие от процесса обучения человека - может ты с этим подсознательно путаешь?), а просто резервуар данных, все возможные варианты. Чем больше там будет аварий - тем лучше выучится ИИ, тем лучше он будет водить машину. В отличие от человека, который лучше выучится у хорошего водителя, чем у пьяного дяди Васи.
Я поэтому тебе про спичечные коробочки и говорю. Там очевидно, что качество игры человека-учителя очень мало даёт к качеству игры ученика-ИИ. Потому что мы учим ИИ вообще случайным выбором варианта.
Нет, не в идеальном, а в реальном, где торомозит большинство (хотя и не все) водители. Никакого результата, к которому надо стремится, помимо похожести на большинство, у модели нет.
В следующем абзаце у тебя следующая проблема: ты думаешь, что тесла учится избегать аварий. Нет, в первую очередь она учится, куда крутить руль и когда жать на тормоз. Если большинство в данных обстоятельствах тормозит, и это не приводит к немедленной аварии (при пропускании женщины, очевидно, нет) -- тесла тоже научится тормозить. У нее нету даже нет способа сделать отдельную проверку, что это не было нужно -- разве что она пенализирует любые свои замедления движения почти так же сильно, как аварии.
А почему тебе кажется, что ИИ стремится быть похожим? Ты не видел модели хождения для роботов, которые ходят так, как никто на этой планете не ходит? Тогда, конечно - если исходить из "ИИ копирует учителя", то и результат будет "ИИ копирует учителя". Но это не так. А ты из этого постулата даже целевую функцию Теслы выводишь - откуда? Я не смотрел ИИ именно машин, но задача там формулируется именно минимизации какой-то функции. Мне сложно представить, чтобы эта функция была расстоянием до среднего водителя. Гораздо проще представить функцию времени поездки с огромными малюсами за аварию.
Не то чтобы он не стремится быть похожим, а это просто единственное, что он может делать, когда мы говорим, что он обучается у реальных водителей. Для того, чтобы обучать модель как предлагаешь ты, надо запусктить на улицы машины без водителей и разрешить им крутить руль и жать педали произвольно, а потом анализировать, какие именно спосообы привели к авариям, а какие - к быстрейшиму прибытию к пункту назначения. Так, насколько я знаю, машины не учат.
Ну слушай, ты продолжаешь вываливать на меня одну и ту же фразу (так не бывает, потому что так не бывает) и игнорируешь все мои примеры того, как бывает (ты видел ходящих роботов?)
Как тут можно продолжать разговор? Я понял, что ты веришь в то, что ты говоришь. Но пока ты не выслушаешь, то, что говорю тебе я, у тебя не получится ни объяснить мне, в чём я не прав, ни самому понять, в чём не прав ты.

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

Итак, (1) ходящие роботы вообще не учатся ничему у пешеходов. Они пытаются ходить по пустому залу сами, напрягая различные мышцы. Если упали - больше так не делают, если остались на ногах и продвинулись в нужном направлении - запоминают данный способ, как неплохой. Кроме того, они и внешне непохожи на пешеходов - у них совершенно другие ноги, другое их количество, другой центр тяжести. Поэтому, конечно, они ходят совсем не так, как пешеходы. А тесла это обычная машина на четырех колесах с газом и тормозами, за рулем которой сидит человек, а Маск объясняет: “Everyone’s training the network all the time. Whether autopilot is on or off, the network is being trained. Every mile that’s driven for the car that’s hardware 2 or above is training the network.” Чему же она там учится с отключенным автопилотом, как не копированию действий водителя, не попавшего только что в аварию?

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


Edited at 2019-06-07 11:22 am (UTC)
(1) Ну вот ты всё классно писал, а потом внезапно "Чему же она там учится с отключенным автопилотом, как не копированию действий водителя, не попавшего только что в аварию?" - нет, не копированию. Если тебе кажется, что копированию - постарайся это каким-то образом вывести?

(2) Мне кажется - но тут я снова не уверен в функции оптимизации конкретной Теслы - что нужно смотреть не на глобальное время поездки и глобальное количество аварий (что потом с чем сравнивать?), а локально. Идёт непрерывная оценка результата. Например "проехал перекрёсток за 4,5 секунды, оценка риска 23%, потратил 100W". В таком случае проще увидеть, что бессмысленные действия (включить дворники, притормозить перед женщиной, спонтанно переключиться на ручной режим и вернуться с него - да мало ли, что ещё время от времени делают реальные водители) будут ухудшать эту функцию.
Если не согласен, расскажи, как по-твому выглядит эта же оптимизационная функция, чтобы туда вписалось "все пропускают - значит и я пропущу"?
(1) я вижу ровно один другой вариант -- она обретет самосознание и начнет самостоятельно размышлять о природе вещей. Поскольку автопилот выключен, ставить экспериментов для уточнений своих теорий она не сможет, только наблюдать. В принципе да, этого может быть достаточно. Мне кажется очевидным, что ничего подобного не происходит и она следует за большинством, как сделала бы линейная регрессия.

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

Edited at 2019-06-07 01:21 pm (UTC)
Похоже, разница в том, что ты думаешь про анализ всей поездки в целом -- мол, этот водитель ехал, уступая дорогу, а этот водитель ехал, не уступая дорогу и приехал быстрее, значит, дорогу уступать не надо. По-моему, на таких горизонтах тесла вообще ничего не планирует и не оптимизирует, а принимает решения в каждый момент на следующие две-три секунды (исходя из характерных скоростей машин), после чего ситуация полностью меняется и требует нового анализа. К концу поездки она вообще не будет помнить, что уступила кому-то дорогу полчаса назад.