Deep learning (глубокое обучение) — это вид машинного обучения с использованием многослойных нейронных сетей, которые самообучаются на большом наборе данных.
Основная логика
Искусственный интеллект с глубоким обучением сам находит алгоритм решения исходной задачи, учится на своих ошибках и после каждой итерации обучения дает более точный результат. Deep learning используют в компьютерном зрении (для извлечения информации из изображений), машинном переводе и распознавании человеческой речи на аудиозаписях.
Кратчайшая история
Первые компьютерные модели нейронных сетей появились в 1943 году. Американские ученые Уолтер Питтс и Уоррен Маккалок создали аналог нейронных сетей человеческого мозга и написали алгоритмы для имитации мыслительного процесса. Позднее исследователи изучали алгоритмы работы искусственных нейросетей, но у технологии были ограничения: для полноценной работы в те годы не хватало мощных компьютеров и объемы имеющихся данных были слишком малы.
В 1970-x появились первые графические процессоры – GPU. Компьютеры с этими компонентами обрабатывали графические данные в сотни раз быстрее, так как GPU специально были заточены только для этой задачи. В будущем это помогло нейронным сетям выиграть конкуренцию у других моделей искусственного интеллекта, например, машины опорных векторов, так как для обучения нейросети нужно быстро перемножить большое количество матриц, а GPU с этим справляются лучше всего.
Современный этап развития глубокого обучения наступил в начале 2010-х годов. Этому помогли рост производительности графических процессоров и появление сверточных нейронных сетей, при создании которых вдохновлялись устройством человеческого глаза. В 2012 году применение deep learning позволило снизить долю ошибок при распознавании объектов на изображениях в рамках проекта ImageNet до 16%. Сегодня нейросети справляются с подобными задачами с точностью до 94-99%, что превышает возможности человека.
Сегодня нейросети применяют и для анализа активности в человеческом мозге. В 2020 году исследователи использовали deep learning для поиска отделов височной доли мозга, отвечающих за распознавание образов у человека.
Как устроены многослойные нейронные сети
Функционально нейросети делят на слои — структуры нейронов с общей задачей.
Входной слой получает набор данных. В простейшем случае каждый нейрон отвечает за один параметр. Например, в нейросетях для прогнозирования цен номеров в отеле это будут название отеля, категория номера и дата заезда. Информацию по этим параметрам входной слой отдает на скрытые слои.
Скрытые слои производят вычисления на основе входящих параметров. В глубоком обучении у нейронных сетей несколько скрытых слоев. Это позволяет нейросети находить больше взаимосвязей во входных данных. Связи между нейронами имеют свой вес — долю значимости параметра среди всехданных. Например, в подсчете цен номеров большой вес будет иметь дата заезда, поскольку отели меняют цены в зависимости от спроса в конкретный день.
Выходной слой выводит результат вычислений, например, цены номеров в отелях.
В глубоком обучении используется больше одного скрытого слоя. Такие модели называют глубокими нейронными сетями (deep neural network). Например, в компьютерном зрении используют сверточные нейросети. В архитектуре таких нейросетей используют множество слоев, подбирая их количество под каждую задачу. Чем дальше информация со входного изображения продвигается по нейросети, тем более абстрактные детали находит нейросеть. Например, на первых слоях модель находит палочки и круги, из которых состоит любое изображение, а в конце сеть уже может найти хвосты и уши для распознавания животных на фотографиях.
Как обучают нейросети в deep learning
Глубокая нейросеть тренируется проводить точные вычисления на больших наборах данных. Например, для обучения расчету цен в отелях нужны массивы данных о ценах за предыдущие годы. Нейросеть будет находить закономерности в параметрах и с каждой итерацией будет прогнозировать цены в определенный день точнее.
В deep learning есть два основных способа тренировки нейросети: с учителем и без учителя. В первом случае нейросети задают эталонный результат вычислений. При ответах с ошибкой она перенастраивает свои параметры и проводит вычисления снова, пока ответ не приблизится к эталону. Пример – определение стоимости дома.
При обучении без учителя глубокая нейросеть сама классифицирует входящие данные и вычисляет эталонный результат. Пример – кластеризация пользователей сайта по разным группам.
Где применяется deep learning
Машинный перевод
В технологии нейронного машинного перевода (NMT) нейросети обучают на миллионах примеров пар фрагментов текста и их переводов. Глубокое обучение позволяет модели анализировать контекст употребления слов и грамматику. Один из самых известных примеров — GNMT, нейронный машинный перевод от Google.
Компьютерное зрение
В технологиях компьютерного зрения deep learning помогает распознавать объекты на изображениях. Для этого нейронные сети анализируют области на фото, находя в них закономерности, полученные при обучении. Например, компьютерное зрение используют в поисковиках: алгоритмы Яндекс и Google способны находить похожие на заданные фотографии. Также глубокое обучение применяют для распознавания лиц на камерах видеонаблюдения и для редактирования фотографий.
Синтез и распознавание речи
Благодаря глубокому обучению технологии обработки и синтеза речи стали очень точными. Обучение многослойных нейросетей позволяет компьютеру распознавать голос с учетом речевых особенностей: произношения, акцента, скорости речи, возраста говорящего. В синтезе речи, например, в голосовых помощниках Siri и Алиса, глубокое обучение позволяет объединять записанные фрагменты так, чтобы голос казался естественным.
0 комментариев