Это первая статья из цикла «How and why it works» (1/???)
Задумывались ли вы, как YouTube понимает, какое видео вам захочется посмотреть следующим? Как спам-фильтр в почте за секунду отсеивает рекламу, а голосовой помощник узнает ваш голос даже в шумной комнате?
За всем этим стоит не магия и не настоящий искусственный интеллект из фантастических фильмов, а технология, которая называется машинное обучение (Machine Learning).
Если вы далеки от программирования и математики, словосочетание «машинное обучение» может показаться странным. Разве компьютеры не просто выполняют то, что мы им приказали? Как они могут «учиться»? В этой статье мы разберем, как это работает, почему это перевернуло мир технологий и чем такой подход отличается от привычных нам компьютерных программ.
Главное отличие: Обычная программа vs Машинное обучение
Чтобы понять суть, давайте представим, что нам требуется научить компьютер отличать фотографии кошек от фотографий собак.
Подход 1: Классическое программирование
В традиционном подходе программист пишет жесткие инструкции (правила). Он пишет код примерно вкладывая в него примерно такой смысл:
- «Если на картинке есть острые ушки, вертикальные зрачки и усы определенной длины — это кошка».
- «Если морда вытянутая, нос крупный, а уши висячие — это собака».
Проблема: Мир слишком сложен для строгих правил. Что, если кошка свернулась клубком и ушек не видно? Что, если на фото собака породы, о которой программист не подумал? Программа сломается и выдаст ошибку. Чтобы описать все возможные варианты котов и собак в мире, человеку пришлось бы написать миллионы строк кода. Это невозможно.
Подход 2: Машинное обучение
В машинном обучении программист не пишем правила. Вместо этого мы даем компьютеру данные и позволяем ему самому найти закономерности.
Мы берем 100 000 фотографий кошек и 100 000 фотографий собак и просто говорим машине: «Смотри и запоминай». Алгоритм начинает анализировать пиксели, тени, формы и цвета. Он сам находит те самые скрытые связи, которые делают кошку кошкой, а собаку — собакой, даже если мы сами не можем объяснить эти связи словами.
Если свести это к простым формулам, разница выглядит так:
- Обычная программа:
Правила + Данные = Ответы - Машинное обучение:
Ответы + Данные = Правила
Машинное обучение — это раздел искусственного интеллекта, в котором компьютер не решает задачу по заранее прописанному алгоритму, а учится ее решать на основе предоставленных примеров (данных).
Как именно машина «учится»?
Слово «учится» здесь используется как метафора. Компьютер не становится сознательным, у него не появляется интуиция или жизненный опыт.
Представьте себе огромный, сложный радиоприемник, у которого не три ручки настройки, а миллиард маленьких крутилочек (параметров). Когда вы впервые включаете этот приемник, из него доносится только белый шум (ошибки).
- Тренировка: Вы показываете машине картинку кошки. Машина (наугад, через свои миллиард крутилок) выдает ответ: «Это тостер».
- Корректировка: Специальный математический механизм (его называют функцией потерь) видит, что ответ неверный, и буквально на миллиметр подкручивает тысячи ручек в нужную сторону.
- Повторение: Вы показываете следующую картинку. Машина снова ошибается, но уже не так сильно. Ручки снова подкручиваются.
- Экзамен: После того как машина увидела миллион картинок, все ее миллиард «ручек» настроены настолько идеально, что когда вы показываете ей новое, незнакомое фото кота, она уверенно говорит: «Кошка».
Этот процесс «настройки ручек» на огромных объемах данных и называется обучением.
Три главных способа обучения машины
Машины учатся тремя основными способами, в зависимости от того, какие данные мы им даем.
1. Обучение с учителем (Supervised Learning)
Аналогия: Школьные карточки с ответами. У нас есть данные, и к каждому примеру прикреплен правильный ответ (это называется «размеченные данные»).
- Пример: Мы даем алгоритму таблицу с данными о тысячах квартир: площадь, район, этаж, год постройки. И к каждой квартире приписываем ее финальную цену.
- Результат: Алгоритм находит скрытые зависимости и становится идеальным риелтором-оценщиком. Когда вы даете ему параметры новой квартиры, он с высокой точностью предсказывает ее стоимость.
- Где встречается: Распознавание лиц, предсказание курса акций, фильтры спама (почта помечает письма как «спам» или «не спам»).
2. Обучение без учителя (Unsupervised Learning)
Аналогия: Сортировка ведра с разными пуговицами. Мы даем машине данные, но не даем ответов. Машина должна сама разобраться, как их лучше рассортировать, найти аномалии или сгруппировать похожее.
- Пример: У супермаркета есть база данных миллионов покупок. Машина начинает их анализировать и сама замечает странный паттерн: «Люди, которые покупают подгузники по пятницам, очень часто покупают пиво». Человек мог бы до этого не додуматься, но машина увидела эту связь.
- Где встречается: Сегментация клиентов для рекламы, поиск мошеннических операций с картой (алгоритм видит, что покупка в другой стране выбивается из ваших обычных «паттернов» поведения).
3. Обучение с подкреплением (Reinforcement Learning)
Аналогия: Дрессировка собаки (или игра в видеоигру). Здесь нет готовых данных. Машина помещается в среду, и ей дают только одну цель — получить максимум «награды» и минимум «штрафов».
- Пример: Алгоритм учится играть в шахматы или управлять беспилотным автомобилем. Сначала он делает случайные глупые действия (врезается в стену, теряет ферзя) и получает штраф. Методом миллионов проб и ошибок он находит стратегию, которая ведет к победе.
- Где встречается: Автопилоты Tesla, роботы-манипуляторы на складах Amazon, ИИ, побеждающий чемпионов мира по Dota 2 и Go.
Почему бум машинного обучения произошел именно сейчас?
Сама идея машинного обучения появилась еще в 1950-х годах. Почему же прорыв случился только в последние 10–15 лет? Для успешного «обучения» машине нужны три вещи, как табурету нужны три ножки:
- Огромные объемы данных (Big Data). Раньше у нас не было миллиардов оцифрованных фото, текстов и транзакций. Появление интернета и смартфонов дало машинам бесконечный «учебный материал».
- Вычислительные мощности. Процесс тренировки (подкручивания миллиардов «ручек») требует колоссальных вычислений. Появление мощных видеокарт (GPU) позволило проводить эти расчеты за дни, а не за столетия.
- Развитие алгоритмов. Ученые придумали более эффективные математические методы (в частности, нейросети), которые позволили работать с такими сложными вещами, как человеческая речь и зрение.
Важный миф: Машина не «думает»
Читая о машинном обучении, легко поддаться очарованию и решить, что компьютер обрел разум. Важно помнить: машина не понимает, что такое кошка.
Для алгоритма кошка — это просто набор математических векторов, матрица чисел, которая статистически часто совпадает с подписью «cat» в базе данных. ИИ не обладает здравым смыслом. Если наклеить на фотографию кошки маленький стикер с надписью «яблоко» (так называемая «адверсарная атака»), хваленый искусственный интеллект может с вероятностью 99% заявить, что перед ним фрукт, потому что в его математической модели возникнет сбой паттерна.
Машинное обучение — это статистика. Это умение находить иголку в стоге сена и предсказывать погоду по форме облаков, но на скоростях, недоступных человеческому мозгу.
Итог
Обычная программа — это послушный исполнитель. Она работает по вашим жестким инструкциям. Она не ошибается, если вы не ошиблись в коде, но она совершенно беспомощна перед нестандартной ситуацией.
Машинное обучение — это гибкий ученик. Мы не говорим ему, как делать. Мы показываем ему историю (данные) и говорим, какой мы хотим видеть результат. Машина сама выводит правила и становится тем лучше, чем больше примеров она видит.
Именно благодаря этому подходу технологии перестали быть просто инструментами и стали нашими помощниками, советниками и навигаторами в огромном, сложном и переполненном информацией мире.

Добавить комментарий