Машинное обучение и нейронные сети

Опыт старшего научного сотрудника и технического директора исследовательского центра Google в Цюрихе (Источник)

Машинное обучение — путь к искусственному интеллекту

Машинное обучение — это всего лишь попытка сделать машину, которая учится на своем опыте. Сегодня мы предполагаем, что разработка таких машин — самый быстрый путь к созданию настоящего искусственного интеллекта. Но чтобы компьютер стал разумным, должен случиться прорыв на стыке науки и искусства.

Machine Learning — новый инструмент, новый путь инженерии. Мы занимаемся машинным обучением в двух направлениях: улучшаем свои продукты — например, поисковик, краеугольный камень нашего бизнеса, — и строим совершенно новые продукты, которые раньше были просто невозможны. Есть несколько методов машинного обучения, которые сегодня применяются на практике.

3 метода

Обучение на примерах

Supervised Learning — один из важнейших типов. Представьте, если бы вы учились играть в шахматы, а за вашей спиной стоял бы гроссмейстер и нашептывал, как ходить. Конкретный пример: автоматическая сортировка спама в вашей почте. Раньше программисты задавали определенные правила, например, если в тексте слово viagra написанно со странными символами — это на 99 процентов спам. Теперь же алгоритм изучает архив писем, которые были помечены как спам и не спам. Он делает это снова и снова и медленно, но верно становится лучше и лучше, определяет спам все точнее. Это очень успешная техника — и костяк многих систем.

Обучение с подкреплением

Reinforcement Learning основывается на отрицательном и положительном отклике, или, иначе говоря, на опыте. Если приводить пример с шахматами: представьте, если бы вы учились играть, каждый раз проигрывали, но делали из этого выводы.

Самообучение

Метод спонтанного обучения (Unsupervised Learning) работает без вмешательства со стороны экспериментатора. Машина производит анализ структур данных, вычленяя из них какие-то общие паттерны. Мы, люди, владеем всеми тремя обозначенными способами. Но машины пока освоили неплохо только первый, и постепенно мы стараемся научить двумя другим.

Как именно учатся машины

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

Вообще, вся задача вписывается в линейный график Wx + B — это и есть искомая модель. Мы можем подставлять под значения W и B любые числа, которые берем из наблюдений: например, студент занимался два с половиной часа и получил оценку 80; затем мы обращаемся к другому наблюдению и будем продолжать заносить данные, сокращая ошибку прогноза. По прошествии времени с накоплением опыта мы получим график, который будет отображать общую тенденцию.

Такая очень упрощенная система и есть суть программы машинного обучения. Одна ее часть — это входящие данные, математическая модель и набор параметров (чаще просто набор чисел); вторая — алгоритм, который сравнивает входящие данные и постоянно уточняет прогноз. Чтобы система совершенствовалась, она должна пройти этот путь миллионы и миллиарды раз. Поэтому мы только недавно пришли к ее созданию: компьютеры стали для нее достаточно мощными. И все равно они по-прежнему очень медленные ученики.

Другая проблема машинного обучения: мы должны иметь миллионы и миллионы примеров, тех самых входящих и исходящих данных. Сама система — это что-то вроде ракеты: умники вроде меня могут часами говорить о том, какая у нее должна быть форма, но она никуда не полетит без топлива. Эти данные — как раз оно и есть.

Что такое глубинное обучение

Иметь дело с простыми уравнениями — это одно, но как, например, определить, что изображено на картинке? Нужна намного более сложная математическая модель. И тут на помощь приходит Deep Learning — специфический тип машинного обучения. По сути, это то, что называется искусственной нейронной сетью. Концепцию придумали еще в 1930-х, но важные математические расчеты для нее провели только в 1980-х. Главная особенность глубинного обучения в том, что оно основано не на одной функции, а на большом наборе.

Вы воспринимаете эту информацию благодаря взаимодействию гигантского количества нейронов — индивидуальных клеток, из которых состоит мозг. Каждая из них сама по себе не разумна. Но она взаимодействует с другими нейронами поблизости, основываясь на том, как они преобразуют входящий сигнал в исходящий.

В нейронной сети Google вместо отдельных клеток-нейронов крошечные математические функции — может быть, чуть сложнее, чем Wx + B. Каждая из них ориентируется на множество вокруг. Миллионы и миллиарды математических функций работают вместе, и чем лучше они натренированы на это, тем сильнее система.

Эта технология и позволяет делать разные сумасшедшие вещи: подписывать фотографии, синтезировать искусство и даже выигрывать в го. Она также используется в распознавании речи и текста.

Data Scientist # 1

Машинное обучение, большие данные, наука о данных, анализ данных, цифровой маркетинг, искусственный интеллект, нейронные сети, глубокое обучение, data science, data scientist, machine learning, artificial intelligence, big data, deep learning

Данные — новый актив!

Эффективно управлять можно только тем, что можно измерить.
Copyright © 2016-2021 Data Scientist. Все права защищены.