Термин Deep learning («глубокое обучение») появился в 1980-х гг., но стал массово известен совсем недавно. Только с 2012 г. для реализации технологии стало хватать мощностей. После нескольких публикаций исследователей, которые стремились объяснить всем миру Deep learning на пальцах, глубокое обучение популяризовалось и заполучило всеобщее внимание.
Основы
Искусственный интеллект vs Машинное обучение
Машинное обучение (МО или ML англ.), означает возможность машины обучаться, обрабатывая большие наборы информации вместо четко прописанных правил. |
Контролируемое обучение vs Неконтролируемое обучение
Контролируемое обучениеНеконтролируемое обучение
Как работает машинное обучение
Deep Learning
- аэропорт отправления;
- аэропорт прибытия;
- планируемая дата вылета;
- авиакомпания.
Нейронные сети
- входной слой (input layer);
- скрытый слой 1 (hidden layer 1) и скрытый слой 2 (hidden layer 2);
- выходной слой (output layer).
Слово Deep (глубокий) в словосочетании Deep Learning как раз и указывает на наличие более чем одного скрытого слоя. |
- 5 онлайн-курсов по глубокому обучению
- Топ-10 курсов по машинному и глубокому обучению в 2020 | by Anastasia Uvarova | NOP::Nuances of Programming | Medium
- Как выучить машинное обучение: книги, курсы, подходы — отвечают эксперты
- Обзор курсов по Deep Learning / Блог компании New Professions Lab / Хабр
- Deep Learning: 15 лучших книг по глубинному обучению
Обучение нейросети
Как мы можем уменьшить значение функции стоимости?
Градиентный спуск
Градиентный спуск — это метод который позволяет нам найти минимум функции. В нашем случаи мы ищем минимум функции стоимости. |
На картинке: Initial weight — изначальный вес, Global cost minimum — глобальный минимум стоимостной функции.
Подведем итоги…
- Deep learning использует нейросети для имитации интеллекта.
- Существует три типа нейронов в нейросети: входной слой, скрытые слои, выходной слой.
- Каждое соединение между нейронами имеет свой вес, указывающий на важность этого входа.
- Нейроны применяют функцию активации для «стандартизации» данных на выходе с нейрона.
- Для обучения нейросети вам необходим большой объем данных.
- Если обработать массив данных с помощью нейросети, и сравнить выходные данные с фактически имеющимися, мы получим функцию стоимости, которая показывает насколько ИИ ошибается.
- После каждой обработки данных, веса между нейронами корректируются с использованием метода градиентного спуска, для достижения уменьшения функции стоимости.
Ссылка на оригинал
Что еще почитать: |
---|
Революция на рабочем месте: какие профессии будут востребованы в будущем Топ 5 библиотек машинного обучения для Java 5 вызовов для развития искусственного интеллекта |
Deepfakes web β
С помощью этого инструмента вы можете создавать deepfake видео в интернете. Однако кривая обучения здесь немного больше, чем то, что вы найдете в других приложениях.
Вам нужно зарегистрироваться и загрузить свои видео. Все остальное происходит в облаке, где используются мощные графические процессоры. На изучение видео/изображений и смену лиц уходит почти 4 часа. Вы также можете использовать обученную модель, чтобы менять лица, что занимает около 30 минут.
Качество выходного видео зависит от значений «потерь»: чем ниже значения потерь (при обучении из загруженных видео), тем выше качество. И, конечно, только вы можете получить доступ к своим видео и учебным данным.
Обучение Deep Learning
Учиться работе с искусственным интеллектом и машинному обучению нужно на специализированных курсах. Обучение (преимущественно в онлайн-форме) проводится частными онлайн-университетами и крупными IT-компаниями. Вузы только начинают осваивать это направление, поэтому академических программ нет.
Об основах нейросетей рассказывают в этом видео:
Курсы онлайн
Коммерческие курсы по Deep Learning длятся 3-8 месяцев. Продолжительность зависит от насыщенности программы. Например, на одних курсах обучение начинается с изучения линейной алгебры, затем студенты переходят к основам программирования и только потом занимаются искусственным интеллектом, машинным обучением и Deep Learning, другие программы предполагают создание полноценной модели, анализ естественного языка и рекомендательных систем, знакомство с основными библиотеками.
Обратите внимание! В эпоху коронавируса все ищут дополнительные возможности заработка. Удивительно, что альтернативными способами зарабатывать можно гораздо больше, вплоть до миллионов рублей в месяц. Один из наших лучших авторов написал отличную статью о том, как зарабатывают в игровой индустрии тысячи людей в интернете. Читайте материал с отзывами людей о лучших играх для выигрыша денег.
Можно ли пройти обучение бесплатно
Курсы, которые находятся в открытом доступе, разрабатывают крупные университеты и IT-компании (например, Google или NVIDIA Corporation). За академическим обучением нужно идти на платформы МООК или искать информацию непосредственно на сайтах ведущих технических вузов. В России курсы проводят Институт биоинформатики, НИУ ВШЭ, за рубежом — Стэнфорд, Georgia Institute of Technology, Университет Торонто.
Softmax (функция мягкого максимума)
Упражнение
- Составьте пример, показывающий, что в сети с сигмоидным выходным слоем выходные активации aLj не всегда в сумме дают 1.
Упражнения
- Монотонность Softmax. Покажите, что ∂aLj / ∂zLk положительна, если j=k, и отрицательна, если j≠k. Как следствие, увеличение zLj гарантированно увеличивает соответствующую выходную активацию aLj, и уменьшает все остальные выходные активации. Мы уже видели это эмпирически на примере ползунков, однако данное доказательство будет строгим.
- Нелокальность Softmax. Приятной особенностью сигмоидных слоёв является то, что выход aLj — функция соответствующего взвешенного входа, aLj = σ(zLj). Поясните, почему с Softmax-слоем это не так: любая выходная активация aLj зависит от всех взвешенных входов.

