Pull to refresh

Comments 7

Это будет работать только для нейронов с пороговой активацией.
И вряд ли поможет для активации ReLU или Dropuot слоя.
Вряд ли, там используется Locality-sensitive hashing.
Как написано, Locality-sensitive hashing, это «хеширования, чувствительное к расположению», что бы «сходные входные данные давали сходные значения хешей».
Но каким бы хеш не был, его задача определить нейроны для которых «не нужно подсчитывать активации» (ведь именно в этом и состоит данный метод оптимизации).
Т.е. данный метод исходит из предоположения:
1. У нейронов используется пороговая активация
2. Посчитать хеш от данных проще, чем посчитать саму матрицу
Вроде они именно с ReLU работают, избавляются от вычисления тех нейронов, которые уходят в заведомый минус. Не пойму, причём тут GPU — техники с разреженными матрицами на них не особо играют.
Из теории информации следует, что оптимизированная описанныйм в статье способом модель тут будет эквивалентна модели, полученной путём снижения разрядности входных данных, снижения разрядности выходных данных и уменьшения количества слоёв/нейронов до соответствующей «ширины» хэш-функции. В этом же и вся идея нейросетей как раз и заключается — свести поиск тьюрингового алгоритма решения задачи в сходящийся итеративный статистический высокопаралелльный вычислительный процесс, эффективно исполняемый на определённых типах вычислителей. Т.е., исследователям нужно было решать обратную задачу — хеширование и поиск хеша реализовать в виде нейросети. Вот это бы было интереснее и полезнее. Текущий результат, описанный в статье, по-сути, является просто описанием «сжатия с потерями» нейросетки в памяти. Эдакий НейроДжпег. И мне видятся более простые и эффективные решения вопросов квантификации нейросетей, чем предложенный (даже простое снижение разрядности, как уже говорил).
Затем можно сгруппировать нейроны с похожими хешами, что будет означать, что у этих нейронов сходные наборы весов. Каждую группу можно хранить в базе данных, и определять по хешу входных значений, которые приведут к активации данной группы нейронов.

Осталось заменить эти группы нейронов одиночными «виртуальными», остальные выкинуть. Тогда под каждые входные данные (кластеризуемые этим хешем) будет создана своя отдельная микросеть, активируемая этими же самыми данными. По сути получаем: данные выбирают алгоритм, которым будут обработаны.
Sign up to leave a comment.

Articles