2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Что значит глубокое обучение

Содержание

Как работает глубокое обучение — просто о сложном

«Сегодня в сфере IT очень популярны такие технологии, как искусственный интеллект (ИИ) и машинное обучение. Словосочетание «искусственный интеллект» используется направо и налево. Среди людей, обучающихся на разработчиков, очень много тех, кто хотел бы изучать науку об ИИ. Директора многих компаний хотят внедрять ИИ в свои сервисы. Но зачастую многие из них даже не понимают, что такое искусственный интеллект», — пишут FreeCodeCamp.

В данной статье рассматриваются различия между ИИ и машинным обучением. Также здесь объясняются принципы действия самой популярной разновидности машинного обучения – глубинного обучения.

Для понимания материала не требуются глубокие математические знания.

Немного о терминологии

Прежде всего, нужно разобраться в основных терминах.

Искусственный интеллект и машинное обучение

На заре ИИ-разработок ученые пытались воссоздать человеческий интеллект для решения конкретных задач, например для игр.

Они программировали компьютер на исполнение большого списка инструкций. У машины был четкий перечень допустимых действий, исходя из которого она действовала.

Машинное обучение подразумевает способность машины обучаться, используя обширные массивы данных вместо жестко запрограммированных инструкций.

Эта технология наделяет компьютер способностью обучаться самостоятельно. Данный способ обучения обеспечивается за счет мощных ресурсов ныне производимых процессоров, которые способны без труда анализировать огромные массивы данных.

Обучение с учителем и обучение без учителя

При использовании обучения с учителем задаются определенные входные и выходные данные.

Если выходные данные не соответствуют ожиданиям, то компьютер сделает корректировку расчетов. Этот процесс повторяется из раза в раз, пока компьютер не сделает все без ошибок.

Прогноз погоды с использованием искусственного интеллекта является наглядным примером этого типа обучения. Компьютер обучается прогнозированию на основе данных за прошлые периоды. Входные данные в этом случае – это давление, влажность, скорость ветра, а на выходе – температура.

Обучение без учителя подразумевает обучение ИИ на основе наборов данных без определенной структуры.

Во время обучения без учителя ИИ осуществляет логическую классификацию данных.

В качестве примера можно привести прогнозирование поведения пользователей для интернет-магазина. Тренировка ИИ происходит без входов и выходов.

ИИ создает собственную классификацию входных данных. По итогу, машина выдаст, какие пользователи купят тот или иной товар с наибольшей вероятностью.

Глубокое обучение — принцип работы

Глубокое обучение — один из методов машинного обучения. С его помощью можно обучать ИИ прогнозированию выходов на основе набора входных данных. Здесь применяется обучение как с учителем, так и без учителя.

Для наглядности в качестве примера будет взят сайт по оценке стоимости билетов на авиарейсы. Обучение сервиса будет производиться с учителем.

Сервис должен спрогнозировать стоимость на основе следующих входных данных (обратные рейсы не учитываются):

  • Начальный пункт полета;
  • Конечный пункт полета;
  • Дата вылета;
  • Авиакомпания.

Нейросети

Что происходит в «мозгу» ИИ?

Так же, как в мозгу живого существа, у ИИ есть нейроны. Они обозначены в виде кружков. Нейроны связаны между собой.

Есть три вида слоев нейронов:

  • Входной слой
  • Скрытые слои
  • Выходной слой

Входной слой получает входные данные. В нем 4 нейрона: начальный пункт полета, конечный пункт полета, дата вылета, авиакомпания. От этого слоя входные данные транслируются на первый скрытый слой.

В скрытых слоях выполняют математические операции с данными. Одна из трудностей при создании нейросетей – определить количество скрытых слоев и сколько нейронов в каждом слое.

Глубокое обучение потому и называется глубоким, что количество скрытых слоев больше одного.

Выходной слой выдает, что получилось в итоге, то есть примерную оценку стоимости рейса.

Как именно вычисляется прогноз стоимости?

Каждая связь между нейронами имеет вес, который определяет важность входного значения. Изначально веса произвольные.

Для оценки стоимости авиарейса одним из важнейших параметров является дата вылета. Следовательно, связи с нейроном даты вылета будут обладать большим весом.

У каждого нейрона есть функция активации. Если простыми словами, одна из ее задач – «стандартизация» выходных данных.

После того, как входные данные прошли через все слои нейросети, выходной слой выдает выходные данные.

Как видно, все довольно просто.

