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

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

Что такое машинное обучение?

Машинное обучение - это форма искусственного обучения, которое происходит путем имитации методов обучения человека. Чтобы любой ребенок научился распознавать предметы / людей, этому ребенку не объясняют никакой процедуры, чтобы представить свойства рассматриваемых предметов / людей, а затем решить, что они собой представляют. Этому дочернему элементу показано только более одного экземпляра этих объектов / лиц. Затем человеческий мозг автоматически начинает определять эти особенности с течением времени (сознательно) и учится распознавать объекты / людей. Модель машинного обучения делает то же самое.

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

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

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

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

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

Алгоритмы машинного обучения делятся на две группы: обучение с учителем и обучение без учителя. Разница очень простая, но существенная.

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

Задачи контролируемого обучения можно сгруппировать в задачи регрессии (выход = числовой) и классификации (выход = объект) в зависимости от результата. Это тип, в котором модель обучается на помеченном наборе данных. То есть у него есть как входные, так и выходные параметры.

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

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

Вот некоторые из основных алгоритмов контролируемого обучения:

  • K-Ближайшие соседи
  • Наивный байесовский
  • Линейная регрессия
  • Логистическая регрессия
  • Машины опорных векторов (SVM)
  • Деревья решений - случайные леса
  • Нейронные сети (некоторые архитектуры нейронных сетей могут быть неконтролируемыми)

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

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

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

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

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

Качество набора данных

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

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

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

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

Искусственная нейронная сеть

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

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

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

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

Каковы факторы прогнозирования цен для глубокого обучения?

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

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

Обучение искусственной нейронной сети (ИНС)

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

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

Функция, которая вычисляет, насколько оценочные цены отличаются от фактических цен, называется функцией затрат (убытков). Мы хотим сделать это во время обучения, чтобы максимально уменьшить значение функции стоимости до 0 (нуля). Таким образом, мы сможем сделать наиболее близкие к реальной цене оценки.

Как мы можем уменьшить функцию затрат (убытков)?

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

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

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

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

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

Первоначально опубликовано на https://clarusway.com.