Leif Gram: Mr. Fix

Кстати

Если тесловский искусственный интеллект учится у водителей пока они ездят, то почему он вообще будет сколько-нибудь лучше водить? Он научится точно так же не включать поворотники, ездить на десять миль в час быстрее ограничения скорости, ускоряться на желтый свет, объезжать поворачивающие налево машины по обочине и т.д. Кроме того, у водителей нет камер с обзором в 360 градусов, поэтому вообще невозможно научиться у этих водителей использовать такие камеры с пользой для дела.
Ты совершенно неправильно понимаешь работу по обучению ИИ. Он не пытается копировать то, с чего он учится. Он смотрит и запоминает, какие действия приводят к каким результатам. Помнишь, у Гарднера была самообучающаяся машина на спичечных коробках для игры в крестики-нолики? Для того, чтобы её научить беспроигрышно играть в эту игру, не обязательно было уметь играть в неё самому. Там обучение шло вообще на случайном выборе хода с отсечением тех ходов, которые приводили к проигрышу.
Это ответ и на твой первый вопрос (почему ИИ будет лучше ездить), и на второй (он не будет копировать бессмысленные действия - мы уже говорили о пропуске красивых женщин, когда этого не требуют ПДД), и на третий (зачем ИИ органы чувств, которых нет у реальных водителей).
Ну вот линейная регрессия копирует бессмысленную прямую линию, или смотрит и запоминает, какие значения x приводят к каким значениям y? Для меня это слишком глубокий вопрос, но с нейронной сетью то же самое, разве что поверхность сложнее устроена.
Есть два похожих способа строить модели: линейная регрессия и нейронная сеть. Утверждения, которые ты делаешь, не зависят от конкретного механизма. Можно ли сказать про линейную регрессию, что она не пытается скопировать тренировачный датасет, а смотрит и запоминает, какие значения 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". В таком случае проще увидеть, что бессмысленные действия (включить дворники, притормозить перед женщиной, спонтанно переключиться на ручной режим и вернуться с него - да мало ли, что ещё время от времени делают реальные водители) будут ухудшать эту функцию.
Если не согласен, расскажи, как по-твому выглядит эта же оптимизационная функция, чтобы туда вписалось "все пропускают - значит и я пропущу"?