* Tversky Projection Layer, аналог полносвязного слоя. Нелинейная проекция вектора a∈R^d, вычисляющая похожесть входа a на каждый из p прототипов, каждый их которых R^d, так что на выходе получается вектор R^p. По сути он проецирует входной вектор на набор выученных «прототипных» векторов Π. Однако вместо простого скалярного произведения он использует более сложную и выразительную нелинейную функцию сходства Тверски в Tversky Similarity Layer. Итого в нейросети Тверски обучаемые параметры включают: * векторы прототипов, Π * векторы признаков, Ω, * веса α, β, θ Π и Ω можно шарить между разными слоями. Этот новый слой по своей природе более мощный. Авторы конструктивно показывают, что один-единственный проекционный слой Тверски может смоделировать нелинейную функцию XOR, что невозможно для одного линейного слоя, и это демонстрирует его повышенную выразительную способность. Здесь правда есть тонкость. Пример с XOR, где на входе вектор из двух чисел, между которыми и делается XOR, использует 11 обучаемых параметров. Ну ок, один классический нейрон не может сделать XOR, но простая сеть с одним скрытым слоем с двумя нейронами там и одним нейроном на выходе (https://datascience.stackexchange.com/a/11590) уже может, а в ней всего 6 обучаемых весов -- по два на каждый нейрон, bias вроде как не нужен. Ну даже если с bias, то всё равно 9 весов, меньше чем 11. Так что так себе преимущество, я тоже могу это всё в один нейрон нового типа зашить и сказать, что оно более мощное. И обучаемые вектора прототипов и признаков в сети Тверски должны ещё выучиться, не при каждой инициализации в экспериментах это удавалось. И ещё эти гиперпараметры (количество векторов) надо как-то выбирать. Замена стандартных линейных слоёв на проекционные слои Тверски приводит к заметным улучшениям в различных областях: * Распознавание изображений: При адаптации замороженной ResNet-50 для задачи классификации использование на выходе проекционного слоя Тверски вместо линейного (=TverskyResNet50) привело к улучшению точности с 36,0% до 44,9% (NABirds) и с 57.4% до 62.3% (MNIST). На незамороженной сети не так заметно, при обучении с нуля чуть заметнее. * Языковое моделирование: При обучении модели GPT-2 small с нуля на датасете Penn Treebank с общими (tied) прототипами замена линейных слоёв на слои Тверски (=TverskyGPT-2) одновременно снизила перплексию на 7,5% и сократила количество параметров на 34,8%. Векторы прототипов и фич везде инициализировались рандомно. В качестве редукций в пересечениях и разностях использовались product и ignorematch. Ещё из полезных свойств у модели есть интерпретируемость. Большинство современных методов XAI, таких как LIME или Grad-CAM, являются post-hoc, то есть они пытаются объяснить принятие решений моделью извне, после того как она была обучена как чёрный ящик. В отличие от них, фреймворк Тверски интерпретируем by design. Его фундаментальные операции основаны на психологически интуитивных понятиях общих и отличительных признаков, что обеспечивает встроенный, прозрачный язык для объяснения рассуждений модели. Авторы представляют новую технику визуализации в пространстве исходных данных, которая позволяет визуализировать выученные прототипы и признаки непосредственно во входном пространстве. На примере MNIST показано, что слой Тверски выучивает прототипы и признаки, которые соответствуют распознаваемым, интерпретируемым человеком штрихам и кривым рукописных цифр. В отличие от этого, базовый линейный слой выучивает непрозрачные, неинтерпретируемые текстурные паттерны. Это позволяет получить принципиальное объяснение решений модели в терминах общих и отличительных признаков. Авторы даже обнаружили, что обученные модели последовательно выучивают параметры, при которых α > β. Это означает, что отличительным признакам входа («сына») придаётся больший вес, чем отличительным признакам прототипа («отца»). Это является прямым подтверждением исходной гипотезы Тверски о значимости (salience) и показывает, что модель не просто хорошо работает, но и обучается психологически состоятельным образом.