Нейронные сетки потихоньку учатся галлюцинировать, их сны пока всего лишь забавны и бесполезны, но эта забавность сугубо временная. Заголовок поста я взял из фразы "the yahoo url above doesn't actually exist, the model just hallucinated it" великолепной работы Andrej Karpathy по компьютерной бредогенерации оригинальных текстов с возрастающей степенью формализма языка. Эта генерация проходила после обучения нейронной сетки по эссе Paul Graham, работам Shakespeare, выборки статей Wikipedia (с вики-разметкой!), текстов по Algebraic Geometry (в LaTeX! то есть даже диаграммы генерит!) и даже Linux Source Code. Насладитесь:
http://karpathy.github.io/2015/05/21/rnn-effectiveness/ (код этих примеров доступен, так что можете и сами поиграться:
https://github.com/karpathy/char-rnn).
Восхитительное духоподъемное чтиво, крайне рекомендую. Этот блогпост Karpathy наверняка станет классикой, у него и название такое -- "The Unreasonable Effectiveness of Recurrent Neural Networks" (Alon Halevy, Peter Norvig и Fernando Pereira из Гугля в 2009 написали статью "The Unreasonable Effectiveness of Data" --
http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/35179.pdf, явно противопоставишись со своим soft computing знаменитому тезису физика Eugene Wigner "The Unreasonable Effectiveness of Mathematics in the Natural Sciences" про то, что математическая структура физической теории часто указывает на способы развития теории и даже ведёт к эмпирическим предсказаниям --
http://en.wikipedia.org/wiki/The_Unreasonable_Effectiveness_of_Mathematics_in_the_Natural_Sciences).
Через всю статью проходит красной нитью идея, что не hard computing будет объединять результаты soft computing, а что совсем наоборот -- чуть ли не soft computing сможет реализовать, ежели приспичит hard computing (хотя и не эффективно), ровно как строго логические рассуждения могут быть реализованы в хорошо натренированной человеческой голове. То есть не нейронная сетка будет реализовываться на условной машине Тьюринга (помним, что McCarthy делал свой Lisp как простой и понятный вариант Тьюринг машины, поэтому я и пишу "условная тьюринг-машина" -- см. Catching Up with Math в
http://www.paulgraham.com/icad.html), а наборот -- машина Тьюринга/hard computing будет реализовываться на нейронных архитектурах/soft computing. В любом случае, налицо интерес к гибридным вычислениям -- как "классический AI с онтологиями и продукциями" интересуется soft computing, так и статистические deep architectures интересуются выходом в строгую логику.
Кроме убедительных примеров бредогенерации ближе к концу статьи обсуждаются перспективы развития RNN (recurrent neural network). Так, в них начинает использоваться управление вниманием для обхода дороговизны вычислений на полных имеющихся данных (внимание привлекается к фрагменту данных во внешней памяти) -- Karpathy прямо говорит, что "The concept of attention is the most interesting recent architectural innovation in neural networks".
Интересны комменты, набежавшие к этому посту за неделю. Например, модульность нейронных сеток как позволяющая учить новое без забывания старого -- возвращаемся к микротеориям, но на уровне нейросеток. Вот работа про это:
http://journals.plos.org/ploscompbiol/article?id=10.1371%2Fjournal.pcbi.1004128#ack Как, однако, бурно deep architecture развивается в эти годы! Сравнить можно только с развитием квантовой физики в начале прошлого века.