?

Log in

No account? Create an account
Лабораторный журнал -- Day [entries|friends|calendar]
Anatoly Levenchuk

[ website | Лабораторный журнал ]
[ userinfo | livejournal userinfo ]
[ calendar | livejournal calendar ]

Роботов теперь не программируют, а дрессируют [10 Dec 2015|01:06am]
Сегодня прочёл почти двухчасовой доклад на тему дрессировки роботов: http://incose-ru.livejournal.com/53902.html (там видео и слайды). На одном из слайдов намеренно привёл "теорию вопроса": книжку Карен Прайор про дрессировку собак. Ибо с роботом сегодня поступают ровно так же: его уже не программируют на выполнение сложных функций, а дают поиграться с окружающим миром, награждая за правильное поведение. Результат -- воспитанный, хорошо выдрессированный робот.

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

Например, как научить робота двухпальцевым захватом правильно брать игрушки неправильной формы? Как научить его определять место "оптимального захвата" для игрушек произвольной формы -- от водяных пистолетиков до мячиков, от ёлочек до кукол? Программировать такое слишком долго и трудно. Но можно заставить робота хватать уж как придётся, и поощрять за каждую не выскользнувшую из захвата игрушку. Через примерно 50тыс. попыток (сегодняшние роботы тупы, они медленно учатся) наслаждаться тем, что игрушки прекратили выскальзывать! Конечно, это 700 часов дрессировки. Но это не 700 часов труда программиста (и ещё непонятно, сможет ли программист решить такую задачу. Я вот не уверен, что сможет. Точнее, уверен, что не сможет -- ни за 700 часов, ни за 7тыс. часов).

Забавно, что visuomotor learning (зрительно-двигательное обучение) приходится сегодня для инженеров специально переводить. Ибо слово visuomotor было из языка нейрофизиологов, не робототехников. А сейчас статей про visuomotor learning для роботов -- толстый ручеёк. А вслед за статьями текут инвесторские деньги. Посмотрите слайды, там про всё это достаточное количество ссылок. И послушайте видео, я там "на пальцах" всё это разъясняю. Бонус-трек для специалистов -- пятнадцать минут дискуссии в конце заседания про перспективы симбиоза распределённых и символьных представлений.

Вот тут я ещё немного про дрессировку роботов писал (как про это пишет Karphathy): http://ailev.livejournal.com/1228496.html -- только там научно-фантастический рассказ, а тут у меня примеры из реальной жизни.
7 comments|post comment

Мнимая безопасность семантических сетей [10 Dec 2015|02:27pm]
Не могу согласиться с тезисом про безопасность семантических сетей (традиционная технология экспертных систем, с поправкой на скромные достижения последних 30 лет их развития и иногда даже добавкой слов "гиперграфы" и "агенты") по сравнению с опасностью нейронных сетей, в которых "не пойми что происходит".

Трудности отладки и сопровождения быстро растущей семантической сети приводят к тому, что роботы на них представляются в разы более опасными, чем роботы на нейронных сетях. Экспертная система MICYN ещё в 80-х не смогла работать именно потому, что трудность поддержания её в адекватном состоянии были неописуемые, и мало кто понимал, как она работает. То, что там внутри была "строгая логика" никого не должно вдохновлять. Много "строгой логики" -- и ни один человечий ум с ней не справится. Логические языки программирования ещё более трудны в освоении, чем функциональные. Программы на них запредельно трудны в отладке.

Хотя чего это я! В силу как раз трудностей отладки и сопровождения семантической сети и агентов на принципах логики роботы на них будут самыми безопасными: они не смогут ни речь понять, ни сдвинуться с места! Grep чего-нибудь в информационной ленте (даже и "семантический grep" с вручную написанным парсером) -- это не физические тапочки найти в соседней захламленной комнате. Чтобы семантическая сеть попала в робота, для начала нужно научить эту семантическую сетку видеть, а потом ещё и моторчиками правильно управлять в реальном времени. И отладить! Хотя даже про отлаженную такую сложную сетку нельзя будет сказать, что она безопасна. И нельзя будет вносить изменения, без вероятности вызвать опасное поведение.

Про нейронные сетки и как научить робота зрительно-моторной координации с их использованием см. мой доклад тут: http://incose-ru.livejournal.com/53902.html (там в конце доклада небольшая дискуссия есть и про "непонятность того, что делает нейронная сетка и поэтому невозможность её использования в опасных ситуациях". Человека тоже сажают в кабину самолёта как самый ненадёжный элемент на нейронной сетке: и именно он считается чуть ли не надёжней и безопасней, чем вся сертифицированная авионика. Если нет других вариантов, возьмут имеющийся наилучший, со всеми его рисками. Риски же от использования автоматики на "логических принципах" и "строгой математике" часто выше).
46 comments|post comment

navigation
[ viewing | December 10th, 2015 ]
[ go | previous day|next day ]