# Александр Мэттик: «Нейронные сети — это просто деревья решений»

Источник: https://www.youtube.com/watch?v=_okxGdHM5b8
Канал: Yannic Kilcher
Опубликовано: 21.10.2022

---

## Нейронные сети как деревья решений: математическая эквивалентность и практический смысл
[[JUMP:0:00]]

Исследователи давно искали способы «открыть» «черный ящик» нейронных сетей, чтобы понять логику их работы. Очередным шагом в этом направлении стало обсуждение математической эквивалентности между нейронными сетями с кусочно-линейными функциями активации (например, ReLU) и деревьями решений. В недавнем выпуске подкаста Янник Килчер и Александр Мэттик разобрали статью, утверждающую, что любую такую нейронную сеть можно переписать в виде дерева решений. Однако, несмотря на математическую элегантность этого доказательства, его практическая применимость и способность сделать современные глубокие сети «прозрачными» остаются под вопросом.

### Математика «разворачивания» нейросети
[[JUMP:1:07]]

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

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

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

### Почему это не делает нейросети понятными?
[[JUMP:5:30]]

Несмотря на теоретическую стройность, превращение нейросети в дерево решений не упрощает задачу интерпретации по нескольким причинам:

1.  **Экспоненциальный рост:** Количество областей линейности в нейросети растет колоссально быстро. Даже для крошечной сети, если попытаться построить соответствующее ей полное дерево решений, его глубина может достигать 16 и более уровней, что дает $2^{16}$ областей — число, с которым невозможно работать человеку.
2.  **Потеря параллелизма:** В нейронных сетях разные признаки (например, освещенность и форма объекта) могут обрабатываться параллельно. Дерево решений вынуждено задавать вопросы последовательно, из-за чего связь между признаками «размывается» по разным веткам, и алгоритм теряет способность видеть целостную картину.
3.  **Природа «черного ящика»:** Истинная сложность нейросетей заключается не в том, что каждый отдельный компонент труден для понимания, а в эмерджентных свойствах миллиардов параметров, работающих вместе. Дерево решений лишь переводит эту сложность из одной формы в другую.

### Производительность: CPU против GPU
[[JUMP:23:15]]

Авторы обсуждаемой статьи утверждают, что дерево решений может быть вычислительно эффективнее нейросети в плане количества операций. Мэттик поясняет нюанс:

*   Дерево решений требует меньше умножений, потому что мы вычисляем только те части графа, которые релевантны конкретному входу.
*   Однако современные графические процессоры (GPU) спроектированы для выполнения огромных матричных умножений с минимальным ветвлением.
*   Следовательно, хотя дерево может быть «легче» математически, на аппаратном уровне оно часто работает медленнее, чем высокопараллельная нейросеть.

### Перспективы гибридных подходов
[[JUMP:27:31]]

Несмотря на скепсис в отношении полной замены нейросетей деревьями, Мэттик видит потенциал в их использовании для аугментации (дополнения):

*   **Табличные данные:** Деревья решений (например, градиентный бустинг) традиционно лучше справляются с табличными данными, где признаки хорошо определены.
*   **Двухэтапные системы:** Можно использовать нейронную сеть для извлечения богатых признаков (особенно эффективно это делают алгоритмы самообучения), а затем применять дерево решений поверх этих представлений для классификации.
*   **Квантованные признаки:** Использование современных методов квантования (например, в моделях типа VQ-GAN) может создать «плодородную почву» для применения методов на основе деревьев или случайных лесов.