Обучение нейросети

Обучение ИИ – сложнейший этап глубокого обучения.

Читать еще:  Как лечить воспаление глаз у детей

Во-первых, набор данных должен быть огромным.

Во-вторых, ресурсы для вычислений должны быть очень большими.

В случае с сервисом по оценке стоимости авиарейсов, необходимы данные о стоимости билетов за прошлые периоды. Комбинаций аэропортов и дат вылета очень много. Поэтому придется работать с очень большим количеством вариантов цен на билеты.

Для обучения машины потребуется задать входы из набора данных и сравнить полученные выходы с выходами из набора данных. Поначалу выходы будут неверными.

После обработки, можно создать функцию стоимости, которая показывает, насколько неверными были выходы ИИ в сравнении с реальными выходами.

В идеале, она должна иметь нулевое значение. Это произойдет, когда выходы ИИ совпадут с выходами из набора данных.

Как сократить функцию стоимости?

Нужно изменить значения весов. Можно менять их случайным образом, пока функция не сократится, но это не очень удобно.

Лучше применить метод под названием «градиентный спуск».

С его помощью можно найти минимум функции стоимости.

Веса изменяются с небольшим нарастанием после итерации обработки каждого набора данных. С помощью вычисления производной функции стоимости, можно узнать направление минимума функции.

Чтобы узнать минимум функции, нужно обработать набор данных по многу раз. Без мощных вычислительных ресурсов здесь не обойтись.

Изменение весов с использованием градиентного спуска происходит автоматически. В этом заключается магия глубокого обучения!

Обученный ИИ сайта по оценке стоимости авиарейсов способен прогнозировать цены на будущее.

Где узнать дополнительную информацию?

Есть и другие типы нейросетей: сверточные нейронные сети для компьютерного зрения и рекуррентные нейронные сети для обработки естественного языка.

Для изучения технических аспектов глубокого обучения стоит пройти соответствующие онлайн-курсы.

Deep Learning Specialization, созданный Andrew Ng – на сегодня один из лучших курсов по глубокому обучению. Без получения сертификата его можно прослушать бесплатно.

Глубокое обучение (Deep Learning): краткий туториал

Первым шагом к пониманию того, как работает глубокое обучение, является понимание различий между несколькими важными терминами.

Нейронная сеть (искусственная нейронная сеть) — это попытка воспроизведения работы человеческого мозга на компьютере при помощи слоев нейронов.

Искусственный интеллект — способность машины или программы находить решения при помощи вычислений.

Во время первых исследований в области ИИ ученые пытались воспроизвести человеческий интеллект для решения конкретных задач — например, игры с человеком. Было введено большое количество правил, которым должен следовать компьютер. На основе этих правил компьютер принимал решения в согласии с конкретным списком возможных действий.

Машинное обучение — это попытка научить компьютеры самостоятельно обучаться на большом количестве данных вместо жестко постулированных правил.

Машинное обучение позволяет компьютерам самостоятельно обучаться. Это возможно благодаря вычислительной мощности современных компьютеров, которые могут легко обрабатывать большие наборы данных.

Контролируемое и неконтролируемое обучение

Контролируемое обучение (обучение с учителем, supervised learning) подразумевает использование помеченных наборов данных, содержащих входные данные и ожидаемые выходные результаты. Когда вы обучаете нейронную сеть с помощью контролируемого обучения, вы подаете как входные данные, так и ожидаемые выходные результаты.

Если результат, генерируемый нейронной сетью, неверен, она скорректирует свои вычисления. Это итерационный процесс, оканчивающийся тогда, когда сеть перестает совершать ошибки.

Примером задачи с контролируемым обучением является предсказание погоды. Нейросеть учится делать прогноз погоды с использованием исторических данных. Обучающие данные включают в себя входные данные (давление, влажность, скорость ветра) и выходные результаты (температура).

Неконтролируемое обучение (обучение без учителя, unsupervised learning) — это машинное обучение с использованием наборов данных без определенной структуры.

Когда вы обучаете нейросеть неконтролируемо, она самостоятельно проводит логическую классификацию данных. Примером задачи с неконтролируемым обучением является предсказание поведения посетителей интернет-магазинов. В этом случае сеть не обучается на размеченных даннх. Вместо этого она самостоятельно классифицирует входные данные и отвечает на вопрос, какие пользователи чаще всего покупают различные товары.

Глубокое обучение

Теперь вы подготовлены к изучению того, что такое глубокое обучение и как оно работает.

