Топология нейронных сетей это

Нейронные сети, фундаментальные принципы работы, многообразие и топология

Нейронные сети совершили революцию в области распознавания образов, но из-за неочевидной интерпретируемости принципа работы, их не используют в таких областях, как медицина и оценка рисков.

Требуется наглядное представление работы сети, которое сделает её не чёрным ящиком, а хотя бы «полупрозрачным». Cristopher Olah, в работе «Neural Networks, Manifolds, and Topology» наглядно показал принципы работы нейронной сети и связал их с математической теорией топологии и многообразия, которая послужила основой для данной статьи. Для демонстрации работы нейронной сети используются низкоразмерные глубокие нейронные сети.

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

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

Начнем с простого набора данных — двух кривых на плоскости. Задача сети научится классифицировать принадлежность точек кривым.

Очевидный способ визуализировать поведение нейронной сети, посмотреть, как алгоритм классифицирует все возможные объекты (в нашем примере точки) из набора данных.

Начнем с простейшего класса нейронной сети, с одним входным и выходным слоем. Такая сеть пытается отделить два класса данных, разделив их линией.

Такая сеть не используется на практике. Современные нейронные сети обычно имеют несколько слоёв между их входом и выходом, называемыми «скрытыми» слоями.

Визуализируем поведение этой сети, наблюдая за тем, что она делает с разными точками в своей области. Сеть со скрытым слоем отделяет данные более сложной кривой, чем линия.

Только полезные материалы о машинном обучении и искусственном интеллекте. Мы уважительно относимся к нашим читателям и рассылаем письма не чаше 1 раза в неделю!

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

В предыдущей визуализации рассмотрены данные в «сыром» представлении. Вы можете представить это, посмотрев на входной слой. Теперь, рассмотрим его после того, как он будет преобразован первым слоем. Вы можете представить это, посмотрев на скрытый слой.

Каждое измерение соответствует активации нейрона в слое.

Скрытый слой обучается на представлении, так чтобы данные были линейно разделимы.

Непрерывная визуализация слоев

В подходе, описанном в предыдущем разделе, мы учимся понимать сети, просматривая представление, соответствующее каждому слою. Это дает нам дискретный список представлений.

Читайте также:  Эффективность связи в компьютерных сетях зависит

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

Существует множество различных типов слоёв, используемых в нейронных сетях. Рассмотрим слой tanh для конкретного примера. Tanh-слой tanh (Wx + b) состоит из:

1 Линейного преобразование «весовой» матрицей W

2 Перевод с помощью вектора b

3 Точечное применение tanh.

Мы можем представить это как непрерывное преобразование следующим образом:

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

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

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

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

Топология слоев tang

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

Такие преобразования, которые не влияют на топологию, называются гомеоморфизмами (Wiki — Это отображение алгебраической системы А, сохраняющее основные операции и основные отношения). Формально они являются биекциями, которые являются непрерывными функциями в обоих направлениях. При биективном отображении каждому элементу одного множества соответствует ровно один элемент другого множества, при этом определено обратное отображение, которое обладает тем же свойством.

Слои с N входами и N выводами являются гомеоморфизмами, если весовая матрица W не является вырожденной. (Нужно быть осторожным в отношении домена и диапазона.)

1. Предположим, что W имеет ненулевой детерминант. Тогда это биективная линейная функция с линейным обратным. Линейные функции непрерывны. Итак, умножение на W является гомеоморфизмом.

2. Отображения — гомеоморфизмы

3. tanh (и сигмоиды и softplus, но не ReLU) являются непрерывными функциями с непрерывными обратными. Они являются биекциями, если мы внимательно относимся к области и диапазону, который мы рассматриваем. Применение их поточечно, является гомеоморфизмом.

Таким образом, если W имеет ненулевой детерминант, слой является гомеоморфным.

Топология и классификация

Рассмотрим двухмерный набор данных с двумя классами A, B⊂R 2 :

Требование: нейронная сеть не может классифицировать этот набор данных, не имея 3 или более скрытых слоя, независимо от глубины.

Как упоминалось ранее, классификация с сигмовидной функцией или слоем softmax эквивалентна попытке найти гиперплоскость (или в этом случае линию), которая разделяет A и B в конечном представлении. Имея только два скрытых слоя, сеть топологически неспособна разделять данные таким образом, и обречена на неудачу в этом наборе данных.

Читайте также:  Ячеистая топология сети недостатки

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