Задача


- Инвертирование Softmax-слоя. Допустим, у нас есть НС с выходным Softmax-слоем и активации aLj известны. Покажите, что соответствующие взвешенные входы имеют форму zLj = ln aLj + C, где C – константа, не зависящая от j.
Тренировка нейронной сети: Стохастический градиентный спуск
У нас есть все необходимые инструменты для тренировки нейронной сети. Мы используем алгоритм оптимизации под названием стохастический градиентный спуск (SGD), который говорит нам, как именно поменять вес и смещения для минимизации потерь. По сути, это отражается в следующем уравнении:
η является константой под названием оценка обучения, что контролирует скорость обучения. Все что мы делаем, так это вычитаем из w1:
- Если положительная, w1 уменьшится, что приведет к уменьшению L.
- Если отрицательная, w1 увеличится, что приведет к уменьшению L.
Если мы применим это на каждый вес и смещение в сети, потеря будет постепенно снижаться, а показатели сети сильно улучшатся.
- Топ-5 лучших онлайн-курсов по машинному обучению в 2021 году — Завистник
- Deep Learning: 15 лучших книг по глубинному обучению
- Курс машинного обучения и нейросетей — Обучение Machine Learning и Deep Learning — Школа по работе с данными SkillFactory
- Deep Learning: 15 лучших книг по глубинному обучению
- Университет искусственного интеллекта: Что такое нейронные сети, что они могут, и как написать нейронную сеть на Python?
Наш процесс тренировки будет выглядеть следующим образом:
- Выбираем один пункт из нашего набора данных. Это то, что делает его стохастическим градиентным спуском. Мы обрабатываем только один пункт за раз;
- Подсчитываем все частные производные потери по весу или смещению. Это может быть , и так далее;
- Используем уравнение обновления для обновления каждого веса и смещения;
- Возвращаемся к первому пункту.
Давайте посмотрим, как это работает на практике.
Введение в TensorFlow для глубокого обучения
- Продолжительность: 2 месяца;
- Стандартная стоимость: бесплатно;
- Преподаватели: Магнус Хиттстен, Хуан Дельгадо, Пейдж Бейли.
Бесплатная онлайн программа, в которой предоставляются базовые навыки и знания в области глубокого обучения. Состоит курс из нескольких модулей: от введения в машинное обучение до прогнозирования временных рядов. Проходить его рекомендуется студентам, хорошо знающим школьную программу математики, а также умеющим работать с Python. После завершения обучения, выпускники могут перейти к более высокому уровню (доступен также на этой площадке, но платно).
В процессе обучения вы научитесь создавать программы через TensorFlow (небольшие приложения на Android), получите полные сведения об особенностях создания современных классификаторов и т.д. Доступен курс на английском языке.