Глубокое обучение — это метод машинного обучения. Глубокое обучение позволяет обучать модель предсказывать результат по набору входных данных. Для обучения сети можно использовать как контролируемое, так и неконтролируемое обучение.

Разница между машинным и глубоким обучением

Рассмотрим, как работает глубокое обучение, на примере сервиса по оценке стоимости авиабилета. Мы будем обучать его контролируемым образом.

Мы хотим, чтобы наш сервис предсказывал цену на авиабилет по следующим входным данным:

  • аэропорт вылета;
  • аэропорт назначения;
  • дата отбытия;
  • авиакомпания.

Нейронные сети глубокого обучения

Давайте заглянем внутрь нашей модели. Как и у животных, искусственная нейронная сеть содержит взаимосвязанные нейроны. На диаграмме они представлены кругами:

Глубокая нейронная сеть (с двумя скрытыми слоями)

Нейроны сгруппированы в три различных типа слоев:

  • входной слой;
  • скрытый слой (слои);
  • выходной слой.

Входной слой принимает входные данные. В нашем случае имеется четыре нейрона на входном слое: аэропорт вылета, аэропорт назначения, дата вылета и авиакомпания. Входной уровень передает эти данные в первый скрытый слой.

Скрытые слои выполняют математические вычисления со входными данными. Одна из задач при создании нейронных сетей — определение количества скрытых слоев и нейронов на каждом слое.

Слово «глубина» в термине «глубокое обучение» означает наличие более чем одного скрытого слоя.

Выходной слой выдает результат. В нашем случае это прогноз цены на билет.


Итак, как же вычисляется цена? Здесь вступает в силу магия глубокого обучения. Нейроны связаны между собой с определенным весом. Вес определяет важность элемента входных данных. Исходные веса задаются случайным образом.

Читать еще:  Как лечат пиелонефрит в стационаре

При прогнозировании цены на билет дата вылета является одним из наиболее важных факторов. Следовательно, связи нейрона времени вылета будут иметь большой вес.

Каждый нейрон имеет функцию активации. Ее смысл трудно понять без привлечения математических рассуждений. Одной из ее целей является «стандартизация» данных на выходе из нейрона.

После того, как набор входных данных прошел через все слои нейронной сети, функция активации возвращает выходные результаты через выходной уровень.

Обучение глубокой сети

Обучение нейросети — самая сложная часть глубокого обучения. Почему?

  • Вам нужен большой набор данных.
  • Вам нужно большое количество вычислительной мощности.

Для оценки стоимости билета нужно найти исторические данные о ценах на билеты. Из-за большого количества возможных комбинаций аэропортов и дат вылета нам нужен очень большой список цен на билеты.

Для обучения сети нужно подать в нее подготовленные данные и сравнить сгенерированные ей выходные результаты с результатами из нашего тестового набора данных. Поскольку сеть еще не обучена, результаты будут неверными.

После пропуска всех данных можно определить функцию, которая будет показывать нам, насколько результаты работы алгоритма отличаются от реальных данных. Эта функция называется функцией потерь.

В идеале мы хотим, чтобы функция потерь была равна нулю. В этом случае выходные результаты работы сети полностью совпадают с результатами тестового набора данных.

Как уменьшить значение функции потерь?

Нужно менять веса между нейронами. Можно делать это случайным образом до тех пор, пока функция потерь не станет равной нулю, но это не очень эффективно.

Вместо этого мы будем использовать метод градиентного спуска. Градиентный спуск — это метод, который позволяет найти минимум функции. В нашем случае мы ищем минимум функции потерь.

Суть метода состоит в небольшом изменении весов после каждой итерации. Вычисляя производную (или градиент) функции потерь при определенном наборе весов, можно определить, в каком направлении находится минимум.

Для минимизации функции потерь нужно многократно перебирать данные. Именно поэтому нам требуется большая вычислительная мощность. Уточнение весов с помощью градиентного спуска выполняется автоматически. В этом и состоит магия глубокого обучения!

После обучения можно использовать разработанный нами сервис для прогнозирования цен на авиабилеты.

В сухом остатке:

  • Глубокое обучение использует нейронную сеть для воспроизведения интеллекта животных.
  • Существует три типа слоев нейронов в нейронной сети: входной слой, скрытый слой (слои) и выходной слой.
  • Связи между нейронами имеют вес, определяемый важностью элемента входных данных.
  • Для обучения глубокой нейронной сети необходим реально большой набор данных.
  • Итерационно сравнивая выходные результаты со включенными в набор данными, можно вычислить функцию потерь, указывающую, насколько сильно ошибается алгоритм.
  • После каждой итерации (epoch) веса между нейронами перераспределяются с помощью метода градиентного спуска для минимизации функции потерь.

