Добавить Автора
Данная статья является оригинальной статьей, просьба указывать автора и источник для перепечатки
2016 год называют первым годом искусственного интеллекта, а 2017 год — первым годом разумного применения человеческой энергии; технологии и приложения глубокого обучения достигли быстрого развития; глубокое обучение также широко используется в сценариях интернет-образования. В этой статье в основном представлены определения и основные понятия машинного обучения и глубокого обучения, а также связанные с ними сетевые структуры.
Основное содержание этой статьи включает определение и состав машинного обучения, определение глубокого обучения, разницу между глубоким обучением и машинным обучением, основные понятия и базовую структуру нейронных сетей, а также основные понятия, связанные с глубоким обучением (основные предположения, наборы данных, представление, обобщение), пропускная способность, оптимизация, гиперпараметры, ошибка, недообучение, переоснащение, регуляризация), базовое введение в две типичные структуры глубоких сетей (CNN, RNN).
введение
Что может искусственный интеллект? Как это влияет на нас? Давайте начнем со следующих двух рисунков: Рисунок 1 — «Девушка с хлопковой фабрики» во время промышленной революции, которая иллюстрирует, что промышленная революция привела к тому, что машины заменили человеческий ручной труд и освободили большое количество людей от тяжелого ручного труда. в мышлении, инновационной и научной работе, и их производительность значительно повышается; рисунок 2 иллюстрирует, что в эпоху искусственного интеллекта алгоритмы и вычислительная мощность используются для замены человеческого мышления, освобождения людей от повторяющейся умственной работы, снова освобождения производительности и сделать производительность более продуктивной Совершенствовать и двигаться вперед.
Рисунок 1фигура 2О машинном обучении
Машинное обучение заключается в том, что машины используют статистические алгоритмы для изучения правил из большого количества исторических данных для создания эмпирических моделей и используют эмпирические модели для интеллектуальной идентификации новых образцов или прогнозирования будущего для управления бизнесом. Машинное обучение строго определяется как: область исследования, которая расширяет возможности компьютеров без явного программирования. Состав машинного обучения состоит из данных, алгоритмов и моделей. Данные + алгоритмы генерируют модели. Благодаря прогнозированию и распознаванию образов предоставляются интеллектуальные услуги и продукты. См. рисунок 3. Лучшее сравнение изображений между машинным обучением и приготовлением пищи. Понять машинное обучение.
изображение 3Методы классификации алгоритмов машинного обучения включают два метода классификации: методы обучения и сходство алгоритмов.
метод обучения
Алгоритмы машинного обучения классифицируются по методам обучения, в том числе: контролируемое обучение, неконтролируемое обучение, частично контролируемое обучение и обучение с подкреплением.
1. Контролируемое обучение
В методе обучения с учителем входные данные называются обучающими данными, и каждый набор обучающих данных имеет четкое представление или результат (метка).Фактические результаты сравниваются, и модель прогнозирования постоянно корректируется до тех пор, пока не будут получены результаты прогнозирования модели. достичь ожидаемого уровня точности. Общие сценарии приложений, такие как проблемы классификации и проблемы регрессии. См. Алгоритмы, такие как логистическая регрессия, нейронная сеть обратного распространения.
2. Неконтролируемое обучение
При неконтролируемом обучении данные не идентифицируются, и модель изучается, чтобы сделать вывод о некоторой внутренней структуре данных. Общие сценарии приложений включают изучение правил ассоциации и кластеризацию. Общие алгоритмы включают алгоритм априори и алгоритм K-средних.
3. Полуконтролируемое обучение
В полуконтролируемом методе обучения входные данные частично помечены, а частично не помечены.Модели сначала необходимо изучить внутреннюю структуру данных, чтобы разумно организовать данные для прогнозирования;алгоритм включает в себя некоторые расширения обычно используемого алгоритмы обучения с учителем.Алгоритм сначала пытается смоделировать помеченные данные, а затем сделать прогнозы по помеченным данным. Алгоритмы, такие как Graph Inference, Laplacian SVM и т. д.
4. Обучение с подкреплением
В режиме обучения с подкреплением входные данные используются в качестве обратной связи с моделью. В отличие от моделей с учителем, входные данные используются только как способ проверки правильности модели. В режиме обучения с подкреплением входные данные возвращаются напрямую. модели, и модель должна немедленно реагировать на это, вносить коррективы. Общие сценарии применения включают динамические системы и управление роботами. Общие алгоритмы включают Q-Learning и обучение с временной разницей.
Алгоритмическое сходство
Алгоритмы классифицируют по сходству их функций и форм, например: древовидные алгоритмы, нейросетевые алгоритмы и т. д.
1. Алгоритм регрессии
Алгоритмы регрессии — это класс алгоритмов, которые пытаются исследовать отношения между переменными, используя меру ошибки. Общие алгоритмы включают в себя: обычный метод наименьших квадратов, логистическую регрессию, пошаговую регрессию, сплайны многомерной адаптивной регрессии и сглаживание диаграммы рассеяния с локальной оценкой) и т. д.
2. Алгоритмы на основе экземпляров
Алгоритмы на основе экземпляров часто используются для моделирования проблем принятия решений.Такие модели часто выбирают пакет выборочных данных, а затем сравнивают новые данные с выборочными данными в соответствии с некоторым приближением. Найдите лучшее совпадение таким образом. Поэтому алгоритмы на основе экземпляров часто также называют обучением по принципу «победитель получает все» или «обучением на основе памяти». Общие алгоритмы включают k-ближайших соседей (KNN), векторное квантование обучения (LVQ) и самоорганизующуюся карту (самоорганизующуюся карту, СОМ)
3. Метод регуляризации
Метод регуляризации обычно является расширением алгоритма регрессии, настраивая алгоритм в соответствии со сложностью алгоритма, обычно решая проблему переобучения и вознаграждая простую модель за счет члена регуляризации и наказывая сложный алгоритм. Алгоритмы включают в себя: регрессию хребта, оператор наименьшей абсолютной усадки и выбора (LASSO) и эластичную сеть.
4. Обучение дереву решений
Алгоритм дерева решений использует древовидную структуру для создания модели решения в соответствии с атрибутами данных, а модель дерева решений часто используется для решения задач классификации и регрессии. Общие алгоритмы включают в себя: дерево классификации и регрессии (CART), ID3 (итеративный дихотомайзер 3), C4.5, автоматическое обнаружение взаимодействия хи-квадрат (CHAID), пень решения, случайный лес (случайный лес). Лес), многомерные адаптивные регрессионные сплайны (MARS) и машина повышения градиента (GBM).
5. Методы на основе ядра
Наиболее известным из алгоритмов на основе ядра является машина опорных векторов (SVM). Алгоритмы на основе ядра отображают входные данные в векторное пространство более высокого порядка, в котором некоторые задачи классификации или регрессии могут быть проще решены. Общие алгоритмы на основе ядра включают: машину опорных векторов (SVM), радиальную базисную функцию (RBF) и линейный дискриминационный анализ (LDA) и т. д.
6. Алгоритмы кластеризации
Алгоритмы кластеризации обычно объединяют входные данные в центральной точке или иерархически. Все алгоритмы кластеризации пытаются найти внутреннюю структуру данных, чтобы сгруппировать данные в соответствии с наибольшей общностью. Общие алгоритмы кластеризации включают алгоритм k-Means и алгоритм максимизации ожидания (Expectation Maximization, EM).
7. Изучение правил ассоциации
Изучение правил ассоциации находит полезные правила ассоциации в больших многомерных наборах данных, находя правила, которые лучше всего объясняют отношения между переменными данных. Общие алгоритмы включают алгоритм Априори и алгоритм Эклата.
8. Алгоритм уменьшения размерности
Алгоритмы уменьшения размерности пытаются анализировать внутреннюю структуру данных, но алгоритмы уменьшения размерности пытаются обобщать или интерпретировать данные, используя меньше информации в режиме обучения без учителя. Такие алгоритмы можно использовать для визуализации многомерных данных или для упрощения данных для использования в обучении с учителем. Общие алгоритмы включают: анализ главных компонентов (PCA), частичную регрессию наименьших квадратов (PLS), картирование Sammon, многомерное масштабирование, MDS), проекционное преследование и т. д.
9. Комплексный подход
Алгоритмы ансамбля независимо обучаются на одних и тех же выборках с некоторыми относительно слабыми моделями обучения, а затем объединяют результаты, чтобы сделать общий прогноз. Основная трудность ансамблевого алгоритма заключается в том, какие независимые и слабые модели обучения интегрировать и как интегрировать результаты обучения. Это очень мощный класс алгоритмов, но также очень популярный. Общие алгоритмы включают в себя: повышение, агрегацию с начальной загрузкой (пакетирование), AdaBoost, обобщение с накоплением, смешивание, градиент. Boosting Machine, GBM), Random Forest.
См. рис. 4 для классификации машинного обучения и практического плана.
Рисунок 4О глубоком обучении
Глубокое обучение — это особый тип машинного обучения с большой мощностью и гибкостью, который представляет большой мир как вложенную иерархию понятий (сложные понятия, определяемые связями между более простыми понятиями, обобщениями от общих абстракций до абстракций высокого уровня) Express). Иерархическая концептуальная система глубокого обучения показана на рисунке 5.
Рисунок 5Схема модели глубокого обучения (рис. 6). Компьютеры с трудом понимают значение необработанных сенсорных входных данных, таких как изображение, представленное в виде набора значений пикселей. Функция, которая сопоставляет набор пикселей с идентификатором объекта, очень сложна. Изучение или оценка этого сопоставления кажется невозможным, если работать с ним напрямую. Глубокое обучение решает эту дилемму, разбивая требуемое сложное отображение на серию вложенных простых отображений, каждое из которых описывается отдельным уровнем модели. Ввод отображается в видимом слое, названном так потому, что он содержит переменные, которые мы можем наблюдать. Затем ряд скрытых слоев, которые извлекают из изображения все больше и больше абстрактных элементов. слой). Поскольку их значения не указаны в данных, эти слои называются «скрытыми»; модель должна определить, какие концепции способствуют объяснению взаимосвязей в наблюдаемых данных. Изображение здесь представляет собой визуализацию функций, представленных каждым скрытым При заданных пикселях первый слой может легко идентифицировать края, сравнивая интенсивности соседних пикселей. С краями, описанными первым скрытым слоем, второй скрытый слой может легко найти набор краев, которые можно идентифицировать как углы и расширенные контуры. Учитывая описание изображения об углах и контурах во втором скрытом слое, третий скрытый слой может найти определенный набор контуров и углов для обнаружения всей части определенного объекта. Наконец, на основе части объекта, содержащейся в по описанию изображения можно узнать, что есть Object.
Изображение 6Разница между глубоким обучением и машинным обучением
Основное различие между глубоким обучением и машинным обучением отражено в следующих двух аспектах:
-
Масштаб данных: для глубокого обучения требуются крупномасштабные данные, и чем больше масштаб данных, тем лучше эффект глубокого обучения. Эмпирическое правило заключается в том, что контролируемые алгоритмы глубокого обучения обычно достигают приемлемой производительности с использованием алгоритмов машинного обучения с учетом ~ 5000 помеченных образцов на класс, когда для обучения моделей глубокого обучения используется набор данных из не менее 10 миллионов помеченных образцов, он будет соответствовать или превышать работоспособность человека.
-
Обработка признаков: Глубокое обучение имеет важное преимущество: оно может автоматически извлекать признаки из данных. Глубокое обучение выражает сложные представления через другие более простые представления.
Рисунок 7: Диаграмма Венна, показывающая, что глубокое обучение — это тип репрезентативного обучения, а также тип машинного обучения.
Рисунок 7На рис. 8 представлена блок-схема, показывающая, как разные части системы ИИ соотносятся друг с другом в разных дисциплинах ИИ, с заштрихованными прямоугольниками, указывающими на компоненты, которые могут обучаться на основе данных.
Рисунок 8Основная концепция и структура нейронной сети
Концепция глубокого обучения основана на нейронных сетях. А простая нейронная сеть показана на рисунке 9. Каждый кружок представляет собой нейрон, и каждый нейрон хранит число, эти нейроны связаны с нейронами следующего слоя через определенную структуру связи через веса и функции активации. Среди этих нейронов нейроны, принимающие внешние входные данные, в совокупности называются входным слоем, нейроны, не имеющие связи с внешним миром, называются скрытым слоем, а нейроны, выводящие во внешний мир, называются скрытым слоем. . В нейронной сети в качестве параметра обучения используется вес связи между нейронами, а обучение осуществляется через алгоритм обратного распространения ошибки.
Рисунок 9Основные понятия, связанные с глубоким обучением
1. Обобщение
Способность хорошо работать с ранее ненаблюдаемыми входными данными называетсяобобщение. Основная проблема машинного обучения — алгоритмическая модель.Обобщение, наш алгоритм должен иметь возможность хорошо работать с новыми входными данными, которые ранее не наблюдались, а не только с обучающим набором. Частью мотивации для развития глубокого обучения является способность к обобщению для решения задач искусственного интеллекта.
2. Основные предположения
-
Априорное значение Smoothnexx и априорное локальное постоянство являются наиболее широко используемыми априорными предположениями, которые указывают на то, что изученная функция не должна сильно различаться в пределах небольшой области.
-
Многообразие относится к областям, которые связаны друг с другом. Математически это относится к набору точек, каждая из которых имеет своих соседей. Для произвольной точки ее многообразие локально выглядит как евклидово пространство. Цель многообразного обучения состоит в том, чтобы отобразить его обратно в низкоразмерное пространство, чтобы раскрыть его сущность; основная идея многообразного обучения состоит в том, чтобы предположить, что данные имеют определенные структурные характеристики в больших размерностях, и есть надежда, что структура может все еще поддерживаться после того, как он будет уменьшен до малых размеров.
3. выражать
Концепция представления является одной из основных тем глубокого обучения; производительность традиционных алгоритмов машинного обучения во многом зависит от представления заданных данных, а выбор представления оказывает огромное влияние на производительность алгоритмов машинного обучения; существует множество алгоритмы, задача которых состоит в том, чтобы найти наилучшее представление данных, что означает, что представление содержит как можно больше информации о реляционных данных x, с некоторыми штрафами или ограничениями, чем информация, представленная сама по себе, проще или доступнее. Три общих представления включают низкоразмерные представления, разреженные представления и независимые представления. На рис. 10 показан пример различных представлений простых данных с полярными координатами слева и декартовыми координатами справа.
Рисунок 104. Ошибка, переоснащение, недооснащение, пропускная способность
-
Ошибка: ошибка включает в себя ошибку обучения и ошибку обобщения (также известную как ошибка теста); основная цель машинного обучения — уменьшить ошибку обобщения.
-
Переобучение: переоснащение — это когда разрыв между ошибкой обучения и ошибкой теста слишком велик.
-
Недообучение: Недообучение — это когда модель не может получить достаточно низкую ошибку на тренировочном наборе.
-
Вместимость: Вместимость модели относится к ее способности выполнять различные функции.
Типичная зависимость между пропускной способностью и ошибкой: рисунок 11. Ошибка обучения и ошибка теста ведут себя совершенно по-разному. В левом конце графика как ошибка обучения, так и ошибка обобщения очень высоки. Это режим недообучения. По мере увеличения емкости ошибка обучения уменьшается, но разрыв между ошибкой обучения и ошибкой обобщения продолжает увеличиваться. В конце концов, размер этого разрыва превышает падение ошибки обучения, и мы входим в режим переобучения, когда пропускная способность слишком велика, чтобы превысить оптимальную пропускную способность.
Рисунок 115. Оптимизация, регуляризация, гиперпараметры
В практике машинного обучения очень важной проблемой является проблема оптимизации. Так называемая оптимизация заключается в том, чтобы найти такой набор параметров модели машинного обучения, чтобы при условиях параметров значение функции потерь всей модели было наименьшим, то есть модель лучше всего подходила к обучающим выборкам при условия параметра. По сравнению с традиционным машинным обучением особенностью процесса оптимизации глубокого обучения является то, что функция потерь глубокого обучения является невыпуклой, то есть функция потерь имеет множество точек локального минимума, а не только один локальный минимум. Это усложняет поиск оптимальных параметров для моделей глубокого обучения. В процессе глубокого обучения обычно используется метод мини-пакетного градиентного спуска. градиентный спуск), установите подходящую скорость спуска (т.е. скорость обучения, скорость обучения) для оптимизации. Стоит отметить, что в процессе оптимизации значение функции потерь не обязательно уменьшается, а постепенно уменьшается в колебаниях, как показано на рисунке 12.
Рисунок 12Как упоминалось ранее, хотя функция потерь обучающей выборки постоянно уменьшается на протяжении всего процесса обучения, функция потерь тестовой выборки имеет процесс сначала уменьшения, а затем увеличения (как показано на рисунке 11). Чтобы предотвратить переобучение, нам нужно искусственно ограничить параметры, что называется регуляризацией. Обычно используемые методы нормализации в основном включают регуляризацию L1, регуляризацию L2 и методы регуляризации Dropout. Регулируя веса этих методов регуляризации, можно регулировать степень переобучения модели. В процессе обучения глубокого обучения, чтобы модель лучше соответствовала обучающим выборкам, необходимо вручную настроить некоторые параметры сети глубокого обучения. Эти параметры называются гиперпараметрами. (гиперпараметр). Эти параметры включают в себя вышеупомянутую скорость обучения, веса регуляризации и многое другое. Так как настраиваемых гиперпараметров много, можно случайным образом выбирать значения некоторых параметров, брать лучшие, а потом подстраивать параметры.
6. Сверточная нейронная сеть (CNN)
Сверточная нейронная сеть — одна из самых популярных структур нейронных сетей в этом году, в основном используемая в сценариях глубокого обучения, таких как распознавание изображений, где входные данные имеют определенную пространственную корреляцию. В сверточной нейронной сети двумя наиболее важными соединительными слоями являются слой свертки и слой объединения. Ниже приводится краткое введение в структуру этих двух слоев.
Рисунок 13На рис. 13 кратко показано, как работают сверточные слои, гдеIисходное входное изображение,Kявляется фильтром в сверточном слое. Фильтр представляет собой набор параметров, расположенных в пространственном порядке. На картинке этот фильтр представляет собой прямоугольник 3x3. Прямоугольная область заполнена 9 параметрами. Фильтр непрерывно перемещается по исходному изображению (красная область, эта область перемещается из верхнего левого угла в нижний правый угол изображения), закрытая красная область и параметры фильтра умножаются два на два по порядку и, наконец, суммируются. получить номер(I*K) в зеленой зоне. Таким образом, выполняется операция свертки. Начиная с исходного изображения, новые изображения, содержащие различные характеристики исходного изображения, могут быть созданы с использованием ряда различных фильтров.
Рисунок 14На рис. 14 показано, как работает слой пула. Слой пула уменьшает изображение до меньшего размера, разделяя изображение на множество небольших областей, а затем используя особенности небольших областей. На рисунке описан процесс Max-Pool, то есть извлечение признаков основано на максимальном значении небольшой области. Видно, что этот объединяющий слой уменьшает исходную карту 4x4 до карты 2x2, уменьшая размер объектов. Роль слоя объединения в основном заключается в упрощении модели и извлечении признаков.
7. Рекуррентная нейронная сеть (RNN)
По сравнению со сверточными нейронными сетями рекуррентные нейронные сети в основном используются для сценариев глубокого обучения, таких как распознавание текста и речи. Рекуррентная нейронная сеть состоит из ячеек (Cell), соединенных вместе во временном порядке, где параметры совместно используются ячейками, связаны друг с другом путем передачи скрытых состояний, и каждая ячейка имеет вход и выход, как показано на рисунке 15. где текущее неявное состояние ячейкиhtи неявное состояние предыдущего модуляht-1и текущее входное значениеxtсвязаны друг с другом и определяют выход текущего блокаyt.
Рисунок 15В реальном процессе обучения и прогнозирования рекуррентная нейронная сеть часто расширяется до вычислительного графа, состоящего из соединений единиц фиксированной длины. Все блоки на этом вычислительном графике имеют общие параметры блока, как показано на рисунке 16.
Рисунок 16Опыт глубокого обучения:
С развитием сред машинного обучения, таких как TensorFlow, Caffe и т. д., затраты на создание и применение моделей машинного обучения и глубокого обучения значительно сократились. Акцент инженеров-алгоритмов постепенно сместился с самой логики алгоритма на бизнес-модель. конструкция и применение, а также эффективность разработки были значительно улучшены, Рисунок 17 Изображение Это показывает, что общественное понимание глубокого обучения и процесс построения моделей глубокого обучения больше похоже на игру со строительными блоками, пробующую различные методы укладки.
Системы и приложения машинного обучения (глубокого обучения) сложны, а необходимая окружающая инфраструктура является большой и сложной (см. рис. 18).
Рисунок 17Рисунок 18. Лишь небольшая часть реальных систем машинного обучения состоит из кода машинного обучения, как показано маленьким черным ящиком посередине Требуемая окружающая инфраструктура обширна и сложна. О ХИЛЛЕ
Лаборатория интеллектуального обучения (HILL, Лаборатория интеллектуального обучения Хуцзян)
Лаборатория интеллектуального обучения Хуцзян (HILL) была создана в 2017 году. Ее целью является интеграция соответствующих теорий и технологий в области педагогики, психологии и компьютерных наук, изучение сценариев применения искусственного интеллекта в сфере образования и продвижение интеллекта Хуцзяна. образовательные продукты способность трансформации. В будущем мы также надеемся предоставить эти возможности партнерам и всей образовательной отрасли. Видение HILL: активировать интеллект, внедрять инновации в обучение.
Series Serial | Поиграйте с Netty's WebSocket