Крупнейшая в мире транспортная компания Uber не владеет автомобилями, популярная социальная сеть FB не генерирует какого-либо контента, а на балансе самого богатого в мире ретейлера Alibaba нет товарно-материальных ценностей. Все эти примеры наглядно иллюстрируют известное утверждение, что в современном мире выживает не сильнейший, но быстрейший — интенсивные изменения окружающего мира могут угрожать любому бизнесу. Вместе с тем люди, основавшие перечисленные компании, не умнее и не работоспособнее других, и все же их деятельность оказалась более эффективной — новые бизнес-модели сегодня нередко возникают не в результате озарения отдельных гениев, а являются итогом анализа всех доступных компаниям данных.
Аналитики все чаще используют термины «data driven business» и «insight», в отличие от «Big Data» хуже поддающиеся переводу, но именно они определяют характер грядущей цифровой эпохи, успешными в которую будут компании, способные проникнуть в суть накопленных и получаемых ими в реальном времени данных. Для этого потребуются масштабируемые саморазвивающиеся средства, такие, например, как машинное обучение, теоретические основы которого появились одновременно с первыми компьютерами, однако практическая реализация столкнулась в то время с рядом проблем. Хорошие алгоритмы, которые были положены в основу информационных систем, способных к саморазвитию без перепрограммирования, неплохо работали на специализированных закрытых конфигурациях, содержащих фиксированное число вычислительных узлов, но оказались бесполезны в условиях больших объемов неструктурированных данных и разнородных распределенных аппаратных конфигураций.
Нынешний прогресс в технологиях Больших Данных и высокопроизводительных систем привел к ренессансу в области машинного обучения, которое, по сути, действует, как человек, при оценке незнакомой ситуации интерполирующий и экстраполирующий прошлые наблюдения и навыки, причем не только собственные. Кроме того, популярности методов машинного обучения способствовал свободный доступ к таким инструментам, как MLlib для Spark, которые позволяют аналитикам строить предсказательные модели на массивах данных из Hadoop. Как следствие, сегодня технологии машинного обучения проникли во многие аспекты жизни общества, начиная от умных спам-фильтров Gmail и рекомендательных систем Amazon до интеллектуальных систем управления автомобилем и систем распознавания текстов в Сети.
Компаниям, управляемым данными, необходимо находить среди них полезные сведения, а для этого требуется классифицировать документы по тематическим рубрикам в зависимости от наличия в них тех или иных слов, распознавать объекты на электронных изображениях, отфильтровывать входной поток информации из многочисленных источников — все это типичные задачи для алгоритмов машинного обучения, работающих с неструктурированными данными. Интуитивно понятно, что для получения достоверных оценок данных должно быть достаточное количество. Но сколько именно и как их обрабатывать для нахождения скрытых взаимосвязей, выявления тенденций и важных событий? Неудивительно, что доля серверов, специально предназначенных для работы с Большими Данными, как утверждают аналитики IDC, вырастет в Европе к 2019 году до 16% с нынешних 6%, но одного лишь оборудования мало. Основа любого нынешнего бизнеса — программные сервисы, и только та компания, которая быстрее других создает и выводит на рынок востребованные потребителями продукты и услуги на их основе, получает шанс улучшить свое благосостояние. Но как это сделать в условиях равного доступа к стандартным платформам и алгоритмам?
Благодаря новым методам машинного обучения сегодня можно решать задачи распознавания текстов, получая семантические представления для слов, фраз и предложений, причем все меньше усилий требуется для создания словарей и баз знаний для конкретной области. Однако до адекватного понимания взаимосвязанных событий, представленных в виде последовательности предложений или образов, а также диалогов, еще далеко. Все известные сегодня методы успешно работают либо при решении задач «поверхностного» понимания языка, либо при существенном ограничении предметной области — например, в сфере электронной коммерции вполне реально распознать оценочные суждения в отзывах о товарах или услугах по достаточно широкому спектру свойств.
Новые данные можно обрабатывать механизмами из стека Hadoop, но хранение ретроспективных баз в своем большинстве обеспечивается сегодня возможностями реляционных СУБД. Машинное обучение может применяться и для повышения производительности выполнения запросов к постоянно увеличивающимся массивам хранения — оптимизация плана выполнения запроса с помощью соответствующих средств позволяет в разы уменьшить время его обработки.
В стремлении не отстать от компаний типа Uber многие связывают свое будущее с машинным обучением, однако успешность его применения определяется не только выбором адекватного задаче алгоритма и правильными шагами на этапах планирования, разработки и внедрения модели, но и наличием квалифицированных специалистов.
С этого года журнал инициировал проект «Академия российского программирования» — информационного обеспечения процессов создания программных систем и формирования у молодежи интереса к соответствующим специальностям и мотивации к профессиональному росту. Для решения задачи обеспечения технологической независимости, достижения конкурентоспособности отечественной высокотехнологичной продукции и создания прорывных продуктов мирового уровня России требуется ликвидировать острый дефицит кадров в области программной инженерии. В рамках проекта предусмотрены рубрики: «ИТ-университеты», «Учебный центр», «Семинар», «Библиотека», «Мастер-класс», «В фокусе», «Платформы», «Мир», «Программная инженерия», «Интеграция», «Опыт», «Свободное ПО» и др.