И бум глубоких нейронных сетей в последнее время

Концепция нейронных сетей существует у нас уже несколько десятилетий. Почему на ускорение потребовалось столько времени? Что это за внезапный бум, вызванный нейронными сетями и глубоким обучением? Что делает нейронные сети такими привлекательными? Давайте изучим.

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

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

Универсальная аппроксимационная теорема

С математической точки зрения, любая архитектура нейронной сети направлена ​​на поиск любой математической функции y = f (x), которая может отображать атрибуты (x) на выход (y). Точность этой функции, то есть отображения, различается в зависимости от распределения набора данных и архитектуры используемой сети. Функция f (x) может быть сколь угодно сложной. Теорема универсального приближения говорит нам, что нейронные сети обладают своего рода универсальностью, т.е. независимо от того, что f (x) есть, есть сеть, которая может примерно приблизиться к результату и сделать свою работу! Этот результат верен для любого количества входов и выходов.

Если мы рассмотрим нейронную сеть выше, учитывая входные атрибуты, представленные как высота и ширина, наша задача - предсказать пол человека. Если мы исключим все уровни активации из вышеупомянутой сети, мы поймем, что h₁ является линейной функцией как веса, так и роста с параметрами w₁, w₂ и смещением b₁. Поэтому математически

h₁ = w₁ * вес + w₂ * высота + b₁

Точно так же

h2 = w₃ * вес + w₄ * высота + b₂

Следуя этим линиям, мы понимаем, что o1 также является линейной функцией от h₁ и h2 и, следовательно, также линейно зависит от веса и высоты входных атрибутов. По сути, это сводится к модели линейной регрессии. Достаточно ли линейной функции для приближения к теореме универсального приближения? Ответ - нет. Здесь в игру вступают уровни активации.

Слой активации применяется сразу после линейного слоя в нейронной сети для обеспечения нелинейностей. Нелинейности помогают нейронным сетям выполнять более сложные задачи. Активационный слой работает с активациями (в данном случае h₁, h2) и модифицирует их в соответствии с функцией активации, предусмотренной для этого конкретного активационного слоя. Функции активации, как правило, нелинейны, за исключением функции идентичности. Некоторые часто используемые функции активации - это ReLu, сигмоид, softmax и т. Д. С введением нелинейностей наряду с линейными членами становится возможным для нейронной сети моделировать любую заданную функцию приблизительно при наличии соответствующих параметров ( w₁, w₂, b₁ и т. д. в этом случае). Параметры сходятся к уместности при подходящем обучении. Математически с теоремой универсального приближения можно познакомиться здесь.

Нейронные сети обладают способностью отображать сложные функции и всегда были теорией на бумаге. Что внезапно сделало его вундеркиндом в области машинного обучения?

Бум

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

Считается, что модели глубокого обучения автоматически извлекают функции из необработанных данных, эта концепция также известна как изучение функций. Независимо от того, что вы вводите в достаточно большую и глубокую нейронную сеть, она может изучать скрытые функции и отношения между атрибутами, а затем использовать эти же отношения для прогнозирования результатов. Это очень удобно и требует минимальной предварительной обработки данных. Наряду с этим, инструменты и фреймворки (PyTorch, Tensorflow, Theano), используемые для проектирования и построения этих моделей, управляемых данными, расширяются с каждым днем, имеют довольно высокий уровень и легко доступны. Они требуют незначительного понимания языков программирования на низком уровне. Кроме того, исследования ведущих компаний доказали, что на эту область действительно стоит тратить драгоценное время и деньги.

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

В октябре 2019 года Google опубликовал результаты своего эксперимента Quantum Supremacy на своем 54-кубитном процессоре Sycamore. Квантовый компьютер произвел расчет цели за 200 секунд, на что потребовалось бы около 10 000 лет для самых быстрых суперкомпьютеров в мире. При таком увеличении вычислительной мощности с каждым днем ​​неизвестно, когда машинное обучение выйдет за сверхчеловеческие границы. Можно только догадываться.