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