This media is not supported in your browser
VIEW IN TELEGRAM
Учу нейросети рисовать котиков
Для создания изображений используется генеративно-состязательная модель. При таком подходе тренируется две нейросети: генератор и дискриминатор. Дискриминатор учится отличать настоящих котов от случайных изображений. Генератор старается запутать дискриминатор и учится генерировать изображения, которые будут приняты за настоящих котов
Каждый кадр здесь – это одна эпоха обучения нейросети. В процессе у генератора получается генерировать всё более правдоподобных котиков
#программирование
Для создания изображений используется генеративно-состязательная модель. При таком подходе тренируется две нейросети: генератор и дискриминатор. Дискриминатор учится отличать настоящих котов от случайных изображений. Генератор старается запутать дискриминатор и учится генерировать изображения, которые будут приняты за настоящих котов
Каждый кадр здесь – это одна эпоха обучения нейросети. В процессе у генератора получается генерировать всё более правдоподобных котиков
#программирование
This media is not supported in your browser
VIEW IN TELEGRAM
Иногда я учу нейросети не только рисовать котиков, но и делать что-то полезное
Недавно решал интересную задачу. На картах, получаемых по геологическим данным, бывают реки. Но иногда участок реки отсутствует: видно только начало и конец. Очевидно, что между ними также должен быть канал. Моей задачей было научить алгоритмы дорисовывать эти участки
На вход нейросети подавались изображения каналов рек со скрытыми участками (средний ряд на гифке). А восстановить она должна была исходные картинки из верхнего ряда. Попытки нейросети видно в нижнем ряду
#программирование
Недавно решал интересную задачу. На картах, получаемых по геологическим данным, бывают реки. Но иногда участок реки отсутствует: видно только начало и конец. Очевидно, что между ними также должен быть канал. Моей задачей было научить алгоритмы дорисовывать эти участки
На вход нейросети подавались изображения каналов рек со скрытыми участками (средний ряд на гифке). А восстановить она должна была исходные картинки из верхнего ряда. Попытки нейросети видно в нижнем ряду
#программирование
Я тоже недавно рассказывал про свою область. Не для пятилетних детей, но говорят, интересно получилось
Видео: https://www.youtube.com/watch?v=a-Wc_bmsAX4
Слайды: https://docs.google.com/presentation/d/1koglWAz1E4uGIZkARomT4OtknWc8N3Ydz2BZjJqIDfY/edit?usp=sharing
#видео #биология #программирование
Видео: https://www.youtube.com/watch?v=a-Wc_bmsAX4
Слайды: https://docs.google.com/presentation/d/1koglWAz1E4uGIZkARomT4OtknWc8N3Ydz2BZjJqIDfY/edit?usp=sharing
#видео #биология #программирование
Пока непонятно, что именно изменят технологии, подобные ChatGPT (есть подозрение, что примерно всё). Но я уже вижу, что они изменили – образование. Буду говорить про сферу IT, так как я наиболее близок к ней, но уверен, что и в других произойдёт что-то похожее, если ещё не.
Очень показательный пример, где ChatGPT уже несравненно лучше других технологий – помощь с ошибками при программировании. Ошибками в компьютерном смысле – когда программа не работает и показывает страшное сообщение. Они возникают десятки раз за день при работе программистом и сотни при обучении. Как с ними справлялись раньше?
• Интеллект или помощь коллег. Когда деревья были большими, а по земле ходили динозавры, люди понимали устройство компьютеров и в случае, когда что-то идёт не так, исправляли ошибки или разбирались, какие биты в памяти оказались повёрнутыми не туда. Если этого сделать не получалось, можно было подумать ещё недельку или спросить помощь у более опытных коллег. Многие программы приходилось писать самостоятельно, потому что их ещё просто не существовало или не было способа обмена
• Книги и документация собирали и обобщали информацию. Если что-то сломалось – читай документацию, чтобы глубже понять технологию, попутно думая о своей проблеме и примеряя к ней полученные знания
• Форумы с появлением интернета позволили воспользоваться коллективным разумом, задав вопрос широкой аудитории. Часто первым сообщением было „Читай документацию, тупорылый ты олень“, но и ответ, и более подробные объяснения получить стало возможно. Уровень персонализации вырос значительно: программист мог получить решение конкретно его проблемы, а не абстрактно изучать технологию
• Stackoverflow – сайт с вопросами и ответами по программированию, построенный так, чтобы мотивировать пользователей задавать хорошие вопросы и писать подробные ответы. Это сильно облегчило вход в профессию: почти на любой распространённый вопрос на этом сайте есть прекрасные решения. Но при серьёзной работе часто сталкиваешься с проблемами впервые. Тогда можно задать вопрос самому и ждать ответа или искать похожие вопросы и пытаться понять, как их решения могут помочь тебе
ChatGPT по моему опыту отлично отвечает даже на узкие вопросы (оговорка:для языка программирования Python ) с объяснением, почему возникла ошибка и какой у неё контекст. Часто больше не нужно искать похожие вопросы, читать чужой код или спрашивать разработчиков. Ты получаешь ответ прямо на свой вопрос и можешь уточнить детали за секунды. Наблюдая за новичком в программировании, я вижу, как быстро она прогрессирует благодаря такой возможности
Кто-то назовёт это деградацией, но эффективность работы возрастает в разы. Всегда можно вернуться к предыдущим способам, если ChatGPT не справляется, но первым инструментом под рукой стала она
#программирование
Очень показательный пример, где ChatGPT уже несравненно лучше других технологий – помощь с ошибками при программировании. Ошибками в компьютерном смысле – когда программа не работает и показывает страшное сообщение. Они возникают десятки раз за день при работе программистом и сотни при обучении. Как с ними справлялись раньше?
• Интеллект или помощь коллег. Когда деревья были большими, а по земле ходили динозавры, люди понимали устройство компьютеров и в случае, когда что-то идёт не так, исправляли ошибки или разбирались, какие биты в памяти оказались повёрнутыми не туда. Если этого сделать не получалось, можно было подумать ещё недельку или спросить помощь у более опытных коллег. Многие программы приходилось писать самостоятельно, потому что их ещё просто не существовало или не было способа обмена
• Книги и документация собирали и обобщали информацию. Если что-то сломалось – читай документацию, чтобы глубже понять технологию, попутно думая о своей проблеме и примеряя к ней полученные знания
• Форумы с появлением интернета позволили воспользоваться коллективным разумом, задав вопрос широкой аудитории. Часто первым сообщением было „Читай документацию, тупорылый ты олень“, но и ответ, и более подробные объяснения получить стало возможно. Уровень персонализации вырос значительно: программист мог получить решение конкретно его проблемы, а не абстрактно изучать технологию
• Stackoverflow – сайт с вопросами и ответами по программированию, построенный так, чтобы мотивировать пользователей задавать хорошие вопросы и писать подробные ответы. Это сильно облегчило вход в профессию: почти на любой распространённый вопрос на этом сайте есть прекрасные решения. Но при серьёзной работе часто сталкиваешься с проблемами впервые. Тогда можно задать вопрос самому и ждать ответа или искать похожие вопросы и пытаться понять, как их решения могут помочь тебе
ChatGPT по моему опыту отлично отвечает даже на узкие вопросы (оговорка:
Кто-то назовёт это деградацией, но эффективность работы возрастает в разы. Всегда можно вернуться к предыдущим способам, если ChatGPT не справляется, но первым инструментом под рукой стала она
#программирование
Программисты 1980-ых: „Фу, С++ слишком высокоуровневый, настоящие программисты общаются с компьютером на С и
Программисты 2000-ых: „Фу, Питон слишком высокоуровневый, настоящие программисты пишут код на C++“
Программисты 2030-ых: пишут код на английском
Навеяно интервью с Andrej Karpathy и рассуждениями про software 2.0. Возможно, программирование будущего будет заключаться в объяснении на человеческом языке, что ты хочешь, и (для особо продвинутых программистов) в ревью кода, сгенерированного нейросетями
#программирование
ассемблере
“Программисты 2000-ых: „Фу, Питон слишком высокоуровневый, настоящие программисты пишут код на C++“
Программисты 2030-ых: пишут код на английском
Навеяно интервью с Andrej Karpathy и рассуждениями про software 2.0. Возможно, программирование будущего будет заключаться в объяснении на человеческом языке, что ты хочешь, и (для особо продвинутых программистов) в ревью кода, сгенерированного нейросетями
#программирование
Для нашей недавней статьи (пока – препринта) меня попросили визуализировать пропущенные значения в данных. Буквально – сделать "NA figure". NA часто обозначают пропущенные значения в таблицах. Проблема была в том, что в наших данных было очень много колонок. Традиционные методы визуализации, такие как столбчатые диаграммы или хитмапы были слишком огромными и не очень информативными
Поэтому я создал библиотеку для визуализации nafig! Она позволяет рисовать столбики названиями колонок из данных. Можно разбить их по процентам пропущенных значений и явно увидеть признаки, которые ведут себя плохо. Также, можно покрасить названия колонок по типам данных или другим интересующим признакам
Буду благодарен звёздочкам на гитхабе и вдвойне благодарен предложениям по улучшению визуализации :)
#программирование
Поэтому я создал библиотеку для визуализации nafig! Она позволяет рисовать столбики названиями колонок из данных. Можно разбить их по процентам пропущенных значений и явно увидеть признаки, которые ведут себя плохо. Также, можно покрасить названия колонок по типам данных или другим интересующим признакам
Буду благодарен звёздочкам на гитхабе и вдвойне благодарен предложениям по улучшению визуализации :)
#программирование
Неожиданная ссылка на российский автопром в иностранной презентации про машинное обучение
Контекст: размечать данные тяжело. Например, подписывать, что именно находится на картинке, если их много, а объекты постоянно меняются. Говоря «BMW», люди имеют ввиду разное сегодня, десять и тридцать лет назад
Далее – цитата докладчика (в переводе, он говорил на английском) : «Если только речь не идёт про Лады, которые остаются необыкновенно похожими уже десятки лет»
#программирование
Контекст: размечать данные тяжело. Например, подписывать, что именно находится на картинке, если их много, а объекты постоянно меняются. Говоря «BMW», люди имеют ввиду разное сегодня, десять и тридцать лет назад
Далее – цитата докладчика
#программирование
Осознание года: серверы так называются, потому что они обслуживают (serve) запросы „клиентов“
#лингвистика #программирование
#лингвистика #программирование
Примеры обработок изображений алгоритмами донейросетевой эпохи – это что-то из фильмов ужасов
Отсюда
#программирование
Отсюда
#программирование
Заменит ли ИИ программистов и причём здесь китовые оргии
Одним летним вечером очень захотелось смоделировать вымирание китов (у вас такого не бывает?). Начнём с простой модели: пусть киты случайным образом плавают по двумерному океану и при встрече производят нового кита. В жизни всё сложнее, но такая модель покажет важный факт: если животных будет достаточно много, они будут встречаться друг с другом часто и поддерживать популяцию. Если же китов станет мало, они могут умереть от старости прежде, чем встретят партнёра, и виду грозит вымирание. Это в теории, но на практике всё пошло не по плану
Сказано –сделано отправлено в чатгпт и уже через 10 секунд электронные киты весело плавают по голубому океану в окне браузера. Вот наконец происходит романтичное столкновение пары и… компьютер намертво зависает. Я повторил моделирование ещё пару раз, но результат был тем же: безграничная любовь морских млекопитающих не вмещалась в оперативную память. Пришлось лезть в код, чтобы разобраться (ужас, прошлый век, может ещё и писать самому?)
Оказалось, искусственный интеллект не слишком позаботился о естественных процессах. После рождения нового кита гордые родители не останавливались и продолжали плодить всё новых китят. Кроме того, тест на родителепригодность был максимально прост: если два животных находятся рядом, они производят потомство. Так как дети рождались сразу и в том же месте, они тоже проходили этот тест и, сливаясь в оргии со своими же родственниками, безостановочно плодили новых китов. Вымирание виду точно не грозило, а вот мой компьютер такой картины мог и не пережить
„Мда, нейросети пока не заменят программистов“, – подумал я, но в ответ на жалобу из всего двух слов – „браузер завис“ – чатгпт нашёл проблемное место, исправил ошибку и предложил возможные улучшения модели
А на следующий день я узнал, что киты и правда размножаются, устраивая оргии. Самец издаёт зов и самки сплываются посмотреть кто это такой громкий, а, раз уж приплыли, заодно и наделать новых китят. Получается, первоначальная модель была не так и далеко от правды?
#биология #программирование
Одним летним вечером очень захотелось смоделировать вымирание китов (у вас такого не бывает?). Начнём с простой модели: пусть киты случайным образом плавают по двумерному океану и при встрече производят нового кита. В жизни всё сложнее, но такая модель покажет важный факт: если животных будет достаточно много, они будут встречаться друг с другом часто и поддерживать популяцию. Если же китов станет мало, они могут умереть от старости прежде, чем встретят партнёра, и виду грозит вымирание. Это в теории, но на практике всё пошло не по плану
Сказано –
Оказалось, искусственный интеллект не слишком позаботился о естественных процессах. После рождения нового кита гордые родители не останавливались и продолжали плодить всё новых китят. Кроме того, тест на родителепригодность был максимально прост: если два животных находятся рядом, они производят потомство. Так как дети рождались сразу и в том же месте, они тоже проходили этот тест и, сливаясь в оргии со своими же родственниками, безостановочно плодили новых китов. Вымирание виду точно не грозило, а вот мой компьютер такой картины мог и не пережить
„Мда, нейросети пока не заменят программистов“, – подумал я, но в ответ на жалобу из всего двух слов – „браузер завис“ – чатгпт нашёл проблемное место, исправил ошибку и предложил возможные улучшения модели
А на следующий день я узнал, что киты и правда размножаются, устраивая оргии. Самец издаёт зов и самки сплываются посмотреть кто это такой громкий, а, раз уж приплыли, заодно и наделать новых китят. Получается, первоначальная модель была не так и далеко от правды?
#биология #программирование
YouTube
The Insane Biology of: The Sperm Whale
Watch this video ad-free on Nebula: https://nebula.tv/videos/realscience-the-insane-biology-of-the-sperm-whale
New streaming platform: https://watchnebula.com/
Patreon: https://www.patreon.com/realscience
Twitter: https://twitter.com/stephaniesamma
Instagram:…
New streaming platform: https://watchnebula.com/
Patreon: https://www.patreon.com/realscience
Twitter: https://twitter.com/stephaniesamma
Instagram:…
На хакатоне обнаружили очень странное поведение UMAP. Помимо расстояния между наблюдениями оказывается важен их порядок. Здесь матрица расстояний заполнена нулями и всё буквально находится в одной точке – никакой структуры в данных нет. Но из-за того, что наблюдения расположены не случайно, а блоками по классам, визуализация создаёт видимость осмысленной структуры
Справедливости ради, этот случай явно прописан в документации UMAP и требует правильного выбора аргумента функции. Но делать так при исследовательском анализе кучи данных никто, конечно, не будет
Ещё более странный случай и больше информации – в треде
#математика #программирование
Справедливости ради, этот случай явно прописан в документации UMAP и требует правильного выбора аргумента функции. Но делать так при исследовательском анализе кучи данных никто, конечно, не будет
Ещё более странный случай и больше информации – в треде
#математика #программирование
This media is not supported in your browser
VIEW IN TELEGRAM
Про двойные маятники куча контента: и научного, и популярного. Это система с двумя подвижными звеньями и очень хаотичным поведением. Двойные маятники с неразличимыми глазом начальными позициями очень скоро начинают колебаться совершенно непохожим образом, а предсказать, когда остановится каждый из них, практически невозможно. Хаос как он есть, о чём как правило и говорят в бесчисленных материалах по теме
И тут кому-то пришло в голову систематично расположить кучу таких маятников на одном экране. Каждый немного отличается от соседа начальными положениями углов. В быстро возникающей пучине хаоса внезапно проявляется островок стабильности. Маятники в нём выглядят похожим образом даже спустя огромное время. Вот здесь есть код на вольфраме для воспроизведения
Если проблема кажется непонятной и неразрешимой, возможно стоит посмотреть на неё систематически. Или под непривычным углом
#математика@chelovek_nauk #программирование@chelovek_nauk
И тут кому-то пришло в голову систематично расположить кучу таких маятников на одном экране. Каждый немного отличается от соседа начальными положениями углов. В быстро возникающей пучине хаоса внезапно проявляется островок стабильности. Маятники в нём выглядят похожим образом даже спустя огромное время. Вот здесь есть код на вольфраме для воспроизведения
Если проблема кажется непонятной и неразрешимой, возможно стоит посмотреть на неё систематически. Или под непривычным углом
#математика@chelovek_nauk #программирование@chelovek_nauk
Вот за что люблю интернет: одному пришла в голову идея, другой поделился, третий подхватил и дополнил чем-то своим. Знакомый физик Кирилл на основе недавнего поста сделал свою визуализацию двойного маятника. Каждый пиксель здесь – маятник, а цвета кодируют один из углов. Невероятно красиво!
Остров стабильности, оказывается, выглядит как кит (картинка есть в комментариях). А ещё оцените мощь современных технологий. Обнаружить этот эффект можно было бы и двести лет назад, нужно только собрать кучу маятников, точно отметить углы и придумать как запустить всё одновременно. Ну и конечно хорошо всё запомнить и зарисовать. Сегодня модель строится за 20 строчек кода и считается минуту
#физика@chelovek_nauk #программирование@chelovek_nauk
Остров стабильности, оказывается, выглядит как кит (картинка есть в комментариях). А ещё оцените мощь современных технологий. Обнаружить этот эффект можно было бы и двести лет назад, нужно только собрать кучу маятников, точно отметить углы и придумать как запустить всё одновременно. Ну и конечно хорошо всё запомнить и зарисовать. Сегодня модель строится за 20 строчек кода и считается минуту
#физика@chelovek_nauk #программирование@chelovek_nauk
Telegram
Графики каждый день (почти)
Об островках регулярности (или о миллионе двойных маятников)
Возьмём в диапазоне [-π, π] для θ₁ и θ₂ решётку двойных маятников, и посмотрим на их эволюцию (на рис. cos(θ₂)), демонстрирующую хаотическое поведение для достаточно больших энергий (чувствительны…
Возьмём в диапазоне [-π, π] для θ₁ и θ₂ решётку двойных маятников, и посмотрим на их эволюцию (на рис. cos(θ₂)), демонстрирующую хаотическое поведение для достаточно больших энергий (чувствительны…