Википедия: когда сложность становится барьером | 2025-11-26T01:06:17

У википедии есть одна большая проблема. Ну или у нас с википедией. Если зайти на практически любую страницу википедии об относительно сложном математическом или физическом понятии, часто резко перестает хотеться ее дальше читать. Формально там все верно, но объяснение дается через концепции, часто еще более сложные, чем объясняемая. Кроме этого, там дается часто много лишнего — то, что формально/академически/таксономически находится внутри темы, но по сути «загрязняет» получение первого впечатления.

Эта проблема возникает потому, что у авторов Википедии (часто математиков) приоритет стоит на строгости и полноте, а не на дидактике и понятности.

В англоязычной среде такое иногда называют «Drift into pedantry» (скатывание в педантизм). Статьи часто пишутся экспертами для экспертов, а не для тех, кто пытается изучить предмет с нуля.

Вот возьмем, например, «тензор». Представьте студента, который слышал, что тензоры используются в машинном обучении (Google TensorFlow) или физике, и хочет понять суть.

Чего ждет читатель (интуиция): «Тензор — это таблица чисел (ну или какой-нибудь контейнер данных), которая описывает свойства объекта и правильно изменяется, если мы повернем систему координат»

Что дает википедия: «Те́нзор (от лат. tensus, «напряжённый», по классической раскладке механического напряжения на гранях деформируемого куба, см.иллюстрацию) — раскладка (расположение в пространстве) чисел (компонент), применяемая в математике и физике как особый тип многоиндексного объекта, обладающего математическими свойствами.» Статья сразу же начинает перечислять ранги, ковариантность и контравариантность индексов. Это формально верно, но это «загрязняет» первое впечатление.

Иллюстрация в самом верху подписана вот так: «Механическое напряжение, деформирующее куб с гранями, перпендикулярными осям координат, в классической теории упругости описывается тензором напряжений Коши (англ. Cauchy stress tensor), который связывает 2 индекса: вектор нормали к грани с вектором напряжения Т (сила на единицу площади); имеются 3 направления нормалей и 3 направления компонент напряжения, что даёт тензор 2-го ранга 3×3 — из 9 компонент.»

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

Это как если бы вы спросили «Что такое яблоко?», а вам ответили: «Яблоко — это плод растений подсемейства Сливовые (Amygdaloideae) или Спирейные, обладающий эпикарпием, мезокарпием и эндокарпием, часто участвующий в гравитационных экспериментах Ньютона».

С одной стороны, кажется, что с появлением LLM википедия как бы больше не необходима. Есть же условно LLMы типа ChatGPT, которые по сути пересказывают все то, что есть в wikipedia в нужном виде. Но они так делают, потому что их обучили на википедии, причем наверняка именно википедии дали сильно больше веса при обучении, чем всякому шлаку в интернете. Если бы не было википедии в обучающем сете, все было бы сильно сложнее. При этом википедия постоянно редактируется, и LLM и Google используют именно ее при ответах на вопросы.

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

Парадокс в том, что LLM — это, по сути, единственный «интерфейс», который смог прочитать эти педантичные определения Википедии, «понять» их (через тысячи примеров кода и статей) и перевести обратно на человеческий язык. Википедия стала отличной базой данных для роботов, но плохим учебником для людей.

Интерактивное обучение 1986: «Химический тренажер» | 2025-11-23T15:55:06

У меня дома в Коломне есть книжка Химический тренажер 1986 года. Я таких никогда не до и не после не видел.

Материал каждой из 54 программ подразделяется на множество мелких, очень коротких частей, или рубрик. В конце каждой рубрики задается один или несколько вопросов. Это делается с целью проверить – действительно ли понято содержание данной рубрики. У каждого ответа есть место в книге, куда нужно перепрыгнуть, чтобы почитать, правильный ли ответ. Если ответ неправильный, там описывается, почему и задается новый вопрос. Если правильный — продвигаешься в этом квесте дальше.

Эти немцы в 1986 году сделали интерактивный учебник еще до того, как это стало модным.

Интерактивная визуализация алгоритмов рекомендаций в новом open source приложении | 2025-11-11T05:23:46

У меня вышло электронное open source приложение к моей книжке Recommender Algorithms! Это «песочница», где можно «погонять» различные алгоритмы рекомендаций с разными настройками, и по каждому алгоритму посмотреть специфичную ему визуализацию, помогающую понять как он работает. Например, для таких алгоритмов как ItemKNN, SLIM или EASE ключевой визуализацией является heatmap, выученной матрицы схожести (item-item similarity matrix). Это позволяет увидеть, какие именно пары товаров модель считает «похожими» (или «влияющими» друг на друга). Для SLIM, например, полезна «Sparsity Plot» , показывающая, что матрица схожести действительно получилась разреженной. Для алгоритмов ассоциативных правил (Apriori, FP-Growth, Eclat) визуализация — это вообще не график, а интерактивные таблицы с найденными «Частотными наборами» (Frequent Itemsets) и сгенерированными «Правилами» (Association Rules) , которые можно фильтровать и сортировать.

Кроме этого, там есть параметрический механизм создания «игрового датасета» — Dataset Wizard. Работает он так — есть шаблонные датасеты, которые описывают items через характеристики. Например, рецепты через вкусы. Или фильмы через жанры. Система генерирует случайных пользователей со случайным набором характеристик из того же набора — причем там много ползунков, позволяющих это распределение сделать более контрастным или сложным. Далее создается уже матрица оценок пользователями айтемов — условно если совпадают характеристики пользователя и айтема, то оценка будет выше, так как «совпадают вкусы» и наоборот, если различаются, то оценка будет ниже. Тут тоже ползунки, добавляющие шум и scarcity — рандомно удаляется часть матрицы. На вход алгоритму рекомендаций характеристики товаров и пользователей не подаются, они скрыты, но они используются для визуализации результатов.

