Dmatryusофрения
42 subscribers
291 photos
10 videos
15 files
148 links
Пишу о книгах, лидерстве, технологиях, opensource, своих проектах и наверное чем-то ещё. Ну и репосты IT приколямб.
Download Telegram
Просто пафосная цитатка:


Иногда нужно отказываться от чего-то, что Вам хочется ради чего-то, к чему вы шли всю жизнь.


Я, конечно, не настолько целеустремлен, но почему-то это вдохновляет.
😁1
#ul_book #ul_lib

В ходе исследования SSL алгоритмов возникло желание осветить и эту тему тоже. Много думал о том, как это сделать. Решил посвятить этой теме отдельную главу в книге.

Проблема такого решения в том, что придётся менять название книги, так как она будет уже не только про обучение без учителя. Та же проблема у библиотеки.

Преимущество такого решения в том, что подходы UL и SSL похожи. А некоторые SSL алгоритмы основаны на методах кластеризации.
#ul_lib

Пуринг можно применять не только в ходе алгоритмической оптимизации, но и для коррекции своих планов.

Так я решил пока отложить оптимизацию через numpy. Там появились серьёзные проблемы с выделением подпространств из-за отсутствия индексации. Решить можно, через постоянное расширение матрицы признаков таргетом и убирание таргета. Такой костыль мне не очень по душе.

Пока попробую сосредочится на аппроксимационной оптимизации, оптимизации вычислений в pandas и распараллеливании.
#ul_lib

Удалось ускорить Radius Density Classifier. Маленькая, но победа.

На тестовом наборе данных
Обучение: 687 -> 341 сек (50.36% ускорение)
Инференс: 787 -> 594 сек (24.52% ускорение)

Ускорение достигнуто за счёт более оптимального использования pandas.
👍4🔥1
#ul_lib

В погоне за производительностью попробовал использовать в качестве бэкэнда scikit-learn NearestNeighbors. Результаты... Плачевные.

Я не разбирался как именно устроен NearestNeighbors. Но судя по тому, как он работает обучение - это просто запоминание точек, которые будут выступать соседями.

Помимо предполагаемого выигрыша в скорости NearestNeighbors сулил глубокую настройку и реализацию многопоточности.

Результаты:
1. Мгновенное обучение
2. Долгий инференс (17 минут)*
3. Инференс съел всю память, которую сумел обнаружить

* точного времени нет, так как на тестовом датасете алгоритм просто упал с ошибкой, то есть за 17 минут результат даже не был получен, а это дольше, чем обучение и инференс моей реализации вместе взятые
#ul_lib

Давненько не делился новостями. В общем-то пока новостей толком и нет.

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

В общем-то на этом планирую пока остановить разработку алгоритма и приступить к тестам на нескольких наборах данных со сравнением с другими алгоритмами.

// Буду стараться делать больше записей здесь, но по пустякам.
👌2
Нас уже 2^4 🎉
🎉8
#ul_book

Закончил черновые наброски по определению UL. Замечательно то, как авторство заставляет задуматься о вещах, которые давно не дают покоя, но ты ничего с этим не делаешь. Наверное отчасти поэтому я решил заняться книгой.
💯2
#ul_lib

В общем эффективно распараллелить RDC не получилось, так как всюду используется общая память, я полагаю.

Пока оставлю попытки оптимизации алгоритма и перейду к тестам на качество классификации.
Думал плотненько заняться проектами во время отпуска, но что-то хочется переключить на недельку контекст и отдохнуть от рабочей темы. Возможно от этого даже больше толку будет.

В ходе переключения контекста опять занялся геймдевом. Сторожилы знают, что такое моё увлечение обычно не длится дольше 2 месяцев (чаще 2-3 недели).
Публиковать геймдев логи или устроить затишье?
Anonymous Poll
60%
Геймдев логи
40%
Затишье
#ul_book

Я тут задумался, что коль уж я не собираюсь ограничиваться одной темой в книге, имеет смысл рассмотреть множество тем и раскрывать их глава за главой, том за томом.

Хочется разложить тему до квантов и прийти к итоговым методам и реализациям, собрав их из квантов.

Так что работы очень много, а результат отдоляется. Но зато это создаёт хорошую сенергию всего со всем.

Теперь надо переосмыслить все проекты и подстроить под эту парадигму.
🔥2
Screenshot_20231018_080003_miMind.jpg
743.4 KB
#book

Накидал в очень общих чертах с чего хотелось бы начать книгу. Кажется какие-то более-менее практические положения будут только в 4 главе.

