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

Что такое сеть глубокой прямой связи?

По сути, Глубокие сети с прямой связью (в оставшейся части статьи я буду использовать аббревиатуру DFN) — это такие нейронные сети, которые используют входные данные только для прямой связи через функцию. скажите f*, но только вперед. В DFN нет механизма обратной связи. Бывают действительно такие случаи, когда у нас есть механизм обратной связи с выходом, который называется Рекуррентные нейронные сети (я также планирую написать об этом позже).

Каковы его приложения?

DFN действительно полезны во многих областях. Одним из самых известных приложений ИИ является так называемое распознавание объектов. Он использует сверточные нейронные сети, особый вид сетей с прямой связью.

Что вообще происходит на кухне этого бизнеса?

Вернемся к нашей функцииf*и углубимся. Как я упоминал ранее, у нас есть функция y=f*(x), которую мы хотели бы приблизить к f(x), выполнив некоторые вычисления . Очевидно, что наши входные данные равны x, и мы передаем их через нашу функцию f* и получаем результатy. Это просто. Но как это поможет нам реализовать такие функции в полевых условиях? Представьте y в качестве выходных данных, так что мы хотим классифицировать входные данные x. ДНФ определяет отображение y = f(x; θ), изучает значения θ и сопоставляет входные данные x в категории y.

Как видно из рисунка выше, DFN состоит из множества слоев. Вы можете думать об этих слоях как о составных функциях:

f(x) = f1(f2 (f3 (x)))

Для приведенной выше функции глубина равна 3. Название глубокого обучения происходит от этой терминологии. Выходной слой — это самая внешняя функция, в данном случае это f1. Эти цепные структуры являются наиболее часто используемыми структурами. Чем более сложной становится функция, тем больше в ней слоев. Некоторые из этих слоев называются скрытыми слоями. Есть причина, по которой они называются скрытыми слоями. Это потому, что алгоритм обучения сам определяет, как использовать эти слои для достижения наилучшего приближения f*, и мы не прерываем процесс. А именно, обучающие данные не говорят по отдельности, что должен делать каждый слой. Кроме того, размеры скрытых слоев определяют ширину сети. Эти слои также состоят из юнитов, узлов, как бы вы их ни называли.

«Каждая единица похожа на нейрон в том смысле, что она получает входные данные от многих других единиц и вычисляет собственное значение активации». — Г. Ян и др., Глубокое обучение

Единицы модели

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

На самом деле то, что мы здесь делаем, — это преобразование биологической природы в математические выражения. Каждый нейрон имеет свой собственный вход (в форме вектора, например, x = [x1, x2, x3, x4, …, xn]) от других нейронов, умножает эти входы на разные веса (w = [w1, w2, w3, …, wn]) и добавляет смещение, обозначенное какb это постоянное значение, оно используется для настройки чистого выхода. Затем чистый вывод передается через функцию g(z), называемую функцией активации, и результат g(z) отправляется другим нейронам.

Функция активации

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

  • 1. Двоичная ступенчатая функция
  • 2. Линейная функция
  • 3. Сигмовидная функция*
  • 4. Гиперболическая касательная функция
  • 5. Выпрямленная линейная единица измерения* (ReLU)

Сигмовидная функция

Сигмовидная функция — это нелинейная непрерывная функция, которая выводит от 0 до 1 в зависимости от входного значения.

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

Выпрямленная линейная единичная функция (ReLU)

Эта функция активации очень популярна в этом районе. Он имеет формулу:

График этой функции показан на рис. 2.3.

Однако производная этой функции не определена в 0, так как там она имеет точку излома. Поэтому мы предполагаем, что производная равна 0 или 1 в этой точке (рис. 2.4).

Некоторые архитектурные соображения

Я начну эту часть статьи с объяснения того, что означает архитектура в сети глубокого продвижения. «Это относится к общей структуре сети: сколько единиц в ней должно быть и как эти единицы должны быть связаны друг с другом» (Goodfellow et al., 2016). Большинство нейронных сетей имеют такие организации, как

h1 = g_1(вес * ввод + смещение)

дается второй слой

h2 = g_2(вес_2 * h1 + смещение_2)

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

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

Еще одним соображением в архитектурном дизайне является способ соединения слоев. В некоторых случаях единицы слоев в нейронной сети имеют меньше соединений со следующим слоем, что приводит к меньшему количеству вычислений. По мере сокращения объема вычислений ресурсы, необходимые для обучения модели, значительно уменьшаются. Например, особый случай нейронной сети называется Сверточная нейронная сеть (CNN).

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

Заключение и исторические заметки

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

«Когда в 2006 году началось современное возрождение глубокого обучения, сети прямой связи
продолжали пользоваться плохой репутацией. Примерно с 2006–2012 годов широко распространено мнение, что сети с прямой связью не будут работать хорошо, если им не будут помогать другие модели, такие как вероятностные модели. Сегодня известно, что при наличии правильных ресурсов и инженерных методов сети с прямой связью работают очень хорошо». - (Гудфеллоу и др., 2016, стр. 226)

Я действительно с нетерпением жду возможности внимательно наблюдать за экспоненциальным ростом в этой области. Потенциал в этой области вызывает у меня мурашки по коже!

Спасибо, что дочитали до этого места!

До следующего раза!

Рекомендации