Машинное обучение: как ИИ распознает котиков на фото и почему он может устать
Про машинное обучение слышно из каждого утюга. Мы в своих постах тоже постоянно говорим о том, что «нейросети научились» или «искусственный интеллект придумал». Говорить — говорим, а объяснить, что это такое, и скоро ли наступит «Матрица» — не объясняем. Исправляемся. Спойлер — роботы нас не поработят, ведь жить с нейросетями наоборот легче и безопаснее.
Чем отличаются машинное обучение, нейросети и искусственный интеллект?
Нам поможет в этом разобраться разработчик нейросетей в Университете Искусственного Интеллекта и выпускник МФТИ Даниил Еремеев.
Искусственный интеллект (ИИ) — это общее название. Искусственным интеллектом можно назвать и Скайнет из «Терминатора», и робота Тарса из «Интерстеллара», и даже Электроника — вполне себе искусственный интеллект.
Внутри ИИ есть машинное обучение — это один из разделов ИИ. Важный, но есть и другие.
И уже внутри машинного обучения — нейронные сети или нейросети. «Нейронными» они называются, потому что смоделированы на основе биологических процессов, которые происходят в человеческом мозгу — в нейронных сетях живого организма.
Часто эти понятия в статьях меняют между собой, и означают они все примерно одно: «компьютер научился что-то делать, и он делает это лучше, чем мы».
А зачем нам нужно, чтобы машина делала что-то лучше нас? Не наступит ли «Матрица»?
Лень — двигатель прогресса. Мы постоянно придумываем технологии, чтобы упростить себе жизнь и заменить людей на рабочих местах. Мы хотим, чтобы задачи, которые лучше выполняет машина, выполняла машина, а человек занимался тем, что машине не под силу. Какие же задачи лучше отдать компьютерам, а какие оставить себе?
Машина лучше: выбирает из множества лучшее, предсказывает, воспроизводит и запоминает.
Человек лучше: создает новое и мыслит нестандартно. Этого машина делать не умеет, она работает только на основе чего-то, а самостоятельно ничего не создает. Она не мыслит, а работает с данными, просто этих данных настолько много, что человек такой массив обработать не сможет, вот и пользуется для этого машиной. Уничтожить все живое на Земле машина не сможет, ей это ни к чему.
ИИ решает задачи, для которых нельзя написать четкий алгоритм действий
Есть два типа задач: те, которые можно решить, написав четкий алгоритм, и те, для которых четкого алгоритма нет.
Четкие задачи: система связи — сигнал от смартфона доходит до спутника или башни-ретранслятора, а оттуда уходит к адресату. Передача файлов со смартфона на жесткий диск — тоже четкая задача. В этих задачах понятно, как их решать по шагам.
Нейросети занимаются нечеткими задачами. По шагам такую задачу не решишь — например, распознавание лиц на камерах.
Распознать котиков и собачек на записи с камеры обычный алгоритм не сможет. Ты не опишешь алгоритму, что такое кот, а что такое собака. Нейросеть не видит на изображении усы, лапы и уши, а видит цифры, потому что любое изображение — это матрица с цифрами.
Обычный алгоритм не сможет с изображения выудить информацию о лапах и усах, потому что на каждой записи они будут выглядеть по-разному. Для этого и нужны нейронные сети. Изначально они сами ничего не умеют, их обучают. Им «показывают» десятки тысяч фотографий, вырезая вручную на каждом изображении кота. Изучив миллионы пикселей, нейросеть научится находить на видеозаписях котов. И это — только одна из множества задач.
Задачи для нейросетей вообще друг на друга не похожи
Все вокруг нас можно перевести в числовые значения, чтобы «объяснить» эту информацию нейросети. Все задачи нейросети можно разделить на три группы.
Классификация. Самая популярная задача. Нейросеть распознает класс чего-либо, раскладывает вещи по коробкам. «Это красное, а это — синее», «это написано по-французски, а это на суахили», «это — скан паспорта, а это, кажется, нет».
Регрессия. Тут нейросеть распознает число. Она может рассчитать стоимость квартиры в зависимости от удаленности от центра, этажа и года постройки дома или посоветовать, когда лучше купить акции. Нейросеть посмотрит на котировки акции за последние 30 дней и предскажет, сколько акция будет стоить завтра.
Кластеризация — нейросеть разделяет данные на плоскости. Вы живете в Саратове и вам надо выпить кофе. Нейросеть в картах вам скажет: «Вот эти кофейни находятся на севере Саратова, а вот эти — на юге». Мы можем заранее сказать машине, как группировать предметы, а можем сказать, чтобы делала, как хочет.
Нейросети захватили мир — где мы уже сталкивались с ними?
Нейросети уже умеют:
• Фиксировать людей на видеозаписи — определять, носите ли вы маску или нет, узнавать вас по лицу. Даже капюшон, очки и маска вас не скроют.
• Определять птиц, животных, растения.
• Рассчитывать стоимость жилья, автомобиля.
• Распознавать товары в магазинах без касс — нейросеть не считывает штрихкоды, а прямо с камеры распознает, взял покупатель молоко или булочку.
• Обнаруживать возгорание в помещении с камер наблюдения.
• Предсказывать пробки и аварии по видеорегистратору.
• Распознавать и транскрибировать речь — это знакомые нам Алиса, Siri и Маруся.
• Сканировать и проверять паспорта.
• Определять болезни по снимкам — переломы, пневмонию, рак груди и другие.
Также нейросети умеют имитировать творчество — писать картины в стиле художников, создавать тексты и музыку. Это НЕ творчество, это «сборная солянка» из того, что нейросеть «видела» до этого.
Еще больше примеров можно посмотреть на сайте Университета Искусственного Интеллекта. Здесь их можно даже покрутить-повертеть.
Мы не знаем, как нейросети обучаются!
Да, мы не в курсе, как нейросети учатся, но «Матрица» от этого не наступит.
Когда мы обучаем нейросеть распознавать котов, мы загружаем в нее миллионы картинок и даем какую-то формулу. На этом наши команды заканчиваются — начинается произвол нейросети, она учится сама.
Она что-то решает, а мы просто говорим, правильно или неправильно. Если правильно — молодец, система работает. Если неправильно — не молодец, уточняй формулу сама. Когда нейронка подгонит решение под ответ и результат приблизится к точному, все будут довольны.
Нейросеть может устать, расстроиться и пойти отдыхать
Нейросети тоже не всесильные и бывают «не в ресурсе», после чего на полгода улетают на Бали соединяться с природой.
Бывает такое, что нейросеть может переобучиться, и начнет просто запоминать все, что видела, вместо того, чтобы выводить закономерности. Такое может произойти, если сеть обучать слишком долго или добавлять слишком много параметров.
Придется срочно объяснять все заново — добавить данных на входе или убрать несколько параметров.
Так что давайте бережно относиться ко всем — и к себе, и к нейросетям, мир от этого станет добрее и лучше.