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

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

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

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

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

Мошенничество в эпоху искусственного интеллекта

Итак дождались, Вас вызвали в суд, где предъявили массу доказательств, включая телефонные звонки, рукописные заметки, сообщения электронной почты и журналы чатов, которые неоспоримо доказывают вашу причастность к преступлению.
Читать далее «Мошенничество в эпоху искусственного интеллекта»

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

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

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

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

Нейронные сети: практическое применение

Наталия Ефремова погружает публику в специфику практического использования нейросетей. Это — расшифровка доклада Highload++.

Добрый день, меня зовут Наталия Ефремова, и я research scientist в компании NtechLab. Сегодня я буду рассказывать про виды нейронных сетей и их применение.

Сначала скажу пару слов о нашей компании. Компания новая, может быть многие из вас еще не знают, чем мы занимаемся. В прошлом году мы выиграли состязание MegaFace. Это международное состязание по распознаванию лиц. В этом же году была открыта наша компания, то есть мы на рынке уже около года, даже чуть больше. Соответственно, мы одна из лидирующих компаний в распознавании лиц и обработке биометрических изображений.
Читать далее «Нейронные сети: практическое применение»