Оказывается, пока многие, включая меня, хлопают ушами, в прошлом году произошел качественный перелом в Deep Learning: машинный алгоритм впервые превзошел человека в распознавании лиц (
ссылки в журнале ailev). Это уже даже не
шахматы.
Я начал копать, что же случилось за последние годы, а именно (как считает ailev) c 2012г, когда начался бурный рост публикаций, денег и результатов в этой области. Похоже, что накопилась критическая масса и прорвало. А дальше положительная обратная связь. Чем больше интереса -- тем больше денег, чем больше денег -- больше результатов, больше результатов -- больше интереса и далее по спирали. Причем, рост возможностей нейронных сетей обусловлен в основном использованием более оптимальных топологий и способов обучения, нежели чем ростом вычислительных ресурсов (GPA, параллелизм и т.п.). То есть развитие качественное. В списке
прогнозов будущего развития от экспертов в области эта мысль звучит неоднократно.
Большой прогресс происходит не только в "статических" сетях, но и сетях с памятью, вроде
RNN и
LSTM.
Об уровне интереса к теме можно судить по представительности Deep Learning Summit, ближайший из которых
состоится через три недели в Сан-Франциско.
Причем, практически все результаты и алгоритмы свободны и открыты, что еще более подогревает интерес и позволяют большему числу людей включиться в работу. Образованная недавно компания
OpenAI (в числе спонсоров, кстати, неутомимый Илон Маск) ставит своей целью нести все это добро людям. Отрадно, что это все двигается талантливой молодежью, тот же Ilya Sutskever -- Research Director OpenAI -- автор ряда очень сильных результатов (
список работ), например известного вот
этого, ему еще нет и 30 лет.
Впрочем, я не снимаю своего мнения, озвученного в ряде комменатриев, что к пониманию, как работает мозг, к моделированию мышления, к знанию, как создать сильный AI, эти успехи нас не приближают. Те же RNN, которые научились посимвольно генерировать текст -- это суррогат знания, китайская комната. Мне кажется, что научились, наконец, пользоваться инструментом, придуманным уже добрые полсотни лет назад, и сейчас происходит (но пока не проходит) эйфория от успехов и результатов. К интеллекту и мышлению это пока не очень относится, но как компоненты и кирпичики чего-то большего (см.
нейросетевой конструктор) -- это очень нужно, важно, и на самом деле сделает компьютеры гораздо "умнее". Как роботы заменили людей на производстве, так и прорывные Deep Learning / AI технологии могут заменить (и уже заменяют) людей там, где раньше это не представлялось возможным.
С точки зрения перспективы, мне все же интуитивно кажется, что иерархаические структуры типа
HTM Хокинса должны быть лучше, но результатов там пока серьезных нет, что объясняется не столько плохой идеей, сколько сложностью имплементации.
Другая интересная смежная тема -- это
нейроэволюция, что в данном контексте означает эволюцию (топологии) нейронной сети или генетическое программирование.
В общем, я сильно загрузился темой (спасибо блогу
ailev), и собираюсь подтянуть свои знания в этой области. Попытка поставить опенсорсную библиотеку
MXNet, чтобы покрутить какие-то примеры, сходу не прошла. Ребята знатные извращенцы: чтобы поставить системные библиотеки
opencv они предлагают использовать... Ruby, который мне совсем не дался, из исходников я собрать все, не сразу (старый MacOS), но смог, но с R это пока не задружило (MXNet есть в версии для Питона, R и Julia -- из них R мне ближе). Через месяц буду в Штатах, куплю себе
"The Master Algorithm", а то самая свежая книжка в этой области у меня из середины 90х, а с тех пор мир изменился неузнаваемо.