Визуализация ещё одного нейрона нейросети. Он отвечает за несколько функций сразу: распознаёт кошачьи мордочки, части автомобиля, а также кошачьи лапки :З
#программирование
#программирование
Мой доклад об онлайн-образовании с небольшой IT-конференции. Рассказываю, какие существуют платформы с онлайн-курсами и могут ли они сделать из вас программиста
#программирование
#видео
https://youtu.be/zCh6ZUM0oZs
#программирование
#видео
https://youtu.be/zCh6ZUM0oZs
YouTube
Владимир Шитов | Можно ли стать программистом, проходя онлайн-курсы
Владимир Шитов, ML-инженер в BIOCAD. Биоинформатик, студент СибГМУ.
Могут ли онлайн-курсы научить программированию с нуля? Какие существуют платформы для обучения, как выбрать подходящий курс и что делать после.
0:00 Представление докладчика
3:11 Мой путь…
Могут ли онлайн-курсы научить программированию с нуля? Какие существуют платформы для обучения, как выбрать подходящий курс и что делать после.
0:00 Представление докладчика
3:11 Мой путь…
Wolfram Physics Project обещает перевернуть современную физику и предоставить "теорию всего"
Пока сложно сказать, получилось ли это сделать. Но математически проект действительно очень красив. В его основе — предположение, что Вселенная состоит из маленьких блоков, которые изменяются согласно определённому правилу. Почти как клеточный автомат в игре "Жизнь"
Для таких систем выполняются многие законы, известные физике. Возможно, с их помощью удастся связать прежде разрозненные теории
#физика #программирование
Пока сложно сказать, получилось ли это сделать. Но математически проект действительно очень красив. В его основе — предположение, что Вселенная состоит из маленьких блоков, которые изменяются согласно определённому правилу. Почти как клеточный автомат в игре "Жизнь"
Для таких систем выполняются многие законы, известные физике. Возможно, с их помощью удастся связать прежде разрозненные теории
#физика #программирование
Библиотека CATplot для языка программирования R позволяет рисовать графики котиками
На случай, если вы когда-нибудь хотели нарисовать косянус
#программирование
На случай, если вы когда-нибудь хотели нарисовать косянус
#программирование
This media is not supported in your browser
VIEW IN TELEGRAM
Визуализация работы алгоритма DBSCAN. Это алгоритм кластеризации: он ищет группы похожих наблюдений в данных
Например, представьте, что каждая точка здесь — это пациент. Чем правее точка, тем больше у человека систолическое давление, а чем выше — тем больше диастолическое. DBSCAN позволил бы выделить кластеры пациентов из данных. Так можно, например, искать подтипы заболеваний, которые требуют разного лечения
#программирование
Например, представьте, что каждая точка здесь — это пациент. Чем правее точка, тем больше у человека систолическое давление, а чем выше — тем больше диастолическое. DBSCAN позволил бы выделить кластеры пациентов из данных. Так можно, например, искать подтипы заболеваний, которые требуют разного лечения
#программирование
Невероятно крутая генерация изображений от нейросети DALL·E 2
В 2021 году компания OpenAI представила нейросеть DALL·E. Она умела генерировать картинки по описанию, будь оно реалистичным или абсолютно безумным. Сейчас вышла новая нейросеть, создающая ещё более качественные иллюстрации. На фото выше картинка по запросу “Космонавт на лошади в фотореалистичном стиле”. Другие примеры есть на сайте. Будем надеяться, скоро появится доступ к модели и можно будет создавать картинки по своим описаниям
По-моему, это круто ещё и потому что задача создания изображений по описанию очень сложна даже для людей. Люди хорошо умеют отличать котиков от собачек и было большим прорывом, когда это научились делать нейросети. Но человек обычно не представляет фотореалистичное изображение у себя в голове. И очень немногие люди способны создавать такие иллюстрации на бумаге или электронном устройстве. Потрясает, что учёные научили этому компьютер
#программирование
В 2021 году компания OpenAI представила нейросеть DALL·E. Она умела генерировать картинки по описанию, будь оно реалистичным или абсолютно безумным. Сейчас вышла новая нейросеть, создающая ещё более качественные иллюстрации. На фото выше картинка по запросу “Космонавт на лошади в фотореалистичном стиле”. Другие примеры есть на сайте. Будем надеяться, скоро появится доступ к модели и можно будет создавать картинки по своим описаниям
По-моему, это круто ещё и потому что задача создания изображений по описанию очень сложна даже для людей. Люди хорошо умеют отличать котиков от собачек и было большим прорывом, когда это научились делать нейросети. Но человек обычно не представляет фотореалистичное изображение у себя в голове. И очень немногие люди способны создавать такие иллюстрации на бумаге или электронном устройстве. Потрясает, что учёные научили этому компьютер
#программирование
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(θ₂)), демонстрирующую хаотическое поведение для достаточно больших энергий (чувствительны…