Попробуйте его версию в 15 раз более мощную!

Что случилось, когда Бэтмен и Супермен объединились? Капитан Роджерс и Тони Старк (R.I.P) объединили свои силы? Гоку и Вегета? The Weeknd и Ариана Гранде о песне? Вы чувствуете силу, не так ли?

И что произойдет, если две мощные структуры данных объединятся друг с другом? (* добавить барабанную дробь *) та-да! Получаем нейронное дерево.

Введение в нейронные деревья

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

Что же такое нейронное дерево?

Нейронное дерево - это гибридная структура данных, которая включает в себя работу как иерархии (дерева), так и небольших нейронных сетей для изучения путей поиска, а не непосредственно данных. Нейронные деревья сокращают пространство, занимаемое деревом поиска, до 40% по сравнению с двоичными деревьями решений. Эта модель остается верной для обоих своих родителей, а именно для деревьев решений и нейронных сетей. Наряду с архитектурой алгоритма обучения нейронной сети с обратным распространением, он имеет потенциал для включения обучения через свои края, маршрутизацию и конечные узлы, аналогичные дереву решений.

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

Нейронные деревья наследуют следующие желаемые свойства как от DT, так и от NN:

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

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

Абстрактная концепция изображает NT как порождение моделей, выстроенных в определенную иерархию (обученные нейронные сети). Узлы внутри дерева называются моделями, а ветви / листья - данными. Поиск начинается с корневого узла и продолжается до листа. На каждом этапе поиска модель сопоставляет ключ со следующей моделью в дереве. В то время как дерево решений будет выполнять двоичный поиск в блоке, чтобы найти следующий блок в дереве, нейронное дерево вычисляет следующий шаг на основе модели.

Параметры нейронного дерева

Топология дерева описывается как T = N + E, где N - это набор всех узлов, а E - набор края между ними. Узлы без дочерних узлов являются листовыми узлами (1), а все остальные узлы являются внутренними узлами, nᵢₙₜ. Каждый внутренний узел j ∈ n ᵢₙₜ имеет ровно два дочерних узла, представленных левым (j) и правым (j). В отличие от стандартных деревьев E содержит ребро, которое соединяет входные данные x с корневым узлом. Когда мы начинаем с корневого узла, каждый узел преобразуется, и дерево просматривается в соответствии с набором операций O.

Модули ANT состоят из 3 дифференцируемых операций:

Маршрутизаторы, R: внутренний узел j ∈ n ᵢₙₜ, имеющий модуль маршрутизатора (2, a) → [0,1] ∈ R с параметром θ отправляет выборки на входящую кромку либо левому, либо правому дочернему элементу. Здесь X обозначает представление в узле j. Из распределения Бернулли бинарные метки (1 для левой и 0 для правой ветви) выбираются со средним значением (2, a) (x ) для ввода x X . В качестве примера (2, a) можно определить сверточную нейронную сеть (CNN).

2. Трансформаторы, T: отдельное ребро e ∈ E дерева состоит из модулей нескольких трансформаторов. Каждый нелинейный функциональный преобразователь (3) ∈ T с ψ в качестве параметра преобразует выборки из предыдущего модуля и передает их следующему модулю. Например, (3) может быть единственным сверточным слоем, за которым следует функция активации, называемая ReLU. Могут быть добавлены дополнительные операции для более глубокого изучения и понимания его границ. Это невозможно в случае двоичного ОУ.

3. Решатели, S: конечный узел l ∈ (1), модуль решателя (4) * l: xYS, параметр φ, работает с преобразованными входными данными и предсказывает подходящий результат для данной вероятности p ( у | х). Для задач классификации мы можем определить, например, (4) как линейный классификатор в пространстве признаков x, который выводит распределение по классам.

Начиная со старших битов, мы можем замаскировать 5 бит, дав значение от 0 до 31. Определение a как (mask - 15.5) /15.5 дает функцию с 32 возможными значениями в требуемом диапазоне. . По мере того, как мы спускаемся вниз по дереву, битовая маска будет перемещаться вниз. На выходе будет 32.

Пример пары a и b, которая имитирует двоичные деревья, демонстрирует, как выполняются обучение и логический вывод. Однако существует множество возможных пар, и исследовательский потенциал нейронных деревьев заключается в выявлении многообещающих пар a и b. Обучение и надежный вывод следуют непосредственно из выбора a, потому что a создает обучающий набор для модели. 32 значения, описанные ранее, образуют x (n) обучающего набора. y (n) вычисляются как b соответствующих моделей и конечных адресов для маски. Можно запросить модель с указанным значением, и результирующий y определяет, какую пару a, b использовать в последующем вычислении модели. Построение a и b составляет неотъемлемую часть реализации нейронного дерева.

Операции с нейронным деревом - вставка и удаление

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

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

На этом этапе дерево необходимо обработать. Выделена и обучена новая модель NT. Разработчик имеет достаточно свободы, чтобы следовать любой методологии, однако эта демонстрация будет включать имитацию BDT. Запись старого листа в родительской модели заменяется ссылкой на новую модель и переобучается (LoW). Новая модель обучается со старым разделенным листом и его новым сверстником. Чтобы увеличить высоту, мы можем увидеть, как окно битовой маски опускается на 5 шагов ниже для новой модели по отношению к родительскому узлу.

Удаление в этом нейронном дереве такое же, как и для дерева решений: запись просматривается, а затем удаляется в листе. Если при удалении создается пустой лист, то лист удаляется из родительской модели. и листовой блок можно освободить; удаление листа вызывает LoW. Если удаление листа приводит к модели с одним путем, то модель освобождается, и лист прикрепляется к родительскому элементу модели. Рекурсивная реализация процесса применяется рекурсивно до тех пор, пока не встретится модель множественного пути с просачиванием LoW вверх по дереву.

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

NN - ›Нейронная сеть

(B) DT - ›(двоичное) дерево решений

NT- ›Нейронное дерево

Ссылки

● Танно, Р., Арулкумаран, К., Александр, Д. К., Криминиси, А., и Нори, А. (2019). Нейронные и эволюционные вычисления. Компьютерное зрение и распознавание образов. Опубликовано. Https://arxiv.org/abs/1807.06699

● Дуглас Сантри. (2020). Нейронные деревья: использование нейронных сетей в качестве альтернативы двоичному сравнению в классических деревьях поиска (№23). NetApp. Https://www.usenix.org/system/files/hotstorage20_paper_santry.pdf

● Сират Дж. И Надаль Жан-Пьер. (2009). Нейронные деревья: новый инструмент для классификации. Сеть: вычисления в нейронных системах. 1. 10.1088 / 0954–898X / 1/4/003.

Спасибо за прочтение!

По сценарию Харшини Айьер

Свяжитесь со мной по адресу https://www.linkedin.com/in/harshini-k-aiyyer-7a1749211/