Третьим компонентом приложения является подбор гиперпараметров. По сути, это автоконфигуратор под конкретный датасет. Там используется итеративный подход, который намного эффективнее, чем полный перебор (Grid Search) или случайный поиск (Random Search). Если говорить кратко, система анализирует историю прошлых запусков (trials) и строит вероятностную «карту» (суррогатную модель) того, какие параметры, скорее всего, дадут лучший результат. Затем она использует эту карту, чтобы по-умному выбрать следующую комбинацию для проверки. Этот метод называется Последовательная оптимизация на основе суррогатных моделей (SMBO).

Код свободный, будет еще дополняться новыми алгоритмами и новыми визуализациями.

Ссылочка на код в комментариях.

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

Запуск книги «Рекомендательные алгоритмы»: все, что нужно знать | 2025-10-25T17:36:38

I finally released a book on #RecSys! It’s called Recommender Algorithms, where I’ve compiled over 50 recommendation algorithms with detailed mathematical derivations, thorough explanations, and code examples.

It all started early this spring in Germany, when I attended an ACM conference and sketched out the first structure of the book while analyzing the talks from the RecSys track. And now, just six months later, it has come to life.

Why did I write it? Because neither online nor in print is there a single, accessible resource that deeply explores recommendation algorithms of various types and purposes. There are articles focused on small subsets, but collecting and systematizing approaches—from foundational methods to the very latest—seems to have never been done before. I don’t know if I succeeded, but I’d love to hear your feedback.

Please like & share!

P.S. Click at READ SAMPLE to see the first 40 pages. The table of contents is there as well.

Marcia Klioze | 2025-10-03T22:42:57

Друзья, я сейчас на открытии выставки Marcia Klioze в галерее Arts Club Of Washington и просто в восторге! Очень рад за свою замечательную наставницу, у которой я учусь масляной живописи уже два с половиной года. Сегодня здесь её персональная экспозиция, и атмосфера просто волшебная.

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

Почти все работы продаются, кому интересно, захаживайте

Борьба с искусственным интеллектом в изучении языков | 2025-08-19T23:43:35

Мне сегодня грок взорвал мозг. Говорю поучи меня французскому. Он: ок, как будет «книга»? Я говорю «лё ливр». Он говорит «неправильно! ля ливра». 😳Машина все равно сама едет, решил записать диалог. Не убеждается. Никак, стоит на своём. Ля ливра и всё. Боюсь, Грок так плохому научит в своём Language Tutor mode.

Вспомнилась история из «Воспоминание о Пушкине” М. Е. Юзефовича, относящееся к 1829 году:

«<Во время похода на Эрзерум> с ним было несколько книг, в том числе и Шекспир. Однажды он в нашей палатке переводил брату и мне некоторые из его сцен. Я когда-то учился английскому языку, но, недоучившись как следует, забыл его впоследствии. Однакож все-таки мне остались знакомы его звуки. В чтении же Пушкина английское произношение было до того уродливо, что я заподозрил его знание и решил подвергнуть его экспертизе. Для этого на другой день я зазвал к себе его родственника, Захара Чернышева, знавшего английский язык, как свой родной, и, предупредив его в чем было дело, позвал к себе и Пушкина с Шекспиром. Он охотно принялся переводить его нам. Чернышев при первых же словах, прочитанных Пушкиным, расхохотался: “Ты скажи прежде, на каком языке читаешь?” Расхохотался в свою очередь и Пушкин, объяснив, что он выучился по-английски самоучкой, а потому читает английскую грамоту, как латинскую. Но дело в том, что Чернышев нашел перевод совершенно правильным и понимание языка безукоризненным».

Anna Derevenitskaya

Осторожно, не перепутайте: словесные ловушки в английском | 2025-08-13T00:46:26

Есть большая разница между «honoree is coming» и «gonorrhea is coming»

Главное не спутать

Навыки программиста для работы с AI в генерации кода | 2025-08-04T14:28:45

Я сейчас ну очень много использую Gemini для генерации кода, и вижу скилл, который нужно иметь программистам, чтобы быть успешными на этом поприще. Это умение быстро читать и понимать чужой код, а также умение объяснить, почему генерацию AI нужно переделать и как. Для первого нужно просто очень хорошо знать язык и читать «с листа», потому что времени вдумываться будет мало. Для второго нужно хорошо знать паттерны и понимать, где они применимы, а где — нет. AI еще долго будет лажать с использованием паттернов не к месту.

Кроме этого, человеку все еще нужно будет понимать «как единое целое» на 90% код, который сгенерировал AI, и также успевать находить время на осознание каждой сгенерированной строки кода. Если расслабиться и упустить, то система может родить даже работающий, но очень плохо поддерживаемый код. Например, есть негласное правило, что отдельные файлы должны содержать не так много кода, и если он растет, то нужно делать рефакторинг, разбивая один большой на два или три. Иногда это требует переписывания логики, но это переписывание всегда направлено на одну задачу — упростить поддержку. А AI при переписывании еще и «улучшает» код заодно. И это довольно сложно запретить.

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

Кроме этого, сейчас логика распределена между БД и кодом. То есть, данные часто управляют кодом. А данные в LLM просто часто не помещаются. Их слишком много. В итоге, без программистов пока с текущими архитектурами LLM не обойтись. Но вот требования к квалификации программистов только вырастут с LLM, а не упадут. Так что да, джуниорам надо волноваться, но лидам не очень 🙂

Раевский: новый взгляд на старое искусство | 2025-07-16T16:17:36

Очень хорошее новое про старое от Раевского