Can a Fruit Fly Learn Word Embeddings?Yuchen Liang, Chaitanya K. Ryali, Benjamin Hoover, Leopold Grinberg, Saket Navlakha, Mohammed J. Zaki, Dmitry KrotovСтатья:
https://arxiv.org/abs/2101.06887 Код (в текущей версии кода обучить на своём датасете нельзя):
https://github.com/bhoov/flyvec Сайт проекта (можно поиграться с эмбеддингами):
https://flyvec.org/ Текущий прогресс в нейросетях по факту очень сильно обусловлен анализом изображений, давшим большой пинок области благодаря ImageNet, свёрточным архитектурам и вообще близости визуальной модальности нашему пониманию. Есть, конечно, рекуррентные сети и трансформеры с другими implicit biases, но это иная песня.
Параллельно этим движухам, в последние годы всё активнее пробивается направление про принципиально другие модальности, также инспирированные природой, но менее родные нам как виду, среди которых обоняние (
https://www.quantamagazine.org/new-ai-strategy-mimics-how-brains-learn-to-smell-20180918/) и мозг дрозофилы, вернее грибовидное тело (mushroom body), как модельный объект.
Одна из свежих работ на эту тему исследует годность дрозофильной модели для построения эмбеддингов слов по типу word2vec/GloVe/BERT.
Грибовидное тело мухи отвечает за обработку сенсорной информации. Projection neurons (PN, проекционные нейроны?) получают сигналы с различных сенсоров, в основном обонятельных, но также есть входы, отвечающие за температуру, влажность и даже визуальные. Эти входы дальше заводятся через синапсы на популяцию Kenyon cells (KC, клетки Кеньона?), а те в свою очередь соединены между собой через anterior paired lateral нейрон (APL, даже ну буду пытаться переводить) и ингибируют друг друга (образуя рекуррентную сеть), так что при активации получается ситуация вида “победитель получает всё” с очень малым количеством активных нейронов, то есть разреженный код.
У реальной дрозофилы PN примерно штук 50, а KC около 2000.
Связи между PN и KC вроде как случайные, но этот вопрос дискутируется. В предыдущей своей работе (частично те же авторы плюс великий Хопфилд, “Bio-Inspired Hashing for Unsupervised Similarity Search”,
https://arxiv.org/abs/2001.04907) было показано, что обучаемые связи между PN и KC дают более качественные результаты, чем рандомные, так что здесь используется этот вариант.
Кроме того, текущий вариант должен работать со словами довольно большого словаря, так что получается не расширение размерности (от 50 до 2000), а наоборот сужение (от размера словаря 20000 в 2000).
Цель работы — понять, может ли такая сеть выучить эмбеддинги, сопоставимые по качеству со статическими word2vec/GloVe или контекстными BERT. Мотив в том, что “мушиная” схема реализует достаточно общий алгоритм эмбеддингов и его можно применить для чего-то, чем муха никогда ни в жизни, ни в эволюции не занималась. Принципиальное отличие “мушиных” эмбеддингов в том, что они 1) бинарные, 2) разреженные в отличие от a) вещественных и b) плотных упомянутых выше языковых эмбеддингов.
Для (unsupervised) обучения берут текстовый датасет (OpenWebText, 32Gb, 6B токенов), нарезают на окна длины w (9-15) слов, оставляют 20000 наиболее частотных токенов.
Входной вектор состоит из блока контекста (bag-of-words из единиц в позиции имеющихся слов) и целевого блока (one-hot кодирование конкретного слова, это центральное слово в окне). Цель алгоритма выучить корреляции между блоками контекста и цели.
Задача обучения формулируется в терминах минимизации энергетической функции и реализуется это через итеративное изменение весов. Алгоритм локальный и без учителя.
За подробностями формулы, более детальным описаниям алгоритма и интуицией обращайтесь к этой и предыдущим статьям авторов (
https://www.ibm.com/blogs/research/2019/04/biological-algorithm/).