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

Прочитав эту статью вы сможете:

  • Описать, что такое глубокое обучение и чем оно отличается от машинного обучения.
  • Описать искусственные нейронные сети (ИНС) и их компоненты.
  • Привести примеры реального использования глубокого обучения.

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

Глубокое обучение — это класс алгоритмов машинного обучения под эгидой «Искусственного интеллекта». Проще говоря, это учить машину учиться на собственном примере, как человеческий ребенок! Когда вы читаете слова «Искусственный интеллект», вы можете вспомнить популярные научно-фантастические фильмы, в которых изображены роботы, которые эволюционируют в людей, а затем в конечном итоге разрушают мир. К счастью, мы еще не достигли этой точки, но машины все еще могут делать довольно впечатляющие вещи! Например, глубокое обучение может использоваться для обработки рентгеновских изображений с целью выявления нарушений, таких как опухоли. Оно также может быть использовано для распознавания лиц, распознавания речи, классификации текста или даже для создания автомобиля с автоматическим управлением!

Так чем же отличается глубокое обучение от машинного обучения?

Важно помнить, что глубокое обучение – это все-таки машинное обучение (ML, machine learning). Они оба выполняют функцию с данными и постепенно улучшаются с течением времени. Основное различие заключается в том, как данные представлены в модели. Алгоритмы машинного обучения нуждаются в руководстве и структурированных данных, тогда как сети глубокого обучения используют слои искусственных нейронных сетей (ANN), чтобы самостоятельно определять, был ли его прогноз точным или нет. Это делает глубокое обучение чрезвычайно мощным, потому что оно может исключительно хорошо справляться с неструктурированными данными (например, изображениями, аудиофайлами, текстовыми данными).

Что такое искусственные нейронные сети?

Искусственные нейронные сети (ИНС) — это вычислительные системы, которые спроектированы по принципу сложной биологической нейронной системы внутри человеческого мозга.

Очевидно, что ИНС не так сложна, как человеческая нейронная система, но мы можем визуализировать сходство. В человеческом нейроне присутствуют дендриты, клеточные тела и аксоны. Дендриты получают сигналы от других нейронов и посылают сигналы по телу клетки, выполняют некоторую обработку, а затем отправляют сигнал на терминалы аксона и аксона, где сигнал передается другим нейронам снова и снова (как показано ниже). В искусственной нейронной сети взвешенные входы поступают в узел объекта, где происходит некоторая обработка, которая формирует выход, который затем подается на следующий уровень, снова и снова. Важно отметить, что входы и выходы имеют двоичный характер (0 или 1). Одна вещь, которая не показана на изображении, — это разрыв между узлами, где веса назначаются каждому входу.

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

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

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

  • Функция активации сигмоида: функция перехода в выходном слое задачи двоичной классификации. Дает выходное значение от 0 до 1.
  • Функция гиперболического тангенса (tanh): хорошо работает в промежуточных слоях, поскольку дает значения от -1 до +1.
  • Функция Inverse Tangent (arctan): Многие из тех же качеств, что и tanh, но диапазон варьируется от -1,6 до +1,6, поэтому наклон более плавный.
  • Функция выпрямленной линейной единицы (RELU): самая популярная функция активации наряду с tanh! Активация равна 0, когда выход <0, что может быть громоздко при прохождении производных.
  • Функция Leaky RELU: решает проблему производного, с которой сталкивается RELU, позволяя активации быть слегка отрицательной, когда выходной сигнал <0

Пример из реального мира

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

Теперь давайте рассмотрим каждую функцию в отдельности:

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

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

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

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

Towardsdatascience

Закрыть меню
×
Мы используем cookie-файлы для наилучшего представления нашего сайта. Продолжая использовать этот сайт, вы соглашаетесь с использованием cookie-файлов.
Принять