компьютерные новости
Nov. 1st, 2017 07:52 pmНесколько накопившихся ссылок из мира компьютерных наук. Будет интересно программистам и сочувствующим, наверное.
1. В области машинного обучения есть тема интересная "враждебных примеров". Это когда вы, предположим, натренировали нейронную сеть так, что она почти без ошибок называет, какое животное на картинке; но оказывается, что можно взять, скажем, фотографию щенка, которую она распознает, и изменить совсем немного, так, что на ней все еще тот же щенок, ни один человек не спутает ни с чем другим - но нейронная сеть теперь уверена, что это бегемот. В каком-то смысле это демонстрирует уязвимость лучших на сегодня алгоритмов, хотя об этом тоже есть разные мнения (например, можно сказать, что зрительные иллюзии - похожее явление у людей; но там все же другое - это отдельный класс картинок, а не так, что любую картинку можно исказить совсем немного).
https://arxiv.org/abs/1710.08864 в этой недавней статье показывают, что можно находить враждебные примеры, в которых меняется всего один пиксель (в картинке 32x32), и нейронная сеть меняет свою классификацию.
http://www.labsix.org/physical-objects-that-fool-neural-nets/ тут строят враждебные примеры, которые остаются враждебными даже при съемке с разных ракурсов. Делают игрушечную черепашку, которую гуглевский алгоритм распознает как ружье, как ее ни верти и не двигай.
2. 15 Years of Chess Engine Development. Интересный пост на реддите, автор которого запустил четыре разные версии шахматных программ за последние 15 лет - на одном и том же компьютере (ноутбуке 2006-го года, замедленном примерно до скоростей 2002-го года). Результат, для меня по крайней мере, очень анти-интуитивный - прогресс в качестве игры шахматных программ за эти 15 лет был гигантский, и лучшая из них победила Deep Fritz 2002 года (в то время сыгравший вничью с чемпионом мира Крамником) со счетом 99 побед и одна ничья из 100 партий. То есть не только огромный рывок в скорости самих компьютеров с 2002 года обеспечивает неоспоримую победу машин над людьми в шахматах, но и сами программы, даже если бы скорость оставалась такой же, тоже ее обеспечивают. У меня нет хорошего понимания, откуда программы последних лет "выжимают" такое чудовищное алгоритмическое преимущество.
3. Скотт Ааронсон дает ссылку на новую книгу Ави Видгерсона (очень известного ученого в области CS) Mathematics and Computation, выложенную на его сайте. Это панорамный обзор всей области теории сложности (computational complexity), включая сюда и знаменитые нерешенные задачи типа P/NP, и квантовые вычисления, и основы машинного обучения, и многое еще. Без доказательств - это обзор, а не учебник - и написано вроде бы ясным языком и с интересными объяснениями. Я до сих пор только мельком успел посмотреть, но обязательно хочу прочитать.
1. В области машинного обучения есть тема интересная "враждебных примеров". Это когда вы, предположим, натренировали нейронную сеть так, что она почти без ошибок называет, какое животное на картинке; но оказывается, что можно взять, скажем, фотографию щенка, которую она распознает, и изменить совсем немного, так, что на ней все еще тот же щенок, ни один человек не спутает ни с чем другим - но нейронная сеть теперь уверена, что это бегемот. В каком-то смысле это демонстрирует уязвимость лучших на сегодня алгоритмов, хотя об этом тоже есть разные мнения (например, можно сказать, что зрительные иллюзии - похожее явление у людей; но там все же другое - это отдельный класс картинок, а не так, что любую картинку можно исказить совсем немного).
https://arxiv.org/abs/1710.08864 в этой недавней статье показывают, что можно находить враждебные примеры, в которых меняется всего один пиксель (в картинке 32x32), и нейронная сеть меняет свою классификацию.
http://www.labsix.org/physical-objects-that-fool-neural-nets/ тут строят враждебные примеры, которые остаются враждебными даже при съемке с разных ракурсов. Делают игрушечную черепашку, которую гуглевский алгоритм распознает как ружье, как ее ни верти и не двигай.
2. 15 Years of Chess Engine Development. Интересный пост на реддите, автор которого запустил четыре разные версии шахматных программ за последние 15 лет - на одном и том же компьютере (ноутбуке 2006-го года, замедленном примерно до скоростей 2002-го года). Результат, для меня по крайней мере, очень анти-интуитивный - прогресс в качестве игры шахматных программ за эти 15 лет был гигантский, и лучшая из них победила Deep Fritz 2002 года (в то время сыгравший вничью с чемпионом мира Крамником) со счетом 99 побед и одна ничья из 100 партий. То есть не только огромный рывок в скорости самих компьютеров с 2002 года обеспечивает неоспоримую победу машин над людьми в шахматах, но и сами программы, даже если бы скорость оставалась такой же, тоже ее обеспечивают. У меня нет хорошего понимания, откуда программы последних лет "выжимают" такое чудовищное алгоритмическое преимущество.
3. Скотт Ааронсон дает ссылку на новую книгу Ави Видгерсона (очень известного ученого в области CS) Mathematics and Computation, выложенную на его сайте. Это панорамный обзор всей области теории сложности (computational complexity), включая сюда и знаменитые нерешенные задачи типа P/NP, и квантовые вычисления, и основы машинного обучения, и многое еще. Без доказательств - это обзор, а не учебник - и написано вроде бы ясным языком и с интересными объяснениями. Я до сих пор только мельком успел посмотреть, но обязательно хочу прочитать.
no subject
Date: 2017-11-01 06:00 pm (UTC)https://ailev.livejournal.com/1383892.html
no subject
Date: 2017-11-01 06:07 pm (UTC)Также хорошо известно, как строить "враждебные примеры", правда в девичестве это не так называлось.
Итого - статья может быть интересна только тем, кто не видит лежащей за "машинным обучением" математики.
no subject
Date: 2017-11-01 06:15 pm (UTC)Есть такой термин - "неудобный соперник", когда у двух шахматистов А и В сила (измененная против остальных игроков) примерно одинакова, но вот в личных встречах В побеждает А с разгромных счётом (то есть B неудобный соперник для А)
Обычно такое бывает, когда В более силен в том, что А считает своей сильной характеристикой: А пытается обыграть В в обычном своём стиле, используя свою сильную характеристику, но выясняется, что В ещё сильнее в ней.
И так много раз, пока А не сообразит, что надо менять свой стиль игры, при обычном стиле разгром будет продолжаться.
А каждая шахматная программа новой версии - неудобный соперник для программы старой версии, потому что стиль схож.
И для шахматных программ характерно то, что их игра друг против друга показывает бОльшую разницу в силе, чем игра против человека.
Если шахматная программа А1 набрала против человека X 50%, а против шахматной программы A2 - 25%, то в мачте A2 и X результат не будет 75% на 25%, а где-то может быть 55% на 45%.
no subject
Date: 2017-11-01 06:48 pm (UTC)no subject
Date: 2017-11-01 06:53 pm (UTC)no subject
Date: 2017-11-01 07:40 pm (UTC)no subject
Date: 2017-11-01 08:03 pm (UTC)no subject
Date: 2017-11-01 08:14 pm (UTC)Мне вот эта статья очень понравилась по теме.
no subject
Date: 2017-11-01 09:47 pm (UTC)Как же надо раскормить бедного щенка!
no subject
Date: 2017-11-01 10:37 pm (UTC)no subject
Date: 2017-11-01 11:32 pm (UTC)no subject
Date: 2017-11-02 12:29 am (UTC)no subject
Date: 2017-11-02 02:11 am (UTC)no subject
Date: 2017-11-02 02:36 am (UTC)еще похож вопрос, как правильно - у рыбов нет зубов или у рыб нет зуб?
no subject
Date: 2017-11-02 02:38 am (UTC)я так понимаю, что это разгром
no subject
Date: 2017-11-02 02:39 am (UTC)no subject
Date: 2017-11-02 02:53 am (UTC)no subject
Date: 2017-11-02 04:01 am (UTC)no subject
Date: 2017-11-02 04:45 am (UTC)Человек старается выделить какие-то главные признаки, характеризующие отличие между классами. Нейросеть же тупая и не знает, какие признаки объекта главные, а какие второстепенные.
Это такая разновидность переобучения. В случае с черепахой, очевидно, нейросеть зацепилась за какие-то характерные для винтовок особенности ориентации волокон в деревянном цевье по отношению к металлическому стволу. Эти особенности используются в оружии из практических соображений, но не являются его определяющими критериями.
Причина переобучения здесь в том, что, во-первых, никто и не заставляет выделять главные признаки объектов, а во-вторых, в обучающей выборке отсутствуют примеры, в которых главные признаки позволили бы опознать объект, а второстепенные детали лишь сбивали бы с толку.
С одной стороны, результат выглядит как чудо, когда человек не может отличить объекты (в силу слабой выраженности главных признаков), а нейросеть может (зацепившись за какие-то детали). С другой, имеем такие вот трюки с обманом -- цепляясь за второстепенные детали, нейросеть не понимает сути объектов.
no subject
Date: 2017-11-02 04:52 am (UTC)https://meduza.io/news/2017/10/22/v-izraile-palestintsa-zaderzhali-iz-za-zapisi-dobroe-utro-v-feysbuke-algoritm-perevel-ee-kak-atakuyte-ih
no subject
Date: 2017-11-02 04:57 am (UTC)no subject
Date: 2017-11-02 05:02 am (UTC)no subject
Date: 2017-11-02 05:10 am (UTC)no subject
Date: 2017-11-02 05:59 am (UTC)Именно поэтому в спорте, включая шахматы, сплошь и рядом используется чемпионатская (все со всеми, хотя бы в пределах "группы"), а не кубковая (проигравший выбывает) система...
no subject
Date: 2017-11-02 05:59 am (UTC)no subject
Date: 2017-11-02 06:01 am (UTC)no subject
Date: 2017-11-02 06:35 am (UTC)no subject
Date: 2017-11-02 06:35 am (UTC)no subject
Date: 2017-11-02 06:40 am (UTC)no subject
Date: 2017-11-02 06:53 am (UTC)no subject
Date: 2017-11-02 07:18 am (UTC)Ваш код за 15 лет совсем не улучшился?
PS Эх, помню как-то писал оптимальный раскрой на генетических алгоритмах, ну написал, но как-то медленно работал, оптимизировал в одном месте - стало в 100 раз быстрее работать, в другом - еще в 100 раз...
no subject
Date: 2017-11-02 07:25 am (UTC)"враждебные примеры"?
это же зенитные суры аль-эфесби!
no subject
Date: 2017-11-02 07:30 am (UTC)no subject
Date: 2017-11-02 08:47 am (UTC)no subject
Date: 2017-11-02 10:08 am (UTC)no subject
Date: 2017-11-02 10:46 am (UTC)no subject
Date: 2017-11-02 11:01 am (UTC)ну и ложное ограничение выбора, конечно, это известная вещь.
no subject
Date: 2017-11-02 01:37 pm (UTC)no subject
Date: 2017-11-03 02:17 am (UTC)Я подозреваю, дело в оптимизации всяких мелких параметров (на сколько пунктов круче иметь коня на d5, чем на b5?), для чего используются распределенные сети с невиданной ранее суммарной мощностью. В коде Stockfish дофига и больше магических значений, у них есть т. н. Fishnet для оптимизации оных.
no subject
Date: 2017-11-03 03:28 am (UTC)1. значит ли это, что фичей экстрагировать здесь (в этих 500 измерениях, где в многообразие класса можно Вклиниться) неоткуда?
no subject
Date: 2017-11-04 06:57 am (UTC)ЖЖ удалил, так что анонимно, извинтиляюсь
no subject
Date: 2017-11-05 09:18 pm (UTC)https://i.pinimg.com/564x/02/4a/e3/024ae37341b2f791d0babd49609f861b--optical-illusions-pictures-eye-illusions.jpg
с близкого расстояния наш мозг видит злое лицо слева и доброе справа, а с далекого - наоборот
Шахматы
Date: 2017-11-07 05:01 pm (UTC)В начале 0х выстрелила Рыбка.
Райлих придумал чудесное простое отсечение, оптимизировал на C++ темплейтами много чего и программа, у которой оценка Piece Square Table вдруг начала рубить всех.
До него был Фрукт и Шреддер с похожими идеями - Rule Based не рулит, отсекать нужно брютальнее.
По слухам постоянной оптимизацией лучшие росли на .5 эло в день.
Тупо состарилось поколение великих ассемблерщиков (Морш и т.д.).
Еще был прекрасный скандал, когда какие-то клоуны из Росcии клонировали Рыбку, попались на этом, изворачивались и т.д.
DD за считанные недели до смерти поражал запалом при обсуждении фишек Komodo.
С 10х немного поменял ориентиры, но не вижу причин, почему все должно утихнуть. Денег в этой отрасли примерно всегда одинаково. Она не хайповая уже с середины 90х, зато железо для тестов все дешевеет.
Откуда взялось "алгоритмическое" качество игры в шахма
Date: 2017-11-10 05:09 pm (UTC)В момент, когда компьютеры начали играть на уровне человека (и лучше) -- кратно сократился цикл "изменение-тестирование-коммит".
Что позволило очень быстро накапливать "качество" игрового движка: как за счёт проверки содержательных предположений (например: а что если варьировать глубину поиска в зависимости от позиции), так и за счёт просто многопараметрической (пере)оптимизацию параметров.