Предстоит изучить очень много материала, чтобы достаточно качественно изложить идеи. Благо литературы за время учёбы и работы накопилось прилично, но не достаточно.
#book

Сделал бекап своих предыдущих наработок по книге. В принципе, в чистовике кроме заголовков и их нумерации менять ничего не пришлось. Половина черновика тоже осталась.

Пока книгу пишу с конца плана, а именно начал с методов оптимизации, что связано с тем, что книги по оптимизации у меня электронные, и с ними удобно работать в дороге.

Жду когда наконец приедет мой мининоутбук для удобной работы в дороге.

// Кажется где-то полторы недели назад у меня началась депрессия. Я думал, что явление локальное и пройдёт за выходные, оказалось, что нет, и она не проходит. В моменты, когда апатия отпускает я пытаюсь что-то делать, но это происходит редко и на короткие промежутки времени. Ко всему этому ещё большой загруз по работе. В общем, кажется посты станут более редкими, сорян.
#book

Начал главу про оптимизацию с пары, возможно, не самых хороших примеров, которые призваны показать комплексность примения оптимизации и её повсеместность. Прелесть в том, что это довольно хорошая подводка к алгоритмам машинного обучения. Кажется, что без них применение методов оптимизации весьма ограничено, хотя сами алгоритмы выглядят, как смесь эвристик и методов оптимизации.
#book

Задумался о том, что возможно HTML всё таки не лучший формат для написания книги: здесь много тегов и не очень удобное форматирование, в результате чего требуются избыточное время и трудозатраты.

Ещё есть сомнения по поводу того насколько корректно формулы на MathJax будут отображаться в pdf. Однако я думаю, что даже если с формулами возникнут проблемы, то HTML довольно хорошо конвертируется в другие форматы и всегда есть возможность поиграть скриптами.

В крайнем случае можно написать самостоятельно конвертатор в латех.
#evolution

Занялся изучением байесовского машинного обучения. Несколько последних эпох обучения дали интересную методологию изучения. Попутно я вернулся к идее заняться вебом.

В чём идея 💡
1. При изучении какого-то материала я его изучаю, как минимум дважды. Первый раз ознакомительно-оценочны. Второй запоминающий (если идея была оценена, как полезная). Последующие для более глубокого погружения или запоминания. Как вы понимаете, читаю я крайне медленно.
2. При втором прочтении я так же рисую граф понятий и идей.
3. При третьем прочтении знания извлекаются и заносятся в базу знаний.

База знаний
Я уже как-то создавал сайт с базой знаний, но тогда эта идея была неэффективной: занесение знаний в неё было сложной задачей, а база была плоской. В текущей версии я думаю ограничить глубину графа семантически. Пока я не придумал, как именно это сделать, но уже есть какие-то идеи.
#evolution

Сделал сегодня утром граф по базовым идеям баесовского машинного обучения.

В хорошем качестве не покажу, ибо кринге, а я вас люблю, так что кину ссылочку, когда сделаю что-то достойное такой аудитории 😊
#evolution

Потихоньку пишу базу знаний. Накидал ветку по сложности ML алгоритмов. Теперь предстоит под это написать кучу текста. Как будет готов граф, покажу здесь. После этого предстоит верстка и хосинг сайта. Дело не быстрое.
#todo

Сегодня меня очень расстроил todo менеджер, которым я пользовался несколько лет. Суть в том, что он считает сколько дней подряд ты выполняешь задачи. Мой рекорд: 59. Проблема в том, что чтобы он корректно все считал, нужно буквально каждый день заходить и отмечать задачи. Иногда бывает, что ты помнишь о задачах и забываешь их проверять. И вот, захожу я сегодня в todo менеджер, и он вываливает на меня просроченные задачи. Я отмечаю, что бОльшую часть из них сделал и... Он сбрасывает счётчик.
Очень обидно, что 2 месяца копил этот счетчик и он сбросился просто потому, что ты не отметился в конкретный день.

Чтобы этого избежать, решил в очередной раз попробовать намутить свой. Это не будет хорошим оптимизированным приложением, которое можно будет продовать. Суть даже не в том, что мне нужен новый todo менеджер. Их полно в плеймаркете. Я хочу попробовать сделать такую штуку в игровом движке godot4. То есть это интересно больше с точки зрения освоения игрового движка и его ui состовляющей. Я всегда поражаюсь насколько в играх порой красивые интерфейсы мутят.

Ниже наброски задач на 3 версии. Выйти бы хотя 1 😂