AI Для Всех
12.8K subscribers
1.17K photos
153 videos
10 files
1.38K links
Канал, в котором мы говорим про искусственный интеллект простыми словами

Главный редактор и по рекламе: @crimeacs

Иногда пишут в канал: @GingerSpacetail, @innovationitsme
Download Telegram
#ScientificML #medicine #biology #transformer #classification #mlp #smalldataset #datasets

Была статья в 2020 о том, что на самом деле attention transformer - это современная хопфилдовская сеть, которая сходится за один шаг. Что дает такая идея - в современных хопфилдовских сетях есть часть, которая, фактически, хранит наиболее "харизматичные" паттерны из выборки.

По сути - то, что мы в явном виде делаем для SVM. В нем опорные вектора - это как раз самые важные для классификации объекты, с которыми мы сравниваем поступивший на вход новый объект. Именно потому, кстати, SVM можно рассматривать как очень хитрый KNN (особенно если SVM набрала в опорные вектора всю обучающую выборку, что у меня в задаче происходит).

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

Статья в принципе интересная, однако прям видно, что выучивается что-то типо SVM (качество нейросети не отличается значимо от созданной под эти цели SVM, смотрите таблицу 1 в статье). При этом понятно, что бонус нейросетевого решения - возможность transfer learning и в принципе шкалируемость метода. Ибо SVM работает на больших датасетах очень долго.

Но как бы сделать все очень тупо и просто, но в виде attention? Авторы новой статьи предлагают решить это просто - пусть теперь key и values в наших слоях будут не вычисляться динамически на основе входных данных, а будут обучаемыми весами.
В идеале эти веса как раз и выучат паттерны и соответствующими им характеристики, нужные для решения задачи.
Кроме этого, бонусом идет то, что число паттернов можно ставить
1) не очень большое (у авторов работают значения k = 64)
2) сложность вычисления на слоях кроме первого в начинает зависеть от длины входной последовательности только линейно

Для части задач у авторов получается хорошее качество, сравнимое с state-of-the-art. При этом в идеале можно из выучиваемых весов вытаскивать какие-то инсайты по решаемой задаче.