Anatoly Levenchuk (ailev) wrote,
Anatoly Levenchuk
ailev

Глубина (скрытое измерение) в языке

Ещё одна работа, объясняющая успех RNN в понимании естественного языка (и неуспех марковских цепей) по линии "физичности": "Critical Behavior from Deep Dynamics: A Hidden Dimension in Natural Language", http://arxiv.org/abs/1606.06737

Основная идея -- что в языке отдельные элементы коррелируют друг с другом, и эти корреляции убывают в степенной зависимости. Рекурсивные грамматики и глубокие сети ухватывают эти "дальние" зависимости, предоставляя возможность срезать путь через скрытое измерение: глубину. А всякие попытки считать статистики и корреляции "по линейке" в один уровень без иерархий грамматик или уровней абстракции в нейросетях тут не работают, ибо для таких попыток предел -- последовательности с экспоненциальным убыванием зависимостей. Далее в статье делаются предложения, что именно можно улучшить в архитектурах нейронных сетей, работающих с естественным языком (куда относят заодно музыку Баха, человеческий геном и тексты из википедии).

В статье много интересного, крайне рекомендую. Вот ещё ряд ссылок на предыдущие материалы по пониманию "почему оно всё работает":
-- DARPA Fun LoL (запрос на математическую меру пределов обучения, типа шенноновской меры информации для пределов передачи информации): https://www.fbo.gov/utils/view?id=933e5aa90007234da5cc8c38615b8cc3. Это может быть интересно, ибо в работе про Critical Behavior говорится "How can we know when machines are bad or good? The old answer is to compute the loss function. The new answer is to also compute the mutual information as a function of separation, which can immediately show how well the model is doing at capturing correlations on different scales". Мне кажется, что это заход на то, что спрашивается в Fun LoL.
-- http://ailev.livejournal.com/1197148.html -- там много ссылок на связь математики для физики и глубокого обучения, в том числе математика спиновых стёкол (в статье как раз приводится "The measured curves are seen to be qualitatively similar to that of a famous critical system in physics: a 1D slice through a critical 2D Ising model, where the slope is -1/2").
-- пересказ лекции Yoshua Bengio по теоретическому обоснованию их выразительной силы: http://rinuboney.github.io/2015/10/18/theoretical-motivations-deep-learning.html.
-- подборка "объяснительных" по работе глубоких сетей: https://vk.com/topic-44016343_33675473 (там залежи литературы).
-- совместное рассмотрение рекурсивных грамматик и уровней абстракции слоёв нейронной сетки для меня затрагивает и тему связи локальных символических представлений и распределённых (коннекционистского и символического подходов), вот тут разнообразные ссылки на эту тему: http://ailev.livejournal.com/1238045.html, вот тут ещё http://ailev.livejournal.com/1236426.html и дубль части этих ссылок с добавлением ещё кое-чего в http://ailev.livejournal.com/1266905.html

В любом случае, всё больше и больше объяснений необходимости глубины: абстракции нужны для того, чтобы сокращать путь между далёким -- сопоставления делаются не "по горизонтали", а "через верх", через скрытое измерение. Это верно, думаю, и не для последовательностей: глубина абстракций может быть и для картин, и для объемов, для чего угодно. А рекурсивные грамматики позволяют рассуждать об абстракциях в терминах паттернов. Продолжая "космические" аналогии, поминаемые в статье, мышление-понимание-коммуникация строится на "проколах" семантического пространства-времени, через искажение его абстракциями. Звездолёты мысли летают через порталы абстракций.

Первое, что мне стало любопытно, так это попробовать помыслить не про семантическое пространство, а про семантическое пространство-время. В физике такой ход оказался очень продуктивен, чего б его и тут не использовать? Понятия тем самым становятся такими многомерными объектами (все эти "семантические протяжённости", семантическая мереология и т.д.), да ещё и иерархия абстракций тут может участвовать. Так сказать, коннективистский семантический пространственно-временной экстенсионализм.

Второе, что мне стало любопытно, вообще не связанно с deep learning. Я бы сравнил естественные языки и языки программирования/моделирования по предложенной метрике. В статье говорится, что степень у всех естественных языков где-то -1/2, и это уже само по себе интересно: степень-то может быть в разных языках абсолютно разной! Вопрос: а в искусственных языках какая степень? А связана ли эта степень с успешностью/популярностью языка хоть как-то? Это ж какой был бы критерий "похожести" искусственного и естественного языка, подстраиваемый к естественным языкам! У кого-то есть развёрнутые корпуса текстов и удобная считалка? Может, кто-то сосредоточится и посчитает?
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 10 comments