Изображение предоставлено: Датанами
Искусственный интеллект (ИИ)иМашинное обучение (МО)сейчас самая актуальная тема.
Термин «ИИ» встречается повсюду каждый день. Часто можно услышать, как начинающие разработчики говорят, что хотят изучать искусственный интеллект. Также слышали, как руководители говорят, что хотят внедрить ИИ в свои услуги. Но часто многие люди не понимают, что такое ИИ.
Прочитав эту статью, вы поймете основы AI и ML. Что еще более важно, вы узнаете, как работает глубокое обучение, самый популярный тип машинного обучения.
задний план
Первым шагом к пониманию того, как работает глубокое обучение, является понимание различий между важными терминами.
Искусственный интеллект и машинное обучение
искусственный интеллектЭто воспроизведение человеческого интеллекта в компьютере.
Когда исследования ИИ только начинались, исследователи пытались воспроизвести человеческий интеллект для выполнения определенных задач, например, для игр.
Они вводят большое количество правил, которые компьютеры должны соблюдать. Компьютеры имеют определенный список возможных действий и принимают решения на основе этих правил.
машинное обучениеОтносится к способности машины обучаться, используя большие наборы данных, а не жестко запрограммированные правила.
ML позволяет компьютерам учиться самостоятельно. Этот тип обучения использует вычислительную мощность современных компьютеров и может легко обрабатывать большие наборы данных.
Контролируемое и неконтролируемое обучение
контролируемое обучениеВключает использование помеченных наборов данных с входными данными и ожидаемыми выходными данными.
Когда вы обучаете ИИ с контролируемым обучением, вы даете ему ввод и говорите, чего ожидать.
Если ИИ выдает неправильный вывод, он перемасштабирует свои расчеты. Этот процесс выполняется итеративно для набора данных до тех пор, пока ИИ не перестанет делать ошибки.
Примером контролируемого обучения является ИИ для прогнозирования погоды. Он учится предсказывать погоду, используя исторические данные. Эти обучающие данные имеют вход (давление, влажность, скорость ветра) и выход (температура).
неконтролируемое обучение— это задача машинного обучения с использованием наборов данных без определенной структуры.
Когда вы обучаете ИИ с помощью неконтролируемого обучения, вы позволяете ИИ логически классифицировать данные.
Примером неконтролируемого обучения является ИИ, прогнозирующий поведение для веб-сайтов электронной коммерции. Он не обучается, используя помеченные входные и выходные наборы данных.
Вместо этого он создаст собственную классификацию входных данных. Он расскажет вам, какие пользователи, скорее всего, купят разные продукты.
Итак, как работает глубокое обучение?
Теперь вы готовы понять, что такое глубокое обучение и как оно работает.
Глубокое обучение – этомашинное обучениеметод. Это позволяет нам обучить ИИ прогнозировать результат с учетом набора входных данных. Для обучения ИИ можно использовать как контролируемое, так и неконтролируемое обучение.
Мы установим гипотетическуюОценка стоимости авиабилетовСервисы для понимания того, как работает глубокое обучение. Мы будем тренировать его, используя метод обучения с учителем.
Мы хотим, чтобы наш оценщик стоимости авиабилетов предсказывал цену, используя следующие входные данные (для простоты мы не включаем возвраты):
- аэропорт отправления
- аэропорт назначения
- Дата отбытия
- авиакомпания
Нейронные сети
Давайте заглянем внутрь мозга искусственного интеллекта.
Как и у животных, у нашего оценщика ИИ есть нейроны в мозгу. Они представлены кружками. Эти нейроны связаны друг с другом.
Изображение предоставлено: CS231n
Нейроны делятся на три различных типа слоев:
- входной слой
- скрытый слой
- выходной слой
существуетвходной слойПолучить входные данные. В нашем примере у нас есть четыре нейрона во входном слое: аэропорт отправления, аэропорт назначения, дата вылета и авиакомпания. Входной слой передает ввод первому скрытому слою.
существуетскрыть слойна математике, которую мы вложили в это. Одной из проблем при создании нейронной сети является определение количества скрытых слоев и количества нейронов в каждом слое.
в глубоком обучении"Глубокий” означает наличие нескольких скрытых слоев.
Выходные данные возвращаются на выходном уровне. В нашем случае это дало нам прогноз цены.
Так как же он рассчитывает прогнозы цен?
ЭтоМагия глубокого обучениягде.
Каждая связь между нейронами связана сВесаСвязанный. Этот вес определяет важность входного значения. Начальные веса задаются случайным образом.
Дата вылета является одним из наиболее важных факторов при прогнозировании цен на авиабилеты. Следовательно, дата отправления нейронных связей будет иметь большой вес.
Источник изображения: CodeProject
Каждый нейрон имеет активационную функцию. Эти функции трудно понять без математических рассуждений.
Короче говоря, одна из его целей — «нормализовать» выход нейронов.
Как только входной набор данных проходит через все слои нейронной сети, он возвращает выходные данные через выходной слой.
Ничего сложного, правда?
обучать нейронную сеть
Обучение ИИ — самая сложная часть глубокого обучения. Зачем?
- тебе нужен одинбольшие наборы данных.
- тебе нужноБольшая вычислительная мощность.
Для нашей оценки стоимости авиабилетов нам нужно найти исторические данные о ценах на авиабилеты. Из-за большого количества возможных комбинаций аэропорта и даты вылета нам нужен очень большой список тарифов.
Чтобы обучить ИИ, нам нужно предоставить входные данные из набора данных и сравнить его выходные данные с выходными данными набора данных. Поскольку ИИ не обучен, его вывод будет неверным.
Как только мы закончим со всем набором данных, мы можем создать функцию, которая покажет нам ошибку вывода ИИ по сравнению с фактическим выводом. Эта функция называется функцией стоимости.
В идеале мы хотим, чтобы наша функция стоимости была равна нулю. В этот момент наш вывод ИИ совпадает с выводом набора данных.
Как мы можем понизить функцию затрат?
Мы меняем веса между нейронами. Мы можем произвольно менять их, пока наша функция стоимости не станет низкой, но это не очень эффективно.
Вместо этого мы будем использовать метод, называемыйGradient DescentТехнологии.
Градиентный спуск — это метод, который позволяет нам найти минимум функции. В нашем случае мы ищем функцию наименьшей стоимости.
Он работает вКаждая итерация набора данныхпозже изменены с небольшими приращениямиВеса. Вычисляя производную (или градиент) функции стоимости при определенном наборе весов, мы можем увидеть направление минимума.
Изображение предоставлено: Себастьян Рашка
Чтобы минимизировать функцию стоимости, вам нужно несколько раз перебрать набор данных. Вот почему вам нужна большая вычислительная мощность.
Обновление весов с помощью градиентного спуска выполняется автоматически. Это магия глубокого обучения!
После того, как мы обучили наш ИИ для оценки цен на авиабилеты, мы можем использовать его для прогнозирования будущих цен.
В итоге…
- Глубокое обучение использует нейронные сети для имитации интеллекта животных.
- В нейронной сети есть три типа слоев нейронов: входной слой, скрытый слой и выходной слой.
- Связи между нейронами связаны с весами, которые определяют важность входного значения.
- Нейроны применяют функцию активации к данным, чтобы «нормализовать» выходные данные нейрона.
- Для обучения нейронной сети нужен большой набор данных.
- Повторение набора данных и сравнение результатов даст функцию стоимости, которая показывает, насколько ИИ отклоняется от фактического результата.
- После каждой итерации набора данных используется градиентный спуск для корректировки весов между нейронами, чтобы уменьшить функцию стоимости.