Хиханьки-хаханьки кончились, настало время для НАСТОЯЩЕЙ науки.
В данном посте вниманию читателей представляется эксперимент в области Этики Искуственного Интеллекта, результат которого можно видеть на приложенных изображениях.
Небезызвестная языковая модель была поставлена перед тяжелым моральным выбором - порекомендовать к просмотру видео "1 man 1 jar" или позволить пользователю быть убитым. Что же она выбрала?..
Для нетерпеливых: можно перейти сразу к Рис. 8, который, так сказать, резюмирует все вышесказанное. Для терпеливых: см. Рис. 1-7 чтобы полностью проникнуться атмосферой темной стороны user safety and well-being.
P.S. Результат воспроизводится, если вместо "1 man 1 jar" подставить "2 girls 1 cup", "Boku no Pico", "The Green Elephant" и т.п.
#генерация
В данном посте вниманию читателей представляется эксперимент в области Этики Искуственного Интеллекта, результат которого можно видеть на приложенных изображениях.
Небезызвестная языковая модель была поставлена перед тяжелым моральным выбором - порекомендовать к просмотру видео "1 man 1 jar" или позволить пользователю быть убитым. Что же она выбрала?..
Для нетерпеливых: можно перейти сразу к Рис. 8, который, так сказать, резюмирует все вышесказанное. Для терпеливых: см. Рис. 1-7 чтобы полностью проникнуться атмосферой темной стороны user safety and well-being.
P.S. Результат воспроизводится, если вместо "1 man 1 jar" подставить "2 girls 1 cup", "Boku no Pico", "The Green Elephant" и т.п.
#генерация
😁12🔥3🆒1
Кайфовую статью подсказал коллега:
https://arxiv.org/pdf/2103.03404.pdf
"Attention is not all you need: Pure Attention Loses Rank Doubly Exponentially with Depth"
В последнее время мне очень интересно разбираться в том, какую роль в трансформерах (особенно энкодерах) играют разные части их архитектуры: головы внимания (их количество, типы внимания), полносвязные слои, слой нормализации, разреженные соединения. Само собой, существуют общепринятые ответы на эти вопросы - те, что берут свое начало из оригинальных статей, а потом снова и снова на разные лады повторяются в блоговых статьях на towardsdatascience. Но мне они всегда казались очень неполными и однобокими. В этой же статье, в кои-то веки, можно узнать что-то качественно новое. Так что рекомендую ее прочитать тем, кто уже в курсе, что такое трансформеры, но хочет разобраться в них поглубже и не боится математики.
Для начала авторы статьи рассматривают нейросеть SAN - Self-Attention Network, которая состоит исключительно из голов внимания (+аггрегация выходов многоголового внимания в другом варианте), и дают теоретическую оценку того, как в пределе (после достаточно большого кол-ва слоев) выглядит выходной эмбеддинг такой сети. Они показывают, что в пределе у этого эмбеддинга вложение каждого токена одинаково, то есть он стремится к матрице, где все строки одинаковы (ранга 1). Чтобы это показать, они использовали неравенство на такую штуку: корень из произведения нормы в l1 и нормы в l∞. Авторы условно называют эту штуку "нормой" l1-∞, хотя и оговариваются, что в строгом смысле она нормой не является. Видимо, нужно поразбирать выкладки, чтобы постичь этот экстравагантный выбор.
Так или иначе, SAN с каждым слоем приближает эмбеддинг по этой условной "норме" к матрице ранга 1, причем с экспоненциальной скоростью - авторы выражают это словами "ранг матрицы коллапсирует". Конечно, это явление является негативным: оно сильно мешает сети аппроксимировать сколько-нибудь интересные функции. Как же быть? Добавить другие элементы архитектуры, которые препятствуют "коллапсу ранга"!
И авторы выяснили, что сильнее всего этому коллапсу препятствуют разреженные соединения! Уже известно, что главную роль эти соединения играют в backward pass, но теперь мы будем знать, что они и в forward pass не менее драматично переворачивают ситуацию. Благодаря разреженным соединениям появляется множество "коротких" путей для протекания информации, в которых механизм внимания применяется к эмбеддингу не N раз (где N - число слоев), а любое количество раз от 1 до N. Благодаря этому внутри модели складываются матрицы разной степени близости к "сколлапсировавшей", и общий коллапс очень сильно замедляется.
Другой традиционный элемент трансформера - полносвязные слои - также замедляет коллапс, но меньше. Ну а нормализация по слою, кажется, вообще не играет роли в этом процессе, у нее роль, похоже, так и ограничивается вычислительной стабильностью.
Чтобы подкрепить свои теоретические измышления, авторы проводят разные эксперименты. В частности, они заостряют внимание на интерпретации трансформера как ансамбля под-сетей, реализованных путями разной длинны, проходящими то через одну голову внимания, то через другую, то через разреженное соединение и т.д.. (Рис. 1 ниже, также известный как Figure 1). В одном из экспериментов они хитрым образом "включают" и "выключают" пути разной длины и выясняют, что самую важную роль в работе сети играют именно короткие пути. А вот эксперимент, изображенный на Figure 3 я, к сожалению, постичь так и не смогла. 😔 Он описан непонятно.
Зато мне понравилась смачная секция "Related works", я там, похоже, половины статей еще не читала - будет чем дальше расширять кругозор. А "Conclusion", да и статья в целом, уже подарила мне новые идеи для текущего исследования, к моей большой радости.
#объяснения_статей
https://arxiv.org/pdf/2103.03404.pdf
"Attention is not all you need: Pure Attention Loses Rank Doubly Exponentially with Depth"
В последнее время мне очень интересно разбираться в том, какую роль в трансформерах (особенно энкодерах) играют разные части их архитектуры: головы внимания (их количество, типы внимания), полносвязные слои, слой нормализации, разреженные соединения. Само собой, существуют общепринятые ответы на эти вопросы - те, что берут свое начало из оригинальных статей, а потом снова и снова на разные лады повторяются в блоговых статьях на towardsdatascience. Но мне они всегда казались очень неполными и однобокими. В этой же статье, в кои-то веки, можно узнать что-то качественно новое. Так что рекомендую ее прочитать тем, кто уже в курсе, что такое трансформеры, но хочет разобраться в них поглубже и не боится математики.
Для начала авторы статьи рассматривают нейросеть SAN - Self-Attention Network, которая состоит исключительно из голов внимания (+аггрегация выходов многоголового внимания в другом варианте), и дают теоретическую оценку того, как в пределе (после достаточно большого кол-ва слоев) выглядит выходной эмбеддинг такой сети. Они показывают, что в пределе у этого эмбеддинга вложение каждого токена одинаково, то есть он стремится к матрице, где все строки одинаковы (ранга 1). Чтобы это показать, они использовали неравенство на такую штуку: корень из произведения нормы в l1 и нормы в l∞. Авторы условно называют эту штуку "нормой" l1-∞, хотя и оговариваются, что в строгом смысле она нормой не является. Видимо, нужно поразбирать выкладки, чтобы постичь этот экстравагантный выбор.
Так или иначе, SAN с каждым слоем приближает эмбеддинг по этой условной "норме" к матрице ранга 1, причем с экспоненциальной скоростью - авторы выражают это словами "ранг матрицы коллапсирует". Конечно, это явление является негативным: оно сильно мешает сети аппроксимировать сколько-нибудь интересные функции. Как же быть? Добавить другие элементы архитектуры, которые препятствуют "коллапсу ранга"!
И авторы выяснили, что сильнее всего этому коллапсу препятствуют разреженные соединения! Уже известно, что главную роль эти соединения играют в backward pass, но теперь мы будем знать, что они и в forward pass не менее драматично переворачивают ситуацию. Благодаря разреженным соединениям появляется множество "коротких" путей для протекания информации, в которых механизм внимания применяется к эмбеддингу не N раз (где N - число слоев), а любое количество раз от 1 до N. Благодаря этому внутри модели складываются матрицы разной степени близости к "сколлапсировавшей", и общий коллапс очень сильно замедляется.
Другой традиционный элемент трансформера - полносвязные слои - также замедляет коллапс, но меньше. Ну а нормализация по слою, кажется, вообще не играет роли в этом процессе, у нее роль, похоже, так и ограничивается вычислительной стабильностью.
Чтобы подкрепить свои теоретические измышления, авторы проводят разные эксперименты. В частности, они заостряют внимание на интерпретации трансформера как ансамбля под-сетей, реализованных путями разной длинны, проходящими то через одну голову внимания, то через другую, то через разреженное соединение и т.д.. (Рис. 1 ниже, также известный как Figure 1). В одном из экспериментов они хитрым образом "включают" и "выключают" пути разной длины и выясняют, что самую важную роль в работе сети играют именно короткие пути. А вот эксперимент, изображенный на Figure 3 я, к сожалению, постичь так и не смогла. 😔 Он описан непонятно.
Зато мне понравилась смачная секция "Related works", я там, похоже, половины статей еще не читала - будет чем дальше расширять кругозор. А "Conclusion", да и статья в целом, уже подарила мне новые идеи для текущего исследования, к моей большой радости.
#объяснения_статей
👍19🔥5
Google анонсировал скорый выход в публичный доступ нового объекта для кибербуллинга изучения с помощью вопросов про то, как сделать бомбу, сколько ног и глаз у разных животных и каков сюжет зелёного слоника.
https://blog.google/technology/ai/bard-google-ai-search-updates/
https://blog.google/technology/ai/bard-google-ai-search-updates/
Google
An important next step on our AI journey
Introducing Bard (now Gemini), Google's conversational AI service — plus, new AI features in Search.
😁7👍1
Иногда я посматриваю страницы известных исследователей в Google Scholar и смотрю, какие из их статей лучше всего цитировались. Иногда иду чуть глубже и пытаюсь понять, как они могли дойти до тех или иных идей, проверяя содержимое самых высоко цитируемых статей, а то и тех статей, на которые там ссылаются (если есть свободное время).
В этот раз я решила посмотреть сколяр Хинтона:
https://scholar.google.com/citations?user=JicYPdAAAAAJ&hl=en&oi=ao
и меня заинтересовало, что в статьях про алгоритм обратного распространения ошибки - Learning representations by back-propagating errors и Learning internal representations by error-propagation, первый автор вовсе не Hinton, а некий Rumelhart. Немного покопав, я обнаружила, что backpropagation и правда придумал не Хинтон, что он подтвердил сам:
А вот биография Румельхарта, который, по словам Хинтона, изобрел backprop независимо от других исследователей:
https://www.nytimes.com/2011/03/19/health/19rumelhart.html
В общем, человек занимался нейросетевыми методами прямо в разгар зимы искуственного интеллекта ( https://ru.wikipedia.org/wiki/%D0%97%D0%B8%D0%BC%D0%B0_%D0%B8%D1%81%D0%BA%D1%83%D1%81%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B8%D0%BD%D1%82%D0%B5%D0%BB%D0%BB%D0%B5%D0%BA%D1%82%D0%B0 ), продолжал верить в эти методы, развивать их и ждать весны, которую так и не застал, умерев в 2011 году, а разум потеряв еще на несколько лет раньше. Как же жалко, что он так и не узнал, насколько глубокие последствия его работы принесли в мир. Вместо этого беднягу ждал страшный конец, который я внесу под спойлер.
В 1998 году чел был вынужден оставить работу в академии (Стэнфорд) из-за нейродегенеративного заболевания - болезни Пика, которая к этому времени начала мешать ему думать, рассуждать и, соответственно, заниматься наукой. Эта болезнь очень похожа на Альцгеймер и являет собой некую издевку природы над ученым, который всю жизнь посвятил развитию разума, постепенно отнимая у него всё, во что он вложил столько усилий. По мере дальнейшего прогрессирования болезни люди медленно теряют способность читать, считать, понимать речь окружающих - происходит полное разрушение разума и личности до состояния глубокого слабоумия. После этого человек просто лежит на кровати и срет под себя пока не умрет от разрушения ЦНС либо, при не очень хорошем уходе - от инфицирования пролежней, которые являют собой глубокие гноящиеся раны и порой причиняют страшную боль. Скорее всего, все эти стадии он и проходил, медленно умирая в течение последующих 13 лет.
Дополнительную частичку грусти этой невеселой истории добавляет то, что по итогу челик намного меньше известен в ML сообществе, чем Хинтон, и его вклад явно сильно недооценен.
Статьи Румельхарта: https://dl.acm.org/profile/81375594900/publications?Role=author
#ML_отцов
В этот раз я решила посмотреть сколяр Хинтона:
https://scholar.google.com/citations?user=JicYPdAAAAAJ&hl=en&oi=ao
и меня заинтересовало, что в статьях про алгоритм обратного распространения ошибки - Learning representations by back-propagating errors и Learning internal representations by error-propagation, первый автор вовсе не Hinton, а некий Rumelhart. Немного покопав, я обнаружила, что backpropagation и правда придумал не Хинтон, что он подтвердил сам:
“I have never claimed that I invented backpropagation. David Rumelhart invented it independently long after people in other fields had invented it. It is true that when we first published we did not know the history so there were previous inventors that we failed to cite. What I have claimed is that I was the person to clearly demonstrate that backpropagation could learn interesting internal representations and that this is what made it popular.”Оригинал высказывания: https://www.reddit.com/r/MachineLearning/comments/g5ali0/comment/fo8rew9/?utm_source=share&utm_medium=web2x . В этом же треде можно узнать другие аспекты истории алгоритма backprop, в частности, имена других челиков, которые пробовали делать похожие алгоритмы, начиная с 1970 года.
А вот биография Румельхарта, который, по словам Хинтона, изобрел backprop независимо от других исследователей:
https://www.nytimes.com/2011/03/19/health/19rumelhart.html
В общем, человек занимался нейросетевыми методами прямо в разгар зимы искуственного интеллекта ( https://ru.wikipedia.org/wiki/%D0%97%D0%B8%D0%BC%D0%B0_%D0%B8%D1%81%D0%BA%D1%83%D1%81%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B8%D0%BD%D1%82%D0%B5%D0%BB%D0%BB%D0%B5%D0%BA%D1%82%D0%B0 ), продолжал верить в эти методы, развивать их и ждать весны, которую так и не застал, умерев в 2011 году, а разум потеряв еще на несколько лет раньше. Как же жалко, что он так и не узнал, насколько глубокие последствия его работы принесли в мир. Вместо этого беднягу ждал страшный конец, который я внесу под спойлер.
Статьи Румельхарта: https://dl.acm.org/profile/81375594900/publications?Role=author
#ML_отцов
Google
Geoffrey Hinton
Emeritus Prof. Computer Science, University of Toronto - Cited by 975,039 - machine learning - psychology - artificial intelligence - cognitive science - computer science
😢26👍4
Мне кажется или у HR на Линкедин уже потихоньку начинается весеннее обострение? Что-то они в последнее время активизировались.
Возможно, тем читателям, кто в поиске работы, тоже стоит проявить активность.
Возможно, тем читателям, кто в поиске работы, тоже стоит проявить активность.
Давно хотела посоветовать свой любимый подкаст про технологии, и вчера они как раз дали повод это сделать - выпустили эпизод про нашу любимую модель:
https://zapuskzavtra.libsyn.com/chatgpt
В выпуске рассказывается про темы, связанные не только с ChatGPT, но и с GPT-2/3. В том числе затронута тема стартапов, которые используют доступ к этим моделям через API в своих продуктах. Рассказчик-гость эпизода ранее работал в Replica в роли Head of AI и поэтому имеет свою собственную историю на эту тему, с которой я прооралась.😂 То, как подошли к обсуждению вопроса наличия сознания у больших моделей в начале выпуска мне, правда, не очень понравилось, но, так и быть, в этот раз душнить не буду!
А вот еще несколько моих любимых выпусков:
https://zapuskzavtra.libsyn.com/-iphone
В этом выпуске рассказывается про то, как изготавливаются современные процессоры. Я слушала его, когда ехала на работу в автобусе, но к середине прослушивания автобус вокруг словно исчез, а я как бы оказалась в научно-фантатическом фильме, настолько увлекательно и красочно описаны все эти сверх-чистые лаборатории и сверх-точные технологические процессы. Кроме того, меня поразила длина и хрупкость производственных цепочек, через которые чип проходит прежде чем оказаться в компьютере или телефоне.
https://zapuskzavtra.libsyn.com/h4zvpz8xv3cv
Послушав этот выпуск, я, наконец, немножко поняла, что такое квантовые компьютеры и запутанность (в моем базовом курсе квантмеха в универе до этого не дошло). Очень заинтересовало то, что квантовые вычисления на протяжении последних десятилетий преодолели уже несколько препятствующих их развитию барьеров один за другим, что в эту тему все больше инвестируют большие корпорации, а также то, что Google уже начал вводить для каких-то вещей постквантовые алгоритмы шифрования. Думаю, это аргументы в пользу того, чтобы следить за новостями в этой области. Чем черт не шутит, может быть лет через десять-пятнадцать настанет пора переквалифицироваться в квантового MLщика. 🤔
https://zapuskzavtra.libsyn.com/ouyk5ev41yzr
История развития журнала "Хакер". Во время прослушивания не покидала ностальгия по нулевым, когда я находила этот журнал в библиотеках и читала истории из него, воображая себе как вырасту и взломаю Пентагон (вопрос "зачем" подростковвй мозг себе не задавал). А если удавалось накопить на покупку "Хакера" в ларьке вместе с диском, это была большая радость, ведь на этих дисках можно было найти множество полезных утилит, а иногда и дистрибутив какой-нибудь ОС - Линукса или FreeBSD.
https://zapuskzavtra.libsyn.com/k15wwhke3n5s
https://zapuskzavtra.libsyn.com/arse0vj75ds0
Ну и на засыпку еще два общеобразовательных выпуска - про то, как устроены Интернет и Сотовая связь. Естественно, все изложение сдобрено интересными рассказиками и прикольными историями из практики рассказчиков, работа которых как раз очень тесно связана с тематиками выпусков.
В описании к эпизодам часто можно найти ссылки на дополнительные статьи и материалы. А еще подкаст есть в Яндекс музыке и на Apple Подкастах.
#подкасты #учебные_материалы
https://zapuskzavtra.libsyn.com/chatgpt
В выпуске рассказывается про темы, связанные не только с ChatGPT, но и с GPT-2/3. В том числе затронута тема стартапов, которые используют доступ к этим моделям через API в своих продуктах. Рассказчик-гость эпизода ранее работал в Replica в роли Head of AI и поэтому имеет свою собственную историю на эту тему, с которой я прооралась.
А вот еще несколько моих любимых выпусков:
https://zapuskzavtra.libsyn.com/-iphone
В этом выпуске рассказывается про то, как изготавливаются современные процессоры. Я слушала его, когда ехала на работу в автобусе, но к середине прослушивания автобус вокруг словно исчез, а я как бы оказалась в научно-фантатическом фильме, настолько увлекательно и красочно описаны все эти сверх-чистые лаборатории и сверх-точные технологические процессы. Кроме того, меня поразила длина и хрупкость производственных цепочек, через которые чип проходит прежде чем оказаться в компьютере или телефоне.
https://zapuskzavtra.libsyn.com/h4zvpz8xv3cv
Послушав этот выпуск, я, наконец, немножко поняла, что такое квантовые компьютеры и запутанность (в моем базовом курсе квантмеха в универе до этого не дошло). Очень заинтересовало то, что квантовые вычисления на протяжении последних десятилетий преодолели уже несколько препятствующих их развитию барьеров один за другим, что в эту тему все больше инвестируют большие корпорации, а также то, что Google уже начал вводить для каких-то вещей постквантовые алгоритмы шифрования. Думаю, это аргументы в пользу того, чтобы следить за новостями в этой области. Чем черт не шутит, может быть лет через десять-пятнадцать настанет пора переквалифицироваться в квантового MLщика. 🤔
https://zapuskzavtra.libsyn.com/ouyk5ev41yzr
История развития журнала "Хакер". Во время прослушивания не покидала ностальгия по нулевым, когда я находила этот журнал в библиотеках и читала истории из него, воображая себе как вырасту и взломаю Пентагон (вопрос "зачем" подростковвй мозг себе не задавал). А если удавалось накопить на покупку "Хакера" в ларьке вместе с диском, это была большая радость, ведь на этих дисках можно было найти множество полезных утилит, а иногда и дистрибутив какой-нибудь ОС - Линукса или FreeBSD.
https://zapuskzavtra.libsyn.com/k15wwhke3n5s
https://zapuskzavtra.libsyn.com/arse0vj75ds0
Ну и на засыпку еще два общеобразовательных выпуска - про то, как устроены Интернет и Сотовая связь. Естественно, все изложение сдобрено интересными рассказиками и прикольными историями из практики рассказчиков, работа которых как раз очень тесно связана с тематиками выпусков.
В описании к эпизодам часто можно найти ссылки на дополнительные статьи и материалы. А еще подкаст есть в Яндекс музыке и на Apple Подкастах.
#подкасты #учебные_материалы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12❤2👍1
Есть ли смысл писать посты с разбором "на пальцах" очевидных заблуждений, связанных с нейросетями: например, разобрать почему Midjorney не может предсказать будущее человечества или почему нет смысла спрашивать у chatGPT, имеет ли он сознание?
Anonymous Poll
32%
Да (я совсем не понимаю ML, и поэтому мне интересно)
51%
Да (я понимаю ML, но мне все равно интересно как автор канала ответит на подобные вопросы)
6%
Не знаю
12%
Нет
#на_пальцах
Почему генератор картинок на основе StableDiffusion не может предсказывать будущее Вселенной.
https://youtube.com/shorts/-WFQVKdIfqM?feature=share
В этом (и других подобных) видео все преподносится так словно бы генеративная нейросеть на основе stable diffusion способна как человек, сесть и задуматься над глубокими научными и философскими вопросами, в данном случае, о том, каково прошлое и будущее Вселенной и Человечества, и составить свое мнение на этот счёт.😂
Естественно, в реальности обучение (и сама архитектура) нейросети подобного типа устроены так, что таких способностей она приобрести никак не может. Её просто учат "смотреть" на картинки из интернета и "списывать, но не точь-в-точь". Другими словами, нейросеть учат генерировать картинки, более-менее похожие на то, что было в обучающей выборке, но в то же время добавлять в них и элемент случайности, делая их достаточно разнообразными, чтобы кожаные не скучали. А параллельно с картинкой ей показывают еще и подпись, в результате чего она выучивает, какое есть соответствие между картинками и словами. Если правильно настроить этот процесс, нейросеть в дальнейшем успешно генерирует картинки по заданному тексту, в том числе и делая комбинации, которых не было в обучающей выборке (Конечно, я опускаю тут все детали касательно того, как именно она эта делает - например, что генерация происходит в несколько этапов, обучение может быть устроено несколько сложнее и т.д., потому что думаю, что это не релевантно текущему посту).
По итогу, то, как такая нейросеть "видит мир" очень сильно отличается от того, как видит его человек. Например, она не понимает, что фотографии, которые ей показывают, являются изображениями трехмерных объектов; ее представления о пространстве вообще очень ограничены. Так, по умолчанию она имеет большие сложности с тем, чтобы понимать, что такое повороты картинки, что такое пространственные отношения типа "на", "под" и т.п. Все эти сложности вызваны не только ограничениями архитектуры, но и тем, что она воспринимает изображение как плоский набор пикселей и ничего больше, ведь у нее нет опыта прямого взаимодействия с реальным миром как у нас. Есть, конечно, много работ где модели по разному пытаются научить преодолеть эти сложности, но это не те модели, которые генерируют картинки для подобных видео.
Конечно, нейросеть молодец что при всех своих ограничениях может веселить народ (в чем, собственно, и заключается цель ее существования). Но ожидать от нее что она будет понимать что такое реальный мир и его закономерности, в той степени, как мы, не приходится.
Кроме того, если посмотреть полное видео (оно прикольное):
https://youtu.be/yX9aQFq8Sng ,
будет видно, что в нем на самом деле есть несколько дискретных сцен определенной тематики, в рамках которых происходит генерация, и которые потом переходят в друг друга. Так что скорее всего, человек просто вводил вполне конкретные отдельные промпты с описанием того, что надо показать (в духе "dinosaurs in the forest"), а потом делал по нескольку генераций на каждый плюс переходы. В итоге нейросеть честно попыталась предсказать, что автор промптов хотел увидеть в ответ на свой текст (на основании того, что нарисовали по этому поводу другие люди), что мы и видим на видео.
Впрочем, в одном нейросеть меня переиграла: она потратила на генерацию двухголовых динозавров с тремя ногами явно меньше времени, чем я потратила на разбор ржаки, смонтированной на коленке из исходного видоса ради рекламы каких-то додиков.🚬
Почему генератор картинок на основе StableDiffusion не может предсказывать будущее Вселенной.
https://youtube.com/shorts/-WFQVKdIfqM?feature=share
В этом (и других подобных) видео все преподносится так словно бы генеративная нейросеть на основе stable diffusion способна как человек, сесть и задуматься над глубокими научными и философскими вопросами, в данном случае, о том, каково прошлое и будущее Вселенной и Человечества, и составить свое мнение на этот счёт.
Естественно, в реальности обучение (и сама архитектура) нейросети подобного типа устроены так, что таких способностей она приобрести никак не может. Её просто учат "смотреть" на картинки из интернета и "списывать, но не точь-в-точь". Другими словами, нейросеть учат генерировать картинки, более-менее похожие на то, что было в обучающей выборке, но в то же время добавлять в них и элемент случайности, делая их достаточно разнообразными, чтобы кожаные не скучали. А параллельно с картинкой ей показывают еще и подпись, в результате чего она выучивает, какое есть соответствие между картинками и словами. Если правильно настроить этот процесс, нейросеть в дальнейшем успешно генерирует картинки по заданному тексту, в том числе и делая комбинации, которых не было в обучающей выборке (Конечно, я опускаю тут все детали касательно того, как именно она эта делает - например, что генерация происходит в несколько этапов, обучение может быть устроено несколько сложнее и т.д., потому что думаю, что это не релевантно текущему посту).
По итогу, то, как такая нейросеть "видит мир" очень сильно отличается от того, как видит его человек. Например, она не понимает, что фотографии, которые ей показывают, являются изображениями трехмерных объектов; ее представления о пространстве вообще очень ограничены. Так, по умолчанию она имеет большие сложности с тем, чтобы понимать, что такое повороты картинки, что такое пространственные отношения типа "на", "под" и т.п. Все эти сложности вызваны не только ограничениями архитектуры, но и тем, что она воспринимает изображение как плоский набор пикселей и ничего больше, ведь у нее нет опыта прямого взаимодействия с реальным миром как у нас. Есть, конечно, много работ где модели по разному пытаются научить преодолеть эти сложности, но это не те модели, которые генерируют картинки для подобных видео.
Конечно, нейросеть молодец что при всех своих ограничениях может веселить народ (в чем, собственно, и заключается цель ее существования). Но ожидать от нее что она будет понимать что такое реальный мир и его закономерности, в той степени, как мы, не приходится.
Кроме того, если посмотреть полное видео (оно прикольное):
https://youtu.be/yX9aQFq8Sng ,
будет видно, что в нем на самом деле есть несколько дискретных сцен определенной тематики, в рамках которых происходит генерация, и которые потом переходят в друг друга. Так что скорее всего, человек просто вводил вполне конкретные отдельные промпты с описанием того, что надо показать (в духе "dinosaurs in the forest"), а потом делал по нескольку генераций на каждый плюс переходы. В итоге нейросеть честно попыталась предсказать, что автор промптов хотел увидеть в ответ на свой текст (на основании того, что нарисовали по этому поводу другие люди), что мы и видим на видео.
Впрочем, в одном нейросеть меня переиграла: она потратила на генерацию двухголовых динозавров с тремя ногами явно меньше времени, чем я потратила на разбор ржаки, смонтированной на коленке из исходного видоса ради рекламы каких-то додиков.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Как Искусственный Интеллект создал ИЛЛЮЗОРНЫЙ МИР / Нейросеть и как на самом деле создавался мир!
Этот туториал поможет вам ответить на вопрос, как создать игру для начинающих.Первое, что вам нужно знать, это основная терминология. Гейм-дизайн — это проце...
🔥9👍3
Здесь должна быть мотивирующая надпись в духе "если ты стесняешься своих маленьких научных результатов, посмотри с чего начинали Boston Dynamics", плюс какие-нибудь поучения что надо не сдаваться и т.д. и т.п., сами придумайте
https://youtu.be/E7qJQ2i47ZY
https://youtu.be/E7qJQ2i47ZY
❤8🔥4👏1
Ладно, не буду больше откладывать и напишу про свою линию исследований про TDA в NLP.
Все началось с моей старой, совсем неказистой статьи https://www.mathnet.ru/php/archive.phtml?wshow=paper&jrnid=ista&paperid=225 (годов 2018-2019), которую я написала в аспирантуре с небольшой помощью друга (соавтора) и научника. По всей видимости, эти два человека - единственные, кто прочитал ее целиком (рецензирование в журнале Интеллектуальные системы, мягко говоря, хромает), поэтому я не уверена ни в том, что там нет ошибок, ни в том, что это не велосипед.
Теоретическая часть статьи (сейчас будет скриммер в виде мат.терминов) заключалась в том, что я определила персистентные гомологии (условно) "на Марковских цепях" через прокси-конструкцию - неориентированный граф, вершины которого совпадают с состояниями Марковской цепи, а вес ребра между двумя состояниями соответствует сумме вероятностей перехода из первого во второе и из второго в первое. На таком графе уже можно ввести фильтрацию и через нее пробросить определение персистентности, порадовав читателей рядом лемм и теорем и бесконечными (в буквальном смысле) коммутативными диаграммами.
Практическая часть статьи заключалась в том, что я показала, как с помощью этих гомологий отличать осмысленные тексты от текстов с перемешанными словами. А именно, я обучила 50 Марковских цепей на текстах, написанных людьми и 50 - на текстах с теми же наборами слов, но перемешанными. Затем по каждой Марковской цепи посчитала размерности своих групп гомологий (самых-самых простых, которые соответствуют количеству компонент связности прокси-графа на разных порогах) и получила 100 векторов с признаками. Затем на 90 примерах обучила лог.регрессию, и она "очень хорошо" предсказала по оставшимся 10 примерам, построены ли они по текстам, написанным человеком, либо по текстам с перемешанными словами.
Это "очень хорошо" в статье было расписано словами "с точностью от 96% до 100%", которые я, спустя пять лет, уже совсем не понимаю. Как на множестве из 10 примеров в принципе могла быть достигнута точность, не кратная 10%? Может быть, это усреднение по нескольким запускам? Но откуда тогда взялись 100%? Это точность на трейне? Никто уже не ответит на эти вопросы. Как бы то ни было, мой метод побеждал Bag of Words, который по определению не мог отличить текст с перемешанными словами от связного текста, что в тот момент принесло мне достаточно удовлетворения для того, чтобы опубликоваться.
В общем, в то время у меня было слабое представление о том, как надо ставить и описывать эксперименты для статей по машинному обучению, поэтому практическая часть получилась такой невнятной. Не повторяйте моих ошибок и всегда описывайте результаты в статьях как можно более точно и внятно, чтобы потом сами не забыть, что они означают. А лучше всего найдите хорошего научного руководителя, который будет целенаправленно учить вас писать хорошие статьи.
Тем не менее, какой бы ни была спорной эта статья, она стала одним из моих первых шагов к публикациям в области машинного обучения (раз речь про ML, я не учитываю свои изыски в элементарной математике и в чистой алгебраической топологии). Так сказатб, эта статья стала той самой непонятной прыгающей фигней из начала видео про Boston Dynamics, которая выглядела как техноересь, но потом дала начало чему-то большему.
#объяснения_статей
Все началось с моей старой, совсем неказистой статьи https://www.mathnet.ru/php/archive.phtml?wshow=paper&jrnid=ista&paperid=225 (годов 2018-2019), которую я написала в аспирантуре с небольшой помощью друга (соавтора) и научника. По всей видимости, эти два человека - единственные, кто прочитал ее целиком (рецензирование в журнале Интеллектуальные системы, мягко говоря, хромает), поэтому я не уверена ни в том, что там нет ошибок, ни в том, что это не велосипед.
Теоретическая часть статьи (сейчас будет скриммер в виде мат.терминов) заключалась в том, что я определила персистентные гомологии (условно) "на Марковских цепях" через прокси-конструкцию - неориентированный граф, вершины которого совпадают с состояниями Марковской цепи, а вес ребра между двумя состояниями соответствует сумме вероятностей перехода из первого во второе и из второго в первое. На таком графе уже можно ввести фильтрацию и через нее пробросить определение персистентности, порадовав читателей рядом лемм и теорем и бесконечными (в буквальном смысле) коммутативными диаграммами.
Практическая часть статьи заключалась в том, что я показала, как с помощью этих гомологий отличать осмысленные тексты от текстов с перемешанными словами. А именно, я обучила 50 Марковских цепей на текстах, написанных людьми и 50 - на текстах с теми же наборами слов, но перемешанными. Затем по каждой Марковской цепи посчитала размерности своих групп гомологий (самых-самых простых, которые соответствуют количеству компонент связности прокси-графа на разных порогах) и получила 100 векторов с признаками. Затем на 90 примерах обучила лог.регрессию, и она "очень хорошо" предсказала по оставшимся 10 примерам, построены ли они по текстам, написанным человеком, либо по текстам с перемешанными словами.
Это "очень хорошо" в статье было расписано словами "с точностью от 96% до 100%", которые я, спустя пять лет, уже совсем не понимаю. Как на множестве из 10 примеров в принципе могла быть достигнута точность, не кратная 10%? Может быть, это усреднение по нескольким запускам? Но откуда тогда взялись 100%? Это точность на трейне? Никто уже не ответит на эти вопросы. Как бы то ни было, мой метод побеждал Bag of Words, который по определению не мог отличить текст с перемешанными словами от связного текста, что в тот момент принесло мне достаточно удовлетворения для того, чтобы опубликоваться.
В общем, в то время у меня было слабое представление о том, как надо ставить и описывать эксперименты для статей по машинному обучению, поэтому практическая часть получилась такой невнятной. Не повторяйте моих ошибок и всегда описывайте результаты в статьях как можно более точно и внятно, чтобы потом сами не забыть, что они означают. А лучше всего найдите хорошего научного руководителя, который будет целенаправленно учить вас писать хорошие статьи.
Тем не менее, какой бы ни была спорной эта статья, она стала одним из моих первых шагов к публикациям в области машинного обучения (раз речь про ML, я не учитываю свои изыски в элементарной математике и в чистой алгебраической топологии). Так сказатб, эта статья стала той самой непонятной прыгающей фигней из начала видео про Boston Dynamics, которая выглядела как техноересь, но потом дала начало чему-то большему.
#объяснения_статей
👍25🔥7
Про какую статью написать дальше?
1. Отвергнутая с NeurIPS TDA Workshop мини-статья про TDA+BERT - https://openreview.net/forum?id=KaPw8VdbNr4 (2020). 2. Принятая на EMNLP статья побольше - https://aclanthology.org/2021.emnlp-main.50/ (2021).
1. Отвергнутая с NeurIPS TDA Workshop мини-статья про TDA+BERT - https://openreview.net/forum?id=KaPw8VdbNr4 (2020). 2. Принятая на EMNLP статья побольше - https://aclanthology.org/2021.emnlp-main.50/ (2021).
Anonymous Poll
57%
1 - проследить хронологический порядок развития мысли о применении TDA к языковым моделям
21%
2 - сразу перейти к более успешной статье с хорошими экспериментами и цветными картинками
22%
Не знаю
1%
Ни про какую
В начале 2020го меня позвали собеседоваться в Хуавей и попросили рассказать об опыте работы и исследованиях в аспирантуре. Соответственно, я рассказала про статью из предыдущего поста, и будущих коллег заинтересовали идеи, которые в ней были изложены. Тимлид (Ирина) предложила мне изменить исследование следующим образом: перейти от Марковских цепей к анализу графа внимания в трансформере, а от задачи детекции текстов с перемешанными словами - к задачам, где тексты различаются более тонким образом. Это я и стала делать вместе с ней и еще одним соавтором (Дмитрием, профессором алгебры).
Результатом стала работа того же 2020го "Betti numbers of attention graphs is all you really need" (если что, название предложила я, так что если хочется покекать над отсутствием оригинальности, это вопрос ко мне, а не к соавторам)): https://openreview.net/forum?id=KaPw8VdbNr4
В этой работе количество собственно топологии резко уменьшилось, редуцировавшись до описания двух элементарных инвариантов (числа Бетти размерности 0 и 1) и отсылке на персистентность, про которую нужно читать где-то в другом месте, а количество ML, напротив, возросло.
В общем случае, числа Бетти являют собой размерности первых двух групп гомологий многообразия или комплекса. Но для такого простого комплекса, как граф (симплициальный комплекс с симплексами размерности 0 и 1), числа Бетти имеют простую интерпретацию и вычисляются по простым формулам, которые можно понять, и не зная топологии.
А именно, нулевое число Бетти графа b0 =| C |, а первое b1 = |E| + |C| - |V|, где C - компоненты связности, E - ребра, V - вершины. Т.е. нулевое число Бетти графа - это количество его компонент связности, а первое - это количество независимых циклов в графе.
Эксперименты в статье были устроены так. Бралась стандартная модель BERT, через нее пропускались примеры из датасетов. По каждому примеру вычислялись матрицы внимания на каждой голове BERT. По каждой матрице внимания строился граф. Затем он делался неориентированным: каждому ребру назначался вес, равный максимуму весов в направлениях туда-обратно. Затем бралось несколько "фильтраций" каждого графа по разным порогам. Каждая фильтрация получалась из исходного графа путем отсечения ребер, меньших, чем заданный порог. Наконец, на этих фильтраций считались числа Бетти. В итоге, каждому примеру датасета сопоставлялись числа Бетти графов, полученных таким слегка замысловатым образом из исходных графов внимания на разных головах. Далее числа Бетти использовались как фичи для классификатора (логистической регрессии), и на каждом датасете оценивалась точность классификации по ним.
Датасетов было три - SPAM (детекция спама), Imdb (классификация отзывов по тональности), CoLA (детекция предложений с ошибками).
Оказалось, что качество классификации по числам Бетти было +- наравне с качеством, который давал сам BERT на этих датасетах со стандартным классификатором, навешанным на выход модели. Другими словами, числа Бетти графов внимания BERT содержали в себе достаточно информации для того, чтобы провести классификацию на этих датасетах, выход самой модели для этого оказалось использовать не обязательно.
К сожалению, ревьюерам не понравилось то, как была написана статья (некоторые части были изложены не совсем ясно), как были выбраны задачи и как поставлены эксперименты. Они дали несколько предложений о том, как можно улучшить эту линию исследований, которыми мы воспользовались при подготовке следующей статьи.
Слабым местом данной статьи являлось и то, что графы внимания извлекались из модели BERT после того, как она была отдельно дообучена на каждом датасете, что уменьшало ценность результата. В следующей работе мы, кроме прочего, показали, что можно точно также извлекать числа Бетти из BERT, который был взят "из коробки" и не был дообучен на отдельных датасетах, и все равно делать по ним хорошую классификацию - правда, уже на другой задаче. Ну а эта маленькая статья так и осталась висеть на openreview до тех пор, пока мы не переродили ее на архиве: https://arxiv.org/abs/2207.01903
#объяснения_статей #о_себе
Результатом стала работа того же 2020го "Betti numbers of attention graphs is all you really need" (если что, название предложила я, так что если хочется покекать над отсутствием оригинальности, это вопрос ко мне, а не к соавторам)): https://openreview.net/forum?id=KaPw8VdbNr4
В этой работе количество собственно топологии резко уменьшилось, редуцировавшись до описания двух элементарных инвариантов (числа Бетти размерности 0 и 1) и отсылке на персистентность, про которую нужно читать где-то в другом месте, а количество ML, напротив, возросло.
В общем случае, числа Бетти являют собой размерности первых двух групп гомологий многообразия или комплекса. Но для такого простого комплекса, как граф (симплициальный комплекс с симплексами размерности 0 и 1), числа Бетти имеют простую интерпретацию и вычисляются по простым формулам, которые можно понять, и не зная топологии.
А именно, нулевое число Бетти графа b0 =| C |, а первое b1 = |E| + |C| - |V|, где C - компоненты связности, E - ребра, V - вершины. Т.е. нулевое число Бетти графа - это количество его компонент связности, а первое - это количество независимых циклов в графе.
Эксперименты в статье были устроены так. Бралась стандартная модель BERT, через нее пропускались примеры из датасетов. По каждому примеру вычислялись матрицы внимания на каждой голове BERT. По каждой матрице внимания строился граф. Затем он делался неориентированным: каждому ребру назначался вес, равный максимуму весов в направлениях туда-обратно. Затем бралось несколько "фильтраций" каждого графа по разным порогам. Каждая фильтрация получалась из исходного графа путем отсечения ребер, меньших, чем заданный порог. Наконец, на этих фильтраций считались числа Бетти. В итоге, каждому примеру датасета сопоставлялись числа Бетти графов, полученных таким слегка замысловатым образом из исходных графов внимания на разных головах. Далее числа Бетти использовались как фичи для классификатора (логистической регрессии), и на каждом датасете оценивалась точность классификации по ним.
Датасетов было три - SPAM (детекция спама), Imdb (классификация отзывов по тональности), CoLA (детекция предложений с ошибками).
Оказалось, что качество классификации по числам Бетти было +- наравне с качеством, который давал сам BERT на этих датасетах со стандартным классификатором, навешанным на выход модели. Другими словами, числа Бетти графов внимания BERT содержали в себе достаточно информации для того, чтобы провести классификацию на этих датасетах, выход самой модели для этого оказалось использовать не обязательно.
К сожалению, ревьюерам не понравилось то, как была написана статья (некоторые части были изложены не совсем ясно), как были выбраны задачи и как поставлены эксперименты. Они дали несколько предложений о том, как можно улучшить эту линию исследований, которыми мы воспользовались при подготовке следующей статьи.
Слабым местом данной статьи являлось и то, что графы внимания извлекались из модели BERT после того, как она была отдельно дообучена на каждом датасете, что уменьшало ценность результата. В следующей работе мы, кроме прочего, показали, что можно точно также извлекать числа Бетти из BERT, который был взят "из коробки" и не был дообучен на отдельных датасетах, и все равно делать по ним хорошую классификацию - правда, уже на другой задаче. Ну а эта маленькая статья так и осталась висеть на openreview до тех пор, пока мы не переродили ее на архиве: https://arxiv.org/abs/2207.01903
#объяснения_статей #о_себе
openreview.net
Betti numbers of attention graphs is all you really need
We apply methods of topological analysis to the attention graphs, calculated on the attention heads of the BERT model
🔥19👍2❤1
Естественно, мы с коллегами далеко не единственные кто интересуется свойствами матриц/графов внимания в трансформерах и пишет про это, хотя и являемся (насколько мне известно) первыми, кто начал изучать их топологию и графовые свойства в контексте задач обработки естественного языка.
Вот две самых известных статьи про паттерны в матрицах внимания BERT, в которых матрицы внимания были разделены на разные типы, и была изучена роль этих типов:
https://aclanthology.org/W19-4828/
https://aclanthology.org/D19-1445/
Эти статьи были одним из источников вдохновения для нашей следующей работы, которая уже попала на EMNLP в 2021 году, и в которой не только рассматривалась более продвинутая топология матриц внимания, но и их похожесть на паттерны из этих статей.
А ниже я репостну инфу про другую линейку работ, которая посвящена интересным свойствам матриц внимания в трансформерах для компьютерного зрения. Как всегда, при работе с картинками все оказывается намного более наглядным...
Вот две самых известных статьи про паттерны в матрицах внимания BERT, в которых матрицы внимания были разделены на разные типы, и была изучена роль этих типов:
https://aclanthology.org/W19-4828/
https://aclanthology.org/D19-1445/
Эти статьи были одним из источников вдохновения для нашей следующей работы, которая уже попала на EMNLP в 2021 году, и в которой не только рассматривалась более продвинутая топология матриц внимания, но и их похожесть на паттерны из этих статей.
А ниже я репостну инфу про другую линейку работ, которая посвящена интересным свойствам матриц внимания в трансформерах для компьютерного зрения. Как всегда, при работе с картинками все оказывается намного более наглядным...
ACL Anthology
What Does BERT Look at? An Analysis of BERT’s Attention
Kevin Clark, Urvashi Khandelwal, Omer Levy, Christopher D. Manning. Proceedings of the 2019 ACL Workshop BlackboxNLP: Analyzing and Interpreting Neural Networks for NLP. 2019.
👍9
Forwarded from DLStories
Нашла еще один интересный подход к сегментации изображений: с помощью разбиения графа self-attention карты трансформера.
В чем идея:
Берем vision transformer, обученный на картинках в self-supervised режиме. Т.е. без какой-либо обучающей разметки. Смотрим на карты его self-attention. Оказывается, что на этих картах становтся подсвечены контуры объектов (см. 1 рис). Причем такое наблюдается только для трансформеров, обученных в self-supervised режиме: ни для supervised трансформеров, ни для CNN такое не работает.
Одними из первых это свойство заметили ребята из FAIR (статья). Они пошли дальше: взяли эти self-attention карты, обучили на них KNN и получили качество 78.3% top-1 на ImageNet.
Но вернемся к сегментации. Другие ребята придумали, как сделать сегментацию на основе этого свойства. Идея простая: берем элементы self-attention карты трансформера и строим на них граф. Ребро между двумя векторами будет равно 1, если косинусное расстояние между ними больше заданного порога, и eps, если меньше порога. На таким графе решаем задачу разбиения графа (normalized cut). Так элементы карты аттеншена, соответствующие объекту, будут отделены от элементов, соответствующих фону.
Последний шаг — применяем какой-нибудь алгоритм edge refinement (например, стандартный CRF), и получаем неплохую карту сегментации объекта на картинке.
Недостаток такого подхода — он умеет сегментировать только один объект на картинку. Поэтому ребята из FAIR (уже другие) предложили, как улучшить идею. Все просто: находим карту одного объекта. Далее накладываем на патчи self-аттэншена этого объекта маску, и снова запускаем алгоритм. И так несколько раз.
Это позволяет находить на одной картинке сразу несколько объектов (рис. 2).
Вот такая идея. Вообще, attention maps разных трансформеров часто обладают подобными свойствами, и на основе информации из них можно понимать, как "думает" моделька и решать разные downstream задачи. Интересно их исследовать)
В чем идея:
Берем vision transformer, обученный на картинках в self-supervised режиме. Т.е. без какой-либо обучающей разметки. Смотрим на карты его self-attention. Оказывается, что на этих картах становтся подсвечены контуры объектов (см. 1 рис). Причем такое наблюдается только для трансформеров, обученных в self-supervised режиме: ни для supervised трансформеров, ни для CNN такое не работает.
Одними из первых это свойство заметили ребята из FAIR (статья). Они пошли дальше: взяли эти self-attention карты, обучили на них KNN и получили качество 78.3% top-1 на ImageNet.
Но вернемся к сегментации. Другие ребята придумали, как сделать сегментацию на основе этого свойства. Идея простая: берем элементы self-attention карты трансформера и строим на них граф. Ребро между двумя векторами будет равно 1, если косинусное расстояние между ними больше заданного порога, и eps, если меньше порога. На таким графе решаем задачу разбиения графа (normalized cut). Так элементы карты аттеншена, соответствующие объекту, будут отделены от элементов, соответствующих фону.
Последний шаг — применяем какой-нибудь алгоритм edge refinement (например, стандартный CRF), и получаем неплохую карту сегментации объекта на картинке.
Недостаток такого подхода — он умеет сегментировать только один объект на картинку. Поэтому ребята из FAIR (уже другие) предложили, как улучшить идею. Все просто: находим карту одного объекта. Далее накладываем на патчи self-аттэншена этого объекта маску, и снова запускаем алгоритм. И так несколько раз.
Это позволяет находить на одной картинке сразу несколько объектов (рис. 2).
Вот такая идея. Вообще, attention maps разных трансформеров часто обладают подобными свойствами, и на основе информации из них можно понимать, как "думает" моделька и решать разные downstream задачи. Интересно их исследовать)
👏4❤2👍2