Deep learning & Machine learning: в чем разница?

В чем разница между Deep learning и Machine learning? Насколько они похожи или отличаются друг от друга? Насколько они выгодны для бизнеса? Давайте разберемся!

Machine learning и Deep learning – это 2 подмножества искусственного интеллекта (ИИ), которые активно привлекают к себе внимание уже на протяжении двух лет. Если вы хотите получить простое объяснение их различий, то вы в правильном месте!

Прежде всего, давайте посмотрим на некоторые интересные факты и статистику Deep learning и Machine learning:

  • Оклад AI-специалиста приравнивается к стоимости Roll-Royce Ghost Series II 2017 года (согласно New York Times);
  • Есть ли вероятность потерять работу из-за прогресса AI? Согласно недавнему отчету PwC – возможно. Они предполагают, что примерно к 2030 г. 38% всех рабочих мест в США могут быть заменены искусственным интеллектом и технологиями автоматизации;
  • Первая AI-программа “The Logic Theorist” была создана в 1955 году компанией Newell & Simon (World Information Organization);
  • Исследователи прогнозируют, что к 2020 году 85% взаимодействия с клиентами будет осуществляться без участия человека (Gartner);
  • Рынок искусственного интеллекта или машинного обучения вырастет до 5,05 млрд долларов к 2020 году (Motley Fool);

Любопытно? Теперь попытаемся разобраться, в чем на самом деле разница между Deep learning и Machine learning, и как можно использовать их для новых бизнес-возможностей.

Deep learning & Machine learning

Должно быть, вы имеете элементарное представление о Deep learning и Machine learning. Для чайников представляем несложные определения:

Machine learning для чайников:

Подмножество искусственного интеллекта, связанное с созданием алгоритмов, которые могут изменять себя без вмешательства человека для получения желаемого результата — путем подачи себя через структурированные данные.

Deep learning для чайников:

Подмножество машинного обучения, где алгоритмы создаются и функционируют аналогично машинному обучению, но существует множество уровней этих алгоритмов, каждый из которых обеспечивает различную интерпретацию данных, которые он передает. Такая сеть алгоритмов называется искусственными нейронными сетями. Простыми словами, это напоминает нейронные связи, которые имеются в человеческом мозге.

Взгляните на изображение выше. Это коллекция фотографий кошек и собак. Теперь предположим, что вы хотите идентифицировать изображения собак и кошек отдельно с помощью алгоритмов Machine learning и нейронных сетей Deep learning.

Deep learning & Machine learning: в каких случаях используется Machine learning

Чтобы помочь алгоритму ML классифицировать изображения в коллекции в соответствии с двумя категориями (собаки и кошки), ему необходимо сначала представить эти изображения. Но как алгоритм узнает, какой из них какой?

Читать еще:  От чего бывает запах изо рта

Ответом на этот вопрос является наличие структурированных данных , о чем было написано выше в определении машинного обучения для чайников. Вы просто маркируете изображения собак и кошек, для того чтобы определить особенности обоих животных. Этих данных будет достаточно для обучения алгоритма машинного обучения, и затем он продолжит работу на основе понятных им маркировок и классифицирует миллионы других изображений обоих животных по признакам, которые он изучил ранее.

Deep learning & Machine learning: в каких случаях используется Deep learning

Нейронные сети Deep learning будут использовать другой подход для решения этой проблемы. Основным преимуществом Deep learning является то, что тут не обязательно нужны структурированные / помеченные данные изображений для классификации двух животных. В данном случае, входные данные (данные изображений) отправляются через различные уровни нейронных сетей, причем каждая сеть иерархически определяет специфические особенности изображений.

Это похоже на то, как наш человеческий мозг работает для решения проблем — пропускает запросы через различные иерархии концепций и связанных вопросов, чтобы найти ответ.

После обработки данных через различные уровни нейронных сетях система находит соответствующие идентификаторы для классификации обоих животных по их изображениям.

Примечание . Это всего лишь пример, который поможет вам понять различия в том, как работают основы машинного и глубокого обучения. И Deep learning, и Machine learning на самом деле не применимы одновременно к большинству случаев, включая этот. Причину этого вы узнаете позже.

