Сообщения

Этюд в битовых тонах

Когда то давно, во время ковыряния "в" и изучения "как" очень хорошего и полезного пакета OpenSSL и как всегда неожиданно возникла одна простая идея и как все такие очень неожиданные идеи канула в лету. Но сухой остаток остался - была найдена ошибка в OpenSSL, в умножении большого числа на BN_ULONG и небольшая программа извлечения квадратного корня побитно. Сообщение об ошибке ушло на багтрекинг и было поправлено (пользуясь случаем извиняюсь за свою излишнюю эмоциональность тогда, не каждый день в OpenSSL ошибки находишь), а вот ту самую небольшую программу нахождения квадратного корня побитово по модулю 2^n, где n  это количество бит\разрядность и предлагаю вашему вниманию. <cut /> Если рассмотреть алгоритм умножения двух чисел побитно, в столбик, то по значению i-х битов сомножителей, зная перенос, можно быстро определить бит результата - так и зная результат и предполагая распределение битов в сомножителях можно быстро эти биты вычислить. Как всегда ни...

Искусственный интеллект против лжи и коварства

Изображение
поиск и исправление ложной разметки в задачах обучения ИИ Во всех задачах обучения искусственного интеллекта присутствует одно пренеприятнейшее явление — ошибки в разметке обучающей последовательности. Ошибки эти неизбежны, так как вся разметка производится вручную, ибо если есть способ разметить реальные данные программно, то зачем нам ещё кого то учить их размечать и тратить время и деньги на создание абсолютно ненужной конструкции! Задача найти и удалить фейковые маски в большой обучающей последовательности достаточно сложна, Можно просмотреть их все вручную, но и это не спасёт от повторных ошибок. Но если внимательно приглядеться к предложенным в  предыдущих постах  инструментам исследования нейронных сетей, то оказывается есть простой и эффективный способ обнаружить и извлечь все артефакты из обучающей последовательности. И в этом посте есть конкретный пример, очевидно, что простой, на эллипсах и полигонах, для обычной U-net, опять такое лего в песочнице, н...

Простота и cложность примитивов или как определить ненужный препроцессинг для нейронной сети

Изображение
что сложнее для искусственного интеллекта, треугольник или четырехугольник? https://habr.com/ru/post/439122/ Это третья статья по анализу и изучению эллипсов, треугольников и других геометрических фигур. Предыдущие статьи вызвали у читателей несколько очень интересных вопросов, в частности о сложности или простоте тех или иных обучающих последовательностей. Вопросы на самом деле очень интересные, например насколько треугольник сложнее для обучения, чем четырехугольник или другой многоугольник? Попробуем сравнить, и для сравнения у нас есть отличная, проверенная поколениями студентов, идея — чем короче шпаргалка, тем легче экзамен. Статья эта тоже есть просто результат любопытства и праздного интереса, ничего из нее в практике не встречается и для практических задач тут есть пара отличных идей, но нет почти ничего для копипастинга. Это небольшое исследование сложности обучающих последовательностей — рассуждения автора и код изложены, можно все проверить/дополнить/измени...