В deep learning уже довольно много народу, это уже как интернет года эдак 1995, когда была основана AltaVista (Google был основан только в 1998 году, за два года до лопанья пузыря). Тренд уже более чем заметен, появились картинки, на которых "секретную историю кремниевой долины" (слайд 2 в http://steveblank.com/secret-history/) дополняют послеинтернетой волной смартфонов и уж далее deep machine learning (хотя так внутри самой тусовки и не говорят: там либо machine learning, либо deep learning, но прибежало много новых людей, и тамошний междусобойчик уже никогда не будет "консистентным"). Вот какая теперь история Долины (http://www.computervisionblog.com/2015/11/the-deep-learning-gold-rush-of-2015.html?m=1):
Периодизация там такая: "2010-2015 Deep learning comes to the party, 2015-2020 Deep learning Revitalizes Robotics". Я бы заметил, что нейронные сетки оживят не только робототехнику, но и многое другое -- но уж робототехнику-то точно: видеть мир, слышать и понимать речь, управляться с телом -- это всё вполне выучивается, а 1ТFLOPS с размерами кредитной карточки доступен уже сегодня (http://devblogs.nvidia.com/parallelforall/nvidia-jetson-tx1-supercomputer-on-module-drives-next-wave-of-autonomous-machines/ -- на такой штуке даже мне захотелось попрограммировать, слюна потекла. Это вам не смертьдуино на 16МHz!).
А тут и новая волна подступает, недовольных GPU -- они демонстрируют чудеса производительности по обработке видео на FPGA. Вот типичная работа по "вниманию/attention и характерности/особенностям/saliency" (специально даю ссылку на видео, а не статью -- там работа с видепотоком, а не анализ статики, всё не слишком заумно, более-менее попсовый отчёт -- распознают пробегание людей в поле зрения камеры, увеличивают возможности силовиков и даже простых граждан по поимке всех плохих в пользу всех хороших): https://youtu.be/S9qUl2zQFsc. Таких работ сейчас огромное количество, deep learning стремительно теряет статус rocket science и становится нормальным ремеслом для тысяч и тысяч инженеров глубокого обучения по всему миру (хотел написать "программистов", но потом сдержался. Это не программисты, им матан нужно знать лучше, чем языки программирования. Но они и не математики, физикам ведь тоже матан нужно знать, но физики тоже не математики. И самоназвания у них ещё устойчивого нет, типа "вебмастеров" раннего интернета).
Вообще -- обувь хороший пример, ибо она вся крайне разная, и нет общепринятой системы классов, так что на ней тренируются даже сами люди из deep learning -- см. "обувной хакатон": https://github.com/LenaTash/ShoeFetish.ai, а ещё сетки могут выдавать очень точную 3D модель ноги, что существенно облегчает все задачи кастомизации -- можно по трём фотографиям ступни на смартфоне и стельку на 3D-принтере напечатать ортопедической точности без личного присутствия -- http://www.sols.com/, и примерку готовой обуви делать дистантно, по фотографии: http://techjaw.com/2015/02/13/the-shoe-fitting-app-set-to-revolutionise-the-footwear-industry/
Применения машинного обучения самые разнообразные. Вот, например, небольшой обзорчик трёх приложений: определение объема заполнения мусорного контейнера по фотографии его внутренностей (а затем можно на 40% сократить маршрут мусоровоза за счёт пропуска полупустых контейнеров), определение нарушителей правил стоянки в курортной зоне (патрули идут целенаправленно к нарушителям, а не проводят время приклееными к мониторам), оценка вероятности прохождения судебного иска, издержек на него и длительности процесса -- всё это основано на deep learning, http://www.datanami.com/2015/11/18/three-unique-ways-machine-learning-is-being-used-in-the-real-world/
Тут нужно понимать, что сам алгоритм deep learning -- это крайне небольшой кусочек. Ибо любое приложение варится из него, как суп из топора. Нужно для этого алгоритма найти подходящую решаемую проблему, развернуть для него инфраструктуру работы с данными (идеально -- сделать "пылесос", который высасывает целевые данные отовсюду -- типа как Гугль со своим краулером или фейсбук, которому свои данные несут полтора миллиарда человек в день), интегрировать в какое-то полезное людям приложение. Если у вас много данных и есть алгоритмы deep learning, то вы можете выйти за пределы ограничений человеческого мышления и решать буквально нечеловеческие задачи. Так что сейчас у предпринимателей в deep learning ровно такая же задачка, как у получивших ответ "42" -- нужно теперь найти, это ответ на какой вопрос! Этот вопрос найти не так легко, как кажется. Deep learning отвечает на множество самых разных вопросов, но не за все ответы на вопросы люди готовы платить деньги.
Когда данные есть в изобилии и результаты работы алгоритма обучения пользуются спросом на рынке, настроить и обучить нейронную сеть -- это уже не проблема, это обычная рабочая задача. Венчурные капиталисты уже начали жаловаться, что к ним приходят толпами авторы "общих алгоритмов обучения чему угодно" -- примерно так же, как на заре веба любой вебмастер становился через некоторое время владельцем собственного state-of-the-art веб-движка (даже я не миновал сей участи когда-то, тоже разработал Коммунивер, но счастья это мне не принесло: движков таких на рынке было много, а вот приложить его к чему-то большому и красивому мне не удалось -- я не заметил, что людям нужны не вебсайты, а дневники/блоги с возможностью "дружить". Хотя я был от этого в одном шаге, с этим Community ware -- в 1998 году, за много лет до social web!). Так что акцент сегодня стремительно перемещается с самого deep learning на его приложения. За алгоритмы уже не платят (хотя DeepMind с их алгоритмами и был куплен Гуглем за $400млн.), платят только за приложения. Алгоритмы уже ничто, приложения -- всё.
А поскольку никакого профита от "движков deep learning" (как когда-то и от веб-движков) не намечается, то их исходники раскрывают, массово.
На прошлой неделе много шуму было по поводу выкладывания в открытый доступ профессиональных библиотек deep learning от Гугля (TensorFlow, http://tensorflow.org/) и Майкрософта (http://www.dmtk.io/). В связи с этим было много разговоров на тему "какая должна быть идеальная библиотека глубокого обучения". Я бы хотел указать в этой связи на вот эту страницу: https://mxnet.readthedocs.org/en/latest/program_model.html и реализующую тамошние рассуждения фреймворк mxnet https://github.com/dmlc/mxnet -- Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Go, and more.