Для этой сети обучения недостаточно для достижения стопроцентного результата.

Алгоритм попадает в непроизводительный локальный минимум, но способен достичь ~ 80% точности классификации.

В этом примере был только один скрытый слой, но он не срабатывал.

Утверждение. Либо каждый слой является гомеоморфизмом, либо весовая матрица слоя имеет определитель 0.

Доказательство. Если это гомоморфизм, то A по-прежнему окружен B, и линия не может их разделить. Но предположим, что она имеет детерминант 0: тогда набор данных коллапсирует на некоторой оси. Поскольку мы имеем дело с чем-то, гомеоморфным исходному набору данных, A окруженных B, и коллапсирование на любой оси означает, что мы будем иметь некоторые точки из A и B смешенными, и что приводит к невозможности для различения.

Если мы добавим третий скрытый элемент, проблема станет тривиальной. Нейронная сеть узнает следующее представление:

Представление даёт возможность разделить наборы данных гиперплоскостью.

Чтобы лучше понять, что происходит, давайте рассмотрим еще более простой набор данных, который является одномерным:

Без использования слоя из двух или более скрытых элементов мы не можем классифицировать этот набор данных. Но, если мы используем сеть с двумя элементами, мы научимся представлять данные как хорошую кривую, которая позволяет нам разделять классы с помощью линии:

Что происходит? Один скрытый элемент учится срабатывать, когда x> -1/2, и один учится срабатывать, когда x> 1/2. Когда первый срабатывает, но не второй, мы знаем, что мы находимся в A.

Гипотеза многообразия

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

Многомерная гипотеза состоит в том, что естественные данные образуют низкоразмерные многообразия в пространстве имплантации. Есть и теоретические [1], и экспериментальные[2] причины полагать, что это правда. Если это так, то задача алгоритма классификации состоит в том, чтобы отделить пучок запутанных многообразий.

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

Связи и гомотопии

Еще один интересный набор данных — два связанных тора A и B.

Как и предыдущие наборы данных, которые мы рассмотрели, этот набор данных не может быть разделен без использования n + 1 измерений, а именно четвёртого измерения.

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

Читайте также:  Задачи решающие компьютерные сети

Относительно простая бессвязность.

Если нейронная сеть, использующая слои только с тремя юнитами, может ее классифицировать, то она является бессвязной. (Вопрос: Может ли все бессвязности классифицироваться по сети только с тремя бессвязностями, теоретически?)

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

Формально, изотопия окружающего пространства между многообразиями А и В является непрерывной функцией F: [0,1] × X → Y такая, что каждый Ft является гомеоморфизмом из X в его диапазон, F0 является тождественной функцией, а F1 отображает A в B. Т.е. Ft непрерывно переходит из отображения A в себя, к отображению A в B.

Теорема: существует изотопия окружающего пространства между входом и представлением сетевого уровня, если: a) W не является вырожденной, b) мы готовы перенести нейроны в скрытый слой и c) имеется более 1 скрытого элемента.

1. Самая сложная часть — линейное преобразование. Чтобы это было возможно, нам нужно, чтобы W обладала положительным определителем. Наша предпосылка заключается в том, что она не равна нулю, и мы можем перевернуть знак, если он отрицательный, переключив два скрытых нейрона, и поэтому можем гарантировать, что определитель положителен. Пространство положительных детерминантных матриц является связным, поэтому существует p: [0,1] → GLn (R) 5 такое, что p (0) = Id и p (1) = W. Мы можем непрерывно переходить от функции тождества к W-преобразованию с помощью функции x → p (t) x, умножая x в каждой точке времени t на непрерывно переходящую матрицу p (t).

2. Мы можем непрерывно переходить от функции тождества к b-отображению с помощью функции x → x + tb.

3. Мы можем непрерывно переходить от тождественной функции к поточечному использованию σ с функцией: x → (1-t) x + tσ (x)

До сих пор такие связи, о которых мы говорили маловероятно появятся в реальных данных, но существуют обобщения более высокого уровня. Правдоподобно, что такие особенности могут существовать в реальных данных.

Связи и узлы являются одномерными многообразиями, но нам нужны 4 измерения, чтобы сети могли распутать все из них. Точно так же может потребоваться еще более высоко размерное пространство, чтобы иметь возможность разложить n-мерные многообразия. Все n-мерные многообразия могут быть разложены в 2n + 2 размерностях. [3]

Легкий выход

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

Источник

Оцените статью
Adblock
detector