Anatoly Levenchuk (ailev) wrote,
Anatoly Levenchuk
ailev

Диаграмма стоит дюжины фотографий.

"A Diagram Is Worth A Dozen Images" -- это название статьи, где предлагается вариант алгоритмов машинного обучения для ответов на вопросы по диаграммам из школьных учебников: http://arxiv.org/abs/1603.07396. В диаграммах (картах, схемах, таймлайнах и т.д.) часто представляются сущности и отношения, которых на картинках или фотографиях с натуры не увидишь. Поэтому машинному интеллекту отвечать на вопросы по этим диаграммам сложней, чем на вопросы по картинкам или фотографиям из реальной жизни. Но глаза боятся, а руки делают. Вот, например, как машинный интеллект из статьи отвечает на вопросы по взятым из учебников биологии диаграммам жизненного цикла:

В целом результаты скромные, машинный интеллект явно не проявляет себя отличником. Так отвечает школьник-троечник. Этим сейчас не принято хвастаться, хотя ещё год-другой назад этот уровень ответов на вопросы по диаграммам считался бы чудом.

В статье есть интересные наводки на работу по синтаксису диаграмм, прежде всего диссертацию 2002 года J. von Engelhardt "The language of graphic" http://dare.uva.nl/document/2/21566. Yuri Engelhardt продолжал потом и дальше работать над темой синтаксиса графики, вот его статья 2007 года Syntactic Structures in Graphics -- http://yuriweb.com/engelhardt-graphic-syntax.pdf.

Вот мой пост 2013 года про составление и парсинг диаграмм как кодирование/декодирование, часть информатики: http://ailev.livejournal.com/1069810.html (и там ещё куча ссылок, в том числе в комментах).

Помним при этом, что нейронные сетки обычно хорошо решают и обратную задачу. Очень скоро мы увидим и нарисованные компьютером диаграммы. Картинки по потребности компьютер уже синтезирует, и неплохо (как пример, вот статья, в которой для одежды на человеке в произвольной позе требуется изобразить эту же одежду на манекене в заданном ракурсе: http://arxiv.org/abs/1603.07442. Конечно, в этой статье решают и обратную задачу: по изображению на манекене синтезировать изображение человека в этой одежде в произвольной позе!). Так что с диаграммами их синтеза ждём-с.

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

Эти работы по парсингу и синтезу диаграмм с учётом изображаемых на диаграммах объектах и отношениях (это онтологии!) скоро склеются с работами по моделированию фактографических (объекты-отношения: онтологии, семантические и лингвистические базы данных типа FreeBase, WordNet) представлений (онтологий и смежных с ними FreeBase, WordNet, ConceptNet). Вот типичная из сегодняшних работ этой серии -- Probabilistic Reasoning via Deep Learning: Neural Association Models, http://arxiv.org/abs/1603.07704. В этой работе предлагают relation-modulated neural nets как замену deep neural nets -- как раз для коннекционистского фактографического представления, работы с триплами. Хотя я не сказал бы, чтобы эти RMNN так уж сильно выигрывают у DNN по качеству результатов. Но они зато учатся отношениям на меньшем числе примеров.

В этом же направлении работы с фактографическими данными (триплами) идёт работа Generating Factoid Questions With Recurrent Neural Networks: The 30M Factoid Question-Answer Corpus -- http://arxiv.org/abs/1603.06807. Там FreeBase превращают в вопросы-ответы (перевод с "диаграммного языка" на человеческий -- обычная задача перевода, даже метрика BLEU использована, плюс валидизировалось людьми).

Картинки/диаграммы -- структуры (графы/онтологии) -- тексты на естественном языке. Все возможные направления перевода активно исследуются. Это информатика, которая решает задачи перевода из одних представлений в другие (я именно так определял информатику в 2012 году, нужно уже делать апдейт этого текста: http://ailev.livejournal.com/1008054.html). И уже понятно, куда тренд: разбираться будут не на уровне слов, а на уровне букв -- так оказывается точнее, все "переводы" будут делаться на уровне букв, и к картинкам это наверняка тоже относится, уж какие там "буквы" ни будут выделены (а ведь будут!). Вот одно из последних важных исследований на тему "побуквенного перевода": A Character-level Decoder without Explicit Segmentation for Neural Machine Translation http://arxiv.org/abs/1603.06147 (и там много интересного про современное -- март 2016 -- состояние машинного перевода).

Конечно, если есть перевод между естественноязыковым или картиночным представлениями и структурным представлением, то следующий шаг -- это попробовать логику первого порядка. Тут тоже подвижки. Вот, например: We have developed a framework which combines deep neural networks with first-order logic rules to allow integrating human knowledge and intentions into the neural models. In particular, we proposed an iterative distillation procedure that transfers the structured information of logic rules into the weights of neural networks. Это Harnessing Deep Neural Networks with Logic Rules, http://arxiv.org/abs/1603.06318

Конечно, всё это уже планируют использовать при работе со структурированными данными, например сопровождение data catalogs -- https://www.oreilly.com/ideas/how-human-machine-collaboration-has-automated-the-data-catalog

Ещё один неожиданный шаг к выходу в структурные представления -- это работы по "объяснениям" результатов работы нейронных сеток. Вот, например, предложение "Why Should I Trust You?": Explaining the Predictions of Any Classifier, http://arxiv.org/abs/1602.04938 (там не только нейронные сетки пытаются "объяснять", но и random forests). При парсинге диаграмм такие "объяснения" могут существенно помогать в отладке.

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

Всё происходит в машинном обучении быстро, хотя при ежемесячном взгляде прогресс отследить трудно, ибо улучшения идут по чуть-чуть за раз, без революций и скачков -- но эти улучшения по капельке-процентику в месяц накапывают за несколько лет довольно много. Тут характерен паттерн, проявившийся на соревнованиях ImageNet (нужно было рассортировать картинки по 1000 категорий на них изображённого). Каждый год по чуть-чуть, с разницей в лучших и худших результатах в 20% ошибки, но за четыре года добрались до сверхчеловеческих результатов:


Я также ожидаю резкого ускорения в обучении нейронных сеток, это ещё сократит цикл. В этом помогут и
-- новые аппаратные веяния (вот тут предлагают methods based on approximate computing to reduce energy consumption in state-of-the-art ConvNet accelerators. By combining techniques both at the system- and circuit level, we can gain energy in the systems arithmetic: up to 30x without losing classification accuracy and more than 100x at 99% classification accuracy, compared to the commonly used 16-bit fixed point number format -- http://arxiv.org/abs/1603.06777, а вот тут использование a concept of resistive processing unit (RPU) devices that can simultaneously store and process data locally and in parallel, thus potentially providing significant acceleration for DNN training -- обещают ускорение на много порядков, http://arxiv.org/abs/1603.07341.
-- новые алгоритмические ходы, типа Distilling the Knowledge in a Neural Network, http://arxiv.org/abs/1503.02531. Many insects have a larval form that is optimized for extracting energy and nutrients from the environment and a completely different adult form that is optimized for the very different requirements of traveling and reproduction. [никуда мы в этом посте от жизненных циклов не денемся!] In large-scale machine learning, we typically use very similar models for the training stage and the deployment stage despite their very different requirements. Дальше предлагается учить одни сетки (например, ансамбли, или высокорегулярные модели), а потом "дистиллировать" из них знания в другие небольшие сетки, которые будут проще в использовании.
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 5 comments