Таким образом, в этом примере мы увидели, что алгоритм машинного обучения требует маркированных/структурированных данных, чтобы понять различия между изображениями кошек и собак, изучить классификацию и затем произвести вывод.

С другой стороны, сеть глубокого обучения смогла классифицировать изображения обоих животных по данным, обработанным в слоях сети. Для этого не потребовались какие-либо маркированные/структурированные данные, поскольку она опиралась на различные выходные данные, обрабатываемые каждым слоем, которые объединялись для формирования единого способа классификации изображений.

Что мы узнали:

  1. Основное различие между глубоким обучением и машинным обучением обусловлено тем, как данные представляются в систему. Алгоритмы машинного обучения почти всегда требуют структурированных данных, в то время как сети глубокого обучения полагаются на слои ANN (искусственные нейронные сети).
  2. Алгоритмы машинного обучения созданы для того, чтобы «учиться» действовать, понимая помеченные данные, а затем использовать их для получения новых результатов с большим количеством наборов данных. Однако, когда результат получается неверным, возникает необходимость их «доучивать».
  3. Сети глубокого обучения не требуют вмешательства человека, так как многоуровневые слои в нейронных сетях помещают данные в иерархии различных концепций, которые в конечном итоге учатся на собственных ошибках. Тем не менее, даже они могут быть ошибочными, если качество данных недостаточно хорошее.
  4. Данные все решают. Именно качество данных в конечном итоге определяет качество результата.

То, чего не было в примере, но стоит отметить:

  1. Поскольку алгоритмы машинного обучения требуют маркированных данных, они не подходят для решения сложных запросов, которые включают в себя огромное количество данных.
  2. Хоть в данном случае мы увидели применение Deep learning для решения незначительного запроса, — реальное применение нейронных сетей глубокого обучения происходит в гораздо большем масштабе. Фактически, учитывая количество слоев, иерархий и концепций, которые обрабатывают эти сети, Deep learning подходит только для выполнения сложных вычислений, а не простых.
  3. Оба эти подмножества ИИ так или иначе связаны с данными, что позволяет представлять собой определенную форму «интеллекта». Однако следует знать, что глубокое обучение требует гораздо больше данных, чем традиционный алгоритм машинного обучения. Причиной этого является то, что сети Deep learning могут идентифицировать различные элементы в слоях нейронных сетей только при взаимодействии более миллиона точек данных. Алгоритмы машинного обучения, с другой стороны, способны обучаться по заранее запрограммированным заданным критериям.

Надеемся, приведенный пример и его объяснение позволили вам понять различия между Machine learning и Deep learning. Т.к. это объяснение для чайников, то здесь не употреблялись профессиональные термины.

Теперь пришло время забить последний гвоздь. Когда следует использовать глубокое обучение или машинное обучение в своем бизнесе?

Когда использовать Deep learning в бизнесе?

  • Если у вас огромное количество данных;
  • Если вам приходится решать задачи, слишком сложные для машинного обучения;
  • Если у вас есть достаточно вычислительных ресурсов и возможность на управление оборудованием и программным обеспечением для обучения нейронных сетей Deep learning.

Когда использовать Machine learning в бизнесе?

  • Если у вас есть данные, которые можно структурировать и использовать для обучения алгоритмов Machine learning;
  • Если вы хотите использовать преимущества ИИ, чтобы обогнать конкурентов;
  • Лучшие решения Machine learning могут помочь автоматизировать различные бизнес-операции, включая проверку личности, рекламу, маркетинг и сбор информации, а также использовать большие возможности в будущем.

Подведем итоги:

В связи с ростом различных технологий, предприятия в настоящее время ищут компании, занимающиеся технологическим консалтингом, чтобы найти то, что лучше для их бизнеса.

Развитие искусственного интеллекта также порождает рост услуг по разработке программного обеспечения, приложений IoT и блокчейна. В настоящее время разработчики программного обеспечения изучают новые способы программирования, которые более склонны к глубокому обучению и машинному обучению.

Источники:

http://zen.yandex.ru/media/id/595f444a1410c35451a5cd4e/5b1a11465ad6f500a9ac7dc5
http://neurohive.io/ru/osnovy-data-science/glubokoe-obuchenie-deep-learning-kratkij-tutorial/
http://datastart.ru/blog/read/deep-learning-machine-learning-v-chem-raznica

Ссылка на основную публикацию
Статьи c упоминанием слов:

Adblock
detector