robloxme

Model compression

Сегодняшний концепт "хозяйке на заметку" называется model compression - http://arxiv.org/pdf/1312.6184.pdf

Оказывается, что хотя deep nets на многих задачах лучше, чем shallow nets (просто нейронные сети с несколькими полными уровнями)...
Но если shallow nets обучать не на реальных данных, а на "галюцинациях" deep net, они начинают работать лучше!
Настолько лучше, что сравниваются с некоторыми deep nets с тем же количеством параметров (разумеется, менее мощные, чем те, которые галлюцинируют)
http://public.closedcircles.com/posts/model-compression
robloxme

Mind blown

mturk (а на самом деле люди) иногда сносит крышу.

На всякий случай, Mechanical Turk - это сервис Амазона, на котором можно выдавать людям любые задачи, которые решаются в браузере - в частности, написать о чем картинка, что-то выделить, поправить, разметить итд итп.

Это такой основополагающий сервис для ML-науки (и индустрии) - осознанно датасеты размечают именно так. Денег он Амазону толком не приносит, это такая чистая благотворительность. Человечеству можно помогать не только опенсорсом deep learning фреймворков!
http://public.closedcircles.com/posts/mind-blown
robloxme

Роботы и обучение

Основные успехи deep learning на текущий момент получены в так называемом supervised learning setting - то есть, модель обучается на наборе сэмплов, которые помечены какими-то метками, и учится предсказывать эти метки. Это может быть "объект, который находится на картинке", "следующее слово/символ в тексте", итд итп.

Отсюда возникает проблема создания большого размеченного датасета - для успешного обучения он должен быть огромный, а значит и затраты на его разметку тоже большие.

Одна из притягательных идей автоматизации этого процесса - сделать так, чтобы датасет пополнялся сам в результате взаимодействия с внешним миром (близкий термин - reinforcement learning). Один из ярких примеров - Deepmind, который был куплен Гуглом за пол-ярда долларов.

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

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

http://public.closedcircles.com/posts/robots-and-computer-vision
robloxme

Face recognition through deep learning

Под влиянием народа вокруг, почитал как работает современный face recognition и, как всегда, рассказываю это на пальцах - у меня профессора в команде очень много им занимались и много бесед на обедах все еще про это.

Краткое резюме - по годам прямо можно проследить процесс отказа от структуры, которую придумывают люди (искать какие-то keypoints на лицах, вычислять овалы, корректировать освещение итд итп) к машинному обучению на всех уровнях.

Приведенный ниже разбор статьи из Google и статьи из Facebook - описание текущего состояния, когда тренировка начинается от raw pixel values и заканчивается уже идентификацией человека. Если кому-то интересно, могу в другой раз рассказать про предыдущие шаги.
http://public.closedcircles.com/posts/face-recognition-through-deep-learning
robloxme

Детали неразумной эффективности

Ну что, сразу к хардкору! Статью Andrej Karpathy про RNN (http://karpathy.github.io/2015/05/21/rnn-effectiveness/) видели в своих фидах все, и читать ее надо обязательно - Karpathy пишет замечательно, и можно примерно понять, о чем речь, с нулем бэкграунда.
Больше всего впечатлил текст, который генерируется нейросетью на разных стадиях обучения, вот он отдельно - https://closedcircles.com/api/blobresource?file=1116 Видно, как буквы складываются в слова, слова в предложения,предложения в структуру, и от всего этого немного жутковато.
Мне, кстати, кажется, что он писал и lecture notes к отличнейшему Стенфордскому курсу про CNN (http://cs231n.stanford.edu/), больно уж стиль похожий.
Как всегда, в обзорном посте во все детали погрузиться тяжело, поэтому у меня некоторые вопросы остались и я, наконец, разобрался.
Докладываюсь по итогам!
http://public.closedcircles.com/posts/unreasonable-effectiveness-details
robloxme

Традиционный пост о смене работы

Пошел, внезапно, в Dropbox, что окончательно не геймдев и не графика.
В этот раз до смены работы прошло аж 5 лет - ROBLOX классный и некая отдушина в мире геймдева.

Collapse )

Вот, кстати, посоветуйте мне хорошие русскоязычные блоги и онлайн-тусовки про machine learning и все эти дела? Хочу общаться не только по-английски.
robloxme

Махонькая задачка

Махонькая задачка на приятное щелканье в мозгу - аж три раза за одну задачку. Найти надо, разумеется, все решения. Спойлеры, традиционно для Кружочков, публикуются линками на http://gist.github.com - тыкайте осторожней!

http://public.closedcircles.com/posts/few-minute-problem
robloxme

Tiled forward shading

Тред аж двухгодичной давности - когда появились первые статьи про tiled forward shading. Мы там обсуждаем и метод, и его проблемы, и детали возможной реализации, и интересные трюки и детали.
Прочитал и вспомнил, как занимался графикой. Всплакнул, практически.

http://public.closedcircles.com/posts/tiled-forward-rendering