Содержание статьи
Что такое глубокое обучение
Продукты и решения для глубокого обучения
Чаще всего transfer learning выглядит следующим образом: к натренированной на определенную задачу нейросети добавляется еще несколько скрытый слоев, которые позволяют использовать уже полученные знания для решения более конкретной задачи. Например, знания, полученные при обучении распознаванию различных предметов, могут применяться при решении задачи распознавания еды.
Искусственный интеллект с глубоким обучением сам находит алгоритм решения исходной задачи, учится на своих ошибках и после каждой итерации обучения дает более точный результат. Deep learning используют в компьютерном зрении (для извлечения информации из изображений), машинном переводе и распознавании человеческой речи на аудиозаписях.
Модель обрабатывает миллионы единиц данных в поисках закономерностей, но при этом трудно понять, как именно нейронная сеть пришла к тому или иному выводу. Из-за того, что процесс обработки данных непрозрачен, трудно выявлять возможные непреднамеренные предпочтения и объяснять прогнозы.
В deep learning есть два основных способа тренировки нейросети: с учителем и без учителя. В первом случае нейросети задают эталонный результат вычислений. При ответах с ошибкой она перенастраивает свои параметры и проводит вычисления снова, пока ответ не приблизится к эталону. Пример – определение стоимости дома.
Первые компьютерные модели нейронных сетей появились в 1943 году. Американские ученые Уолтер Питтс и Уоррен Маккалок создали аналог нейронных сетей человеческого мозга и написали алгоритмы для имитации мыслительного процесса. Позднее исследователи изучали алгоритмы работы искусственных нейросетей, но у технологии были ограничения: для полноценной работы в те годы не хватало мощных компьютеров и объемы имеющихся данных были слишком малы.
Между уровнем на входе и уровнем на выходе есть скрытые уровни. Здесь и проявляется различие между нейронными сетями и глубоким обучением. В базовых нейронных сетях может существовать один-два скрытых уровня, а в глубоком обучении таких уровней десятки, а иногда и сотни. С увеличением количества разных уровней и узлов повышается точность сети. Однако при увеличении количества уровней также требуется больше параметров и вычислительных ресурсов.
Чтобы научиться давать более точные, значимые и абстрактные ответы, глубокое обучение должно обработать очень большой объем данных. Так же как и человеческому мозгу, алгоритму глубокого обучения нужны примеры, чтобы он мог учиться на своих ошибках и повышать точность результатов.
Машины пока еще могут учиться работать только в одном узком направлении, и эта особенность может приводить к ошибкам. Сетям глубокого обучения нужны данные для решения одной конкретной задачи. Если им придется выйти за рамки этой задачи, они, скорее всего, начнут ошибаться.
Машинный перевод
В технологиях компьютерного зрения deep learning помогает распознавать объекты на изображениях. Для этого нейронные сети анализируют области на фото, находя в них закономерности, полученные при обучении. Например, компьютерное зрение используют в поисковиках: алгоритмы Яндекс и Google способны находить похожие на заданные фотографии. Также глубокое обучение применяют для распознавания лиц на камерах видеонаблюдения и для редактирования фотографий.
Машинное обучение — это разновидность ИИ, ориентированная на создание приложений, способных обучаться на материале данных и со временем повышать точность своей работы без вмешательства человека. Алгоритмы машинного обучения можно настроить на выявление закономерностей, которые упростят принятие решений и построение прогнозов, но для этого обычно требуется участие человека.
Глубокие нейронные сети требуют больших объемов данных для сходимости обучения. Поэтому часто встречается ситуация, когда для решаемой задачи недостаточно данных для того, чтобы хорошо натренировать все слои нейросети. Для решения этой проблемы и используется transfer learning [22] .
Одно из главных преимуществ глубокого обучения состоит в том, что его нейронные сети умеют находить в данных скрытые закономерности и связи, которые ранее были неочевидны. Используя более надежные модели машинного обучения для анализа больших объемов сложных данных, компании могут быстрее и точнее выявлять случаи мошенничества, управлять цепочками поставок и кибербезопасностью, используя следующие возможности:
Глубокая нейросеть тренируется проводить точные вычисления на больших наборах данных. Например, для обучения расчету цен в отелях нужны массивы данных о ценах за предыдущие годы. Нейросеть будет находить закономерности в параметрах и с каждой итерацией будет прогнозировать цены в определенный день точнее.
Глубокое обучение лежит в основе многих технологий искусственного интеллекта (ИИ), которые могут улучшить автоматизацию и аналитику. Большинство людей сталкиваются с глубоким обучением каждый день, когда ищут что-то в Интернете или пользуются своим мобильным телефоном. Глубокое обучение используется не только в многочисленных приложениях, но и для создания субтитров для видеороликов YouTube, в системах распознавания речи на телефонах и умных динамиках, для распознавания лиц на фотографиях, а также в автомобилях с автономным управлением. И по мере того, как исследователи и специалисты по изучению данных выполняют все более сложные проекты, используя возможности глубокого обучения, этот тип искусственного интеллекта будет занимать все более значимое место в нашей жизни.
Глубокое обучение (англ. deep learning) — совокупность широкого семейства методов машинного обучения, основанных на имитации работы человеческого мозга в процессе обработки данных и создания паттернов, используемых для принятия решений [1] . Как правило, глубокое обучение предназначено для работы с большими объемами данных и использует сложные алгоритмы для обучения модели [2] . На больших датасетах глубокое обучение показывает более высокую точность результатов в сравнении с традиционным машинным обучением. Зависимость производительности (качества результатов) от объема данных представлена на рисунке ниже.
Oracle Cloud Infrastructure (OCI) предлагает лучшие по соотношению цены и качества вычислительные возможности для рабочих нагрузок с большим объемом данных, быстрое облачное хранилище и сети 100 Гбит/с с поддержкой RDMA, малым временем задержки и высокой пропускной способностью. OCI также предоставляет экземпляры вычислений на GPU для глубокого обучения, предлагает простые в развертывании образы и обеспечивает гибкость: возможность использовать рабочую станцию с одним GPU или кластер с шаблонами конфигурации нескольких GPU.
Машинное обучение
Графические процессоры оптимизируются для работы с данными и для повышения скорости и производительности масштабных матричных вычислений. Графические процессоры идеально подходят для параллельного решения масштабных задач глубокого и машинного обучения. Благодаря этому приложения машинного обучения, выполняющие сложные расчеты на больших объемах структурированных или неструктурированных данных (таких, как изображения, тексты или видео), добиваются высокой производительности.
Работу глубокого обучения обеспечивают уровни нейронных сетей, которые представляют собой алгоритмы, действующие примерно так же, как человеческий мозг. Обучение на больших объемах данных позволяет настроить нейроны в нейронной сети. В результате образуется модель глубокого обучения, которая после окончания обучения способна обрабатывать новые данные. Модели глубокого обучения получают информацию из множества источников и анализируют эти данные в режиме реального времени без вмешательства человека. При глубоком обучении графические процессоры (GPU) оптимизируются для моделей обучения, потому что они могут одновременно обрабатывать множественные вычисления.
Скрытые слои производят вычисления на основе входящих параметров. В глубоком обучении у нейронных сетей несколько скрытых слоев. Это позволяет нейросети находить больше взаимосвязей во входных данных. Связи между нейронами имеют свой вес — долю значимости параметра среди всехданных. Например, в подсчете цен номеров большой вес будет иметь дата заезда, поскольку отели меняют цены в зависимости от спроса в конкретный день.
Входной слой получает набор данных. В простейшем случае каждый нейрон отвечает за один параметр. Например, в нейросетях для прогнозирования цен номеров в отеле это будут название отеля, категория номера и дата заезда. Информацию по этим параметрам входной слой отдает на скрытые слои.
Глубокое обучение классифицирует информацию, пропуская ее через уровни нейронных сетей с настроенными параметрами на входе для приема необработанных данных. Например, если нейронная сеть обучалась на изображениях птиц, она сможет распознавать птиц на новых изображениях. Чем больше в сети уровней, тем точнее результаты, например, сеть сможет отличить ворону от ворона, а не только ворону от курицы. Глубокие нейронные сети, обеспечивающие работу алгоритмов глубокого обучения, содержат несколько скрытых уровней между узлами ввода и вывода. Это значит, что они способны обеспечить более сложную классификацию данных. Алгоритм глубокого обучения необходимо обучить на больших наборах данных: чем больше данных он получит, тем точнее он будет работать. Например, алгоритму нужно обработать тысячи изображений птиц, прежде чем он сможет точно классифицировать птиц на новых изображениях.
Чтобы извлечь информацию из данных наблюдений, таких как фотоснимки и аудиозаписи, нейронные сети пропускают данные через несколько взаимосвязанных уровней узлов. Когда информация проходит через уровень, каждый узел на этом уровне выполняет над ней простые операции и выборочно передает результаты другим узлам. Каждый следующий уровень занимается более сложными характеристиками, чем предыдущий, пока сеть не получит конечный результат.