Да, вы должны понимать, что такое обратное распространение

Когда в Стэнфорде появился курс CS231n (глубокое машинное обучение), то для него намеренно и специально были разработаны задания по программированию самого низкого уровня, включающие реальные вычисления, связанные с обратным распространением ошибок. Студенты должны были реализовать прямой и обратный проход каждого слоя в необработанном виде. Естественно, некоторые ученики неизбежно жаловались на доске объявлений в классе:

«Почему мы должны описывать обратный проход, когда в реальном мире есть фреймворки такие, как TensorFlow, которые вычисляют его автоматически?»

Кажется вполне разумно, на первый взгляд, что если после окончания курса вы никогда не собираетесь писать обратные проходы, то зачем в этом практиковаться? Преподаватели ради собственного развлечения мучают студентов? Некоторые простые ответы могут привести к аргументам типа «то, что скрывается под капотом есть бесполезная интеллектуальная мастурбация и надо ли этим заниматься» или «возможно, позже вы захотите улучшить основной алгоритм», однако, есть гораздо более сильный и практичный аргумент, которому я хотел бы посвятить целый пост:

> Проблема обратного распространения — очень даже неплохая концепция.
Читать далее «Да, вы должны понимать, что такое обратное распространение»

40+ приложений технологии машинного обучения для бизнеса

Перевод поста Филиппа Ходжетта, выступавшего на конференции Hollywood Professional Association Tech Retreat. Надеюсь, собранный в одном месте список актуальных сервисов, готовых к интеграции в ваши проекты, и примеров работающего бизнеса на основе машинного обучения будет полезен разработчикам. Предлагаю делиться вашими собственными результатами успешного внедрения проектов, связанных с глубинным обучением.
Читать далее «40+ приложений технологии машинного обучения для бизнеса»

Основы градиентного бустинга

Александр СербулДеревья градиентного бустинга, с помощью которых сейчас много соревнований выигрывают с пол-пинка, ставят под сомнение возможности и перспективы deep learning 😉 Зачем нейросети, если можно гораздо точнее, с помощью последовательной компенсации ошибки предыдущей модели, добавлять деревья друг на друга, упрощая оптимизацию через хак в разложение функции потерь в ряд Тейлора и вырезание первых двух членов. А еще можно делать на деревьях сразу и регуляризацию, заодно, и решение становится из коробки хорошо устойчивым к переобучению. Красота — нейросетям и не снилось 🙂

Александр Сербул
Руководитель направления контроля качества интеграции и внедрений в 1С-Битрикс

Классная, подробная и понятная преза по деталям внутри деревьев градиентного бустинга от создателей XGBoost — от простого к сложному:
Читать далее «Основы градиентного бустинга»

10 примеров алгоритмов машинного обучения на javascript

С каждым годом библиотеки машинного обучения становится все более быстрыми и доступными, признаки замедления не наблюдаются. Традиционно языком машинного обучения считается Python, но в настоящее время нейронные сети можно реализовать на любом языке программирования, включая и JavaScript!

В последнее время экосистема web сделала огромный шаг вперёд, и, хотя, JavaScript и Node.js менее производительны, чем Python и Java, сегодня они достаточно мощны, чтобы справиться со многими задачами машинного обучения. Огромное преимущество Веб-языков заключается их супер доступности — все, что вам потребуется для ML-проекта (Mashine Learning) на JavaScript — ваш веб-браузер.

Большинство библиотеки машинного обучения JavaScript ещё довольно новы и пока находятся в разработке, однако, они есть и готовы к тому, что-бы их испытать. Здесь мы рассмотрим некоторые из этих библиотек, а также ряд интересных примеров веб-приложений искусственного интеллекта для вашего старта.
Читать далее «10 примеров алгоритмов машинного обучения на javascript»

Языки, фреймворки и инструменты или дорожная карта для курса «Проектирование интернет-приложений»

Индустрия разработки программного обеспечения продолжает уверенно продвигаться вперед. Необходимо отметить, что в 2016 году новые версии популярных языков, фреймворков и инструментов добавили нам больше энергии и изменили характер нашей работы. За всем новым трудно уследить, поэтому в начале года надо понять, что важно и чему должно учиться в течение следующих двенадцати месяцев, а для студентов Бизнес-информатики наметить дорожную карту курса «Проектирование интернет-приложений», особенно, в контексте подготовки ВКР.

Тренды

Progressive Web Apps

В прошлом, 2016 году, утвердилась концепция Progressive Web App. В соответствии с ней веб-приложения могут работать в автономном режиме, используя накопленный пользовательский опыт. Приложение может быть добавлено в качестве главного экрана вашего смарт-устройства и даже может отправлять вам push-уведомления, игнорируя отсутствие связи родного мобильного приложения. Думается, что в 2017 году PWA станут еще более важны и на это стоит обратить внимание. Посмотрите обзор здесь.
Читать далее «Языки, фреймворки и инструменты или дорожная карта для курса «Проектирование интернет-приложений»»