Forwarded from ML Advertising
Я одно время лидил команду VirtualSense по размещению рекламных билбордов в видео. Мы заменяли уже имеющихся билборды с подстройкой трехмерного положения и перспективы и размещали борды на ранее пустующих слотах. Поэтому, вспоминая прошлый опыт, сегодня хочу пройтись по 3D Computer Vision алгоритмом, с помощью которых решается такая задача.
Она формулируется, как сопоставление изображения с помощью ключевых точек. Задача сводится к поиску конкретного объекта на одном изображении с помощью другого, эталонного.
Для этого необходимы так называемые ключевые точки – характерные области изображения, которые помогают определить, насколько два объекта совпадают. Сопоставив между собой множество изображений сцены, мы сможем восстановить трёхмерную структуру объектов в ней. Но для этого важно иметь «хорошие» ключевые точки.
Также нужно ввести понятие дескрипторов - векторов, которые описывают точку и ее окружение. У разных ключевых точек они должны быть сильно различны, а у одинаковых – максимально схожи.
SIFT
Один из первых и самых известных алгоритмов для нахождения ключевых точек – это SIFT (Scale-Invariant Feature Transform). Его будем использовать, когда не требуется решить что-то сверхсложное и нужно быстро и легко найти ключевые точки.
▶️ Как работает?
Картинка сворачивается с фильтром (обычно гауссианой). Далее берут разность между двумя картинками с разным ядром. Потом на результатах находят экстремумы – области с наибольшей и наименьшей интенсивностью.
Далее, зная размер ключевой точки, мы можем посчитать дескрипторы и поворот точек. Для этого используем Histograms of oriented gradients (HoG). Для этого разбиваем область под ключевой точкой на 16 квадрантов, посчитаем градиенты по картинке, оставим только направления. Для каждого квадранта посчитаем гистограммы направлений, а потом сделаем конкатенацию гистограмм. Для поиска поворота ключевой точки найдём направление с наибольшим значением и будем считать, что это верх ключевой точки.
▶️ Почему SIFT может не справляться?
- Во-первых, сложные задачи, а порой даже довольно простые сцены, часто вызывают у него затруднения – для корректного срабатывания требуется большое пересечение между кадрами.
- Во-вторых, алгоритм не устойчив к изменению угла обзора. Даже если мы просто применим аффинное преобразование к изображению — качество упадёт.
- В-третьих, сложности возникают и с похожими паттернами: на одинаковом паттерне (обои, например) у разных ключевых точек будут одинаковые дескрипторы, из-за чего нормально сопоставить изображения не получится.
Зато SIFT быстрый, его легко запустить, и ему не нужен GPU. Поэтому он используется в качестве бейзлайн решения.
Она формулируется, как сопоставление изображения с помощью ключевых точек. Задача сводится к поиску конкретного объекта на одном изображении с помощью другого, эталонного.
Для этого необходимы так называемые ключевые точки – характерные области изображения, которые помогают определить, насколько два объекта совпадают. Сопоставив между собой множество изображений сцены, мы сможем восстановить трёхмерную структуру объектов в ней. Но для этого важно иметь «хорошие» ключевые точки.
Также нужно ввести понятие дескрипторов - векторов, которые описывают точку и ее окружение. У разных ключевых точек они должны быть сильно различны, а у одинаковых – максимально схожи.
SIFT
Один из первых и самых известных алгоритмов для нахождения ключевых точек – это SIFT (Scale-Invariant Feature Transform). Его будем использовать, когда не требуется решить что-то сверхсложное и нужно быстро и легко найти ключевые точки.
▶️ Как работает?
Картинка сворачивается с фильтром (обычно гауссианой). Далее берут разность между двумя картинками с разным ядром. Потом на результатах находят экстремумы – области с наибольшей и наименьшей интенсивностью.
Далее, зная размер ключевой точки, мы можем посчитать дескрипторы и поворот точек. Для этого используем Histograms of oriented gradients (HoG). Для этого разбиваем область под ключевой точкой на 16 квадрантов, посчитаем градиенты по картинке, оставим только направления. Для каждого квадранта посчитаем гистограммы направлений, а потом сделаем конкатенацию гистограмм. Для поиска поворота ключевой точки найдём направление с наибольшим значением и будем считать, что это верх ключевой точки.
▶️ Почему SIFT может не справляться?
- Во-первых, сложные задачи, а порой даже довольно простые сцены, часто вызывают у него затруднения – для корректного срабатывания требуется большое пересечение между кадрами.
- Во-вторых, алгоритм не устойчив к изменению угла обзора. Даже если мы просто применим аффинное преобразование к изображению — качество упадёт.
- В-третьих, сложности возникают и с похожими паттернами: на одинаковом паттерне (обои, например) у разных ключевых точек будут одинаковые дескрипторы, из-за чего нормально сопоставить изображения не получится.
Зато SIFT быстрый, его легко запустить, и ему не нужен GPU. Поэтому он используется в качестве бейзлайн решения.
LearnOpenCV – Learn OpenCV, PyTorch, Keras, Tensorflow with code, & tutorials
Histogram of Oriented Gradients explained using OpenCV
Histogram of Oriented Gradients (HOG) is a feature descriptor, used for object detection. Read the blog to learn the theory behind it and how it works.
Forwarded from Data Engineering / Инженерия данных / Data Engineer / DWH
Наткнулся на аккаунт https://github.com/kzzzr. Советую глянуть все репозитории. Выделю некоторые:
DWH powered by Clickhouse and dbt
Курс Analytics Engineer
Data Vault powered by dbtVault and Greenplum
Data Vault 2.0: Code generation, Vertica, Airflow
Статья на Habr "Строим Data Vault на данных TPC-H – Greenplum + dbtVault"
DWH powered by Clickhouse and dbt
Курс Analytics Engineer
Data Vault powered by dbtVault and Greenplum
Data Vault 2.0: Code generation, Vertica, Airflow
Статья на Habr "Строим Data Vault на данных TPC-H – Greenplum + dbtVault"
GitHub
kzzzr - Overview
Snowflake, Clickhouse, Kafka, Debezium, Snowplow, dbt champion - kzzzr
Forwarded from DeepSchool
Введение в OCR. Часть 1
Ранее мы писали про CLIP4STR — SOTА-модель в OCR на основе трансформера. А сейчас решили сделать цикл публикаций об OCR, потому что задача обширная и популярная 🙂
OCR состоит из нескольких задач: найти текст➡️ распознать текст ➡️ извлечь информацию. Последний пункт помогает, например, найти отправителя и получателя платежа или общую сумму в чеке.
Для каждого из этапов есть свои модели. Но с появлением мультимодальных трансформеров можно решать все этапы End-to-End!
В новой статье мы рассмотрим:
- основные этапы решения OCR
- ключевые SOTA-модели для каждого этапа
- развитие подходов в OCR
- и, конечно, современные бенчмарки / модели / фреймворки
Читайте нашу статью по ссылке: https://deepschool-pro.notion.site/OCR-1-25c5e5c9f928486a80cb67020de270af?pvs=4
Ранее мы писали про CLIP4STR — SOTА-модель в OCR на основе трансформера. А сейчас решили сделать цикл публикаций об OCR, потому что задача обширная и популярная 🙂
OCR состоит из нескольких задач: найти текст
Для каждого из этапов есть свои модели. Но с появлением мультимодальных трансформеров можно решать все этапы End-to-End!
В новой статье мы рассмотрим:
- основные этапы решения OCR
- ключевые SOTA-модели для каждого этапа
- развитие подходов в OCR
- и, конечно, современные бенчмарки / модели / фреймворки
Читайте нашу статью по ссылке: https://deepschool-pro.notion.site/OCR-1-25c5e5c9f928486a80cb67020de270af?pvs=4
Please open Telegram to view this post
VIEW IN TELEGRAM
deepschool-pro on Notion
Введение в OCR. Часть 1 | Notion
Авторы: Булат Бадамшин, Герман Петров
Forwarded from эйай ньюз
Pixtral-12B: тех-репорт
Месяц назад выкатили модель (пост был тут). А сейчас вышел тех-репорт про Pixtral-12B с кучей деталей про мультимодальную архитектуру и эвал, но без описания тренировки. Полезное чтиво!
По бенчам бьют Llama-3.2 11B & Qwen-2-VL 7B.
Статья
Webpage
Inference code
Evaluation code
@ai_newz
Месяц назад выкатили модель (пост был тут). А сейчас вышел тех-репорт про Pixtral-12B с кучей деталей про мультимодальную архитектуру и эвал, но без описания тренировки. Полезное чтиво!
По бенчам бьют Llama-3.2 11B & Qwen-2-VL 7B.
Статья
Webpage
Inference code
Evaluation code
@ai_newz
Forwarded from Tensor Banana
Бесплатные LLM по API
groq.com
Дают бесплатно llama-3.1-70b - 14400 запросов в день (0.5M токенов в день). Нужен ВПН.
Иногда лежит под нагрузкой, но в целом, довольно стабилен. Часть персонажей в моем боте сидит на нем.
Есть поддержка в SillyTavern.
лимиты https://console.groq.com/settings/limits
cohere.com
Для регистрации нужна google почта. Дают бесплатно 1000 запросов в месяц, боту хватает на несколько дней.
Есть поддержка в SillyTavern.
openrouter.ai
Есть большой выбор бесплатных моделей. Дают 200 бесплатных запросов в час (для больших меделй - меньше, что-то около 10 в час), если кончились - можно просто сменить модель.
Есть поддержка в SillyTavern.
модели https://openrouter.ai/models/?q=free
Если нужно платно - из РФ можно оплачивать криптой практически без комиссии (для оплаты нужен впн). Нужна крипта MATIC в сети Polygon ($0.27 комиссия), или Ethereum ($22.00 комиссия). Поддержка Matic есть в кошельке Trust wallet. Matic можно купить на биржах или на bestchange.
sambanova.ai
Дают Llama-3.1-405B-bf16 - бесплатно 10 запросов в минуту. Поставил персонажу Братан для теста.
Пока нет в SillyTavern
Mistral.ai
API не поддерживает repetition penalty, frequency penalty и min_p (из-за этого в РП любит повторяться).
Есть поддержка в SillyTavern
github.com/marketplace
Регистрация через лист ожидания (я ждал несколько недель). Лимиты довольно маленькие, не так интересно.
Дают gpt4o по API бесплатно (50 запросов в день), это, наверное, единственный такой сервис.
Пока нет в SillyTavern
together.ai
Дают разово $5 на запросы + дают бесплатную Llama Vision 11B (пишут, что есть лимиты, но какие не говорят, не тестил) и FLUX.1 [schnell] (10 картинок в минуту, не тестил)
Есть Llama-405b-turbo (видимо квантованная), llama-3.1-70b-turbo и россыпь устаревших моделей. 5 баксов хватит примерно на 350 запросов к 405b или 1400 запросов к 70b с 4k контекста.
А вот бесплатный FLUX.1 [schnell] надо бы потестить.
Есть поддержка в SillyTavern
Модели https://docs.together.ai/docs/inference-models
лимиты https://docs.together.ai/docs/rate-limits
ai21.com
Jamba-1.5-Large-398B хоть и большая, но на русском языке общается так себе. API не тестил. Дают разово $10.
nvidia build
модели https://build.nvidia.com/explore/reasoning
Дают разово 1000 кредитов (1000 запросов). Можно погонять llama-3.2-90b-vision
Пока нет в SillyTavern
cerebras.ai
жду в листе ожидания. Обещают бесплатно 1M токенов в день для 70b
Тестить все это удобно в sillyTavern, там реализовано большинство этих АПИ.
groq.com
Дают бесплатно llama-3.1-70b - 14400 запросов в день (0.5M токенов в день). Нужен ВПН.
Иногда лежит под нагрузкой, но в целом, довольно стабилен. Часть персонажей в моем боте сидит на нем.
Есть поддержка в SillyTavern.
лимиты https://console.groq.com/settings/limits
cohere.com
Для регистрации нужна google почта. Дают бесплатно 1000 запросов в месяц, боту хватает на несколько дней.
Есть поддержка в SillyTavern.
openrouter.ai
Есть большой выбор бесплатных моделей. Дают 200 бесплатных запросов в час (для больших меделй - меньше, что-то около 10 в час), если кончились - можно просто сменить модель.
Есть поддержка в SillyTavern.
модели https://openrouter.ai/models/?q=free
Если нужно платно - из РФ можно оплачивать криптой практически без комиссии (для оплаты нужен впн). Нужна крипта MATIC в сети Polygon ($0.27 комиссия), или Ethereum ($22.00 комиссия). Поддержка Matic есть в кошельке Trust wallet. Matic можно купить на биржах или на bestchange.
sambanova.ai
Дают Llama-3.1-405B-bf16 - бесплатно 10 запросов в минуту. Поставил персонажу Братан для теста.
Пока нет в SillyTavern
Mistral.ai
API не поддерживает repetition penalty, frequency penalty и min_p (из-за этого в РП любит повторяться).
Есть поддержка в SillyTavern
github.com/marketplace
Регистрация через лист ожидания (я ждал несколько недель). Лимиты довольно маленькие, не так интересно.
Дают gpt4o по API бесплатно (50 запросов в день), это, наверное, единственный такой сервис.
Пока нет в SillyTavern
together.ai
Дают разово $5 на запросы + дают бесплатную Llama Vision 11B (пишут, что есть лимиты, но какие не говорят, не тестил) и FLUX.1 [schnell] (10 картинок в минуту, не тестил)
Есть Llama-405b-turbo (видимо квантованная), llama-3.1-70b-turbo и россыпь устаревших моделей. 5 баксов хватит примерно на 350 запросов к 405b или 1400 запросов к 70b с 4k контекста.
А вот бесплатный FLUX.1 [schnell] надо бы потестить.
Есть поддержка в SillyTavern
Модели https://docs.together.ai/docs/inference-models
лимиты https://docs.together.ai/docs/rate-limits
ai21.com
Jamba-1.5-Large-398B хоть и большая, но на русском языке общается так себе. API не тестил. Дают разово $10.
nvidia build
модели https://build.nvidia.com/explore/reasoning
Дают разово 1000 кредитов (1000 запросов). Можно погонять llama-3.2-90b-vision
Пока нет в SillyTavern
cerebras.ai
жду в листе ожидания. Обещают бесплатно 1M токенов в день для 70b
Тестить все это удобно в sillyTavern, там реализовано большинство этих АПИ.
Forwarded from DeepSchool
Методы второго порядка используют вторые производные функции потерь. Важный элемент этих методов — гессиан. Он и является второй производной по параметрам модели.
Главная проблема гессиана — его долго считать. Учёные придумали различные методы для его аппроксимации, чтобы экономить вычисления. А недавно появились и алгоритмы оптимизации, которые используют эти аппроксимации.
О методах второго порядка мы и записали наше новое видео!
В нём Шамиль Мамедов, исследователь из Amazon Robotics, напоминает теорию численной оптимизации и рассказывает про методы приближения гессиана. А также проходится по Sophia — свежему оптимизатору, который использует методы второго порядка.
Смотрите новое видео на Youtube!
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Гессиан, или методы второго порядка в численной оптимизации
В DeepSchool мы повышаем квалификацию DL-инженеров: https://deepschool.ru/?utm_source=yt&utm_content=hessian
Наш курс "Ракета в Computer Vision": https://deepschool.ru/cvrocket?utm_source=yt&utm_content=hessian
Методы второго порядка используют вторые производные…
Наш курс "Ракета в Computer Vision": https://deepschool.ru/cvrocket?utm_source=yt&utm_content=hessian
Методы второго порядка используют вторые производные…
Forwarded from fmin.xyz (Даня Меркулов)
This media is not supported in your browser
VIEW IN TELEGRAM
Нейронная сеть Хопфилда
🏆 На этой неделе нобелевскую премию по физике дали Джону Хопфилду и Джеффри Хинтону за
😲 Я, как и многие в моем окружении, сначала недоумевал, почему так и причем здесь физика. И решил заботать, что вообще такое нейронная сеть Хопфилда, и получил дикое удовольствие. Оказывается, что сама концепция заметно отличается от тех нейронных сетей, к которым мы привыкли. В этих сетях гораздо больше связи с физикой и биологией, чем в полносвязных/сверточных слоях.
🔬 Что это такое
В простейшем случае это однослойная нейросеть, в которой все нейроны соединены со всеми и каждый нейрон может принимать два значения (-1 и 1 - как знак заряда или спин). Поэтому текущее состояние сети легко нарисовать в виде бинарной картинки. При этом значение каждого нейрона определяется как взвешенная сумма остальных нейронов с пороговой активацией (здесь все похоже на обычный полносвязный слой).
Состояние сети зависит от весов и значений нейронов. Такому состоянию можно поставить в соответствие энергию. Если изменить значение нейрона или веса, это может повлечь за собой изменение остальных нейронов (возмущение). В начале существует простой способ подобрать такие значения весов, чтобы минимальное состояние энергии этой сети соответствовало каким-то заранее заданным паттернам.
🧠 Нейросеть как память
Таким образом, мы зафиксируем матрицу весов, соответствующую нашей текущей памяти. То есть процесс обучения сети Хопфилда - это один шаг (никаких градиентных спусков и итерационных алгоритмов - одна формула).
А потом можно возмутить состояние нейронов как угодно (при выученных весах это гарантированно приведет к увеличению энергии системы) и посмотреть на пошаговую эволюцию состояний сети во времени - она сойдется к одному из стационарных состояний, которыми являются выученные паттерны. Но когда паттернов для запоминания становится много, то появляются новые стационарные состояния, которые мы не вкладывали в сеть (их называют химерами).
🧲 Принцип минимизации энергии и магниты
В этой модели каждый нейрон функционирует подобно магнитному моменту в магните. Мы сначала сильным внешним магнитным полем ориентируем спины в нужном направлении, потом убираем поле, а намагниченность остается.
При этом если теперь вывести их из равновесия, они будут потихонечку возвращаться в устойчивое состояние, минимизируя энергию через переориентацию спинов. Удивительно, что можно использовать концепции физики для объяснения и реализации процессов, связанных с памятью и самоорганизацией.
⚔️ 👁 ⚔️ Выводим ящеров на чистую воду
Например, в этой анимации я обучил сеть запомнить 2 состояния - турбославянина и ящера. А потом дал ей несколько разных картинок(чтобы посмотреть, кто есть кто на самом деле) , которыми инициализировал значение нейронов (возмутил систему) и нарисовал эволюцию каждой из них. Видно, как они сходятся к стационарным состояниям. Хопфилд показал, что количество паттернов, которые может запомнить такая сеть растет примерно линейно с количеством нейронов.
📺 Крутейший видос, поясняющий базу.
🖥 Статья на N+1 с объяснением.
🐱 Ссылка на код для построения анимации.
основополагающие открытия и изобретения, которые позволяют использовать машинное обучение с помощью искусственных нейронных сетей.
В простейшем случае это однослойная нейросеть, в которой все нейроны соединены со всеми и каждый нейрон может принимать два значения (-1 и 1 - как знак заряда или спин). Поэтому текущее состояние сети легко нарисовать в виде бинарной картинки. При этом значение каждого нейрона определяется как взвешенная сумма остальных нейронов с пороговой активацией (здесь все похоже на обычный полносвязный слой).
Состояние сети зависит от весов и значений нейронов. Такому состоянию можно поставить в соответствие энергию. Если изменить значение нейрона или веса, это может повлечь за собой изменение остальных нейронов (возмущение). В начале существует простой способ подобрать такие значения весов, чтобы минимальное состояние энергии этой сети соответствовало каким-то заранее заданным паттернам.
Таким образом, мы зафиксируем матрицу весов, соответствующую нашей текущей памяти. То есть процесс обучения сети Хопфилда - это один шаг (никаких градиентных спусков и итерационных алгоритмов - одна формула).
А потом можно возмутить состояние нейронов как угодно (при выученных весах это гарантированно приведет к увеличению энергии системы) и посмотреть на пошаговую эволюцию состояний сети во времени - она сойдется к одному из стационарных состояний, которыми являются выученные паттерны. Но когда паттернов для запоминания становится много, то появляются новые стационарные состояния, которые мы не вкладывали в сеть (их называют химерами).
В этой модели каждый нейрон функционирует подобно магнитному моменту в магните. Мы сначала сильным внешним магнитным полем ориентируем спины в нужном направлении, потом убираем поле, а намагниченность остается.
При этом если теперь вывести их из равновесия, они будут потихонечку возвращаться в устойчивое состояние, минимизируя энергию через переориентацию спинов. Удивительно, что можно использовать концепции физики для объяснения и реализации процессов, связанных с памятью и самоорганизацией.
Например, в этой анимации я обучил сеть запомнить 2 состояния - турбославянина и ящера. А потом дал ей несколько разных картинок
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Aspiring Data Science (Anatoly Alekseev)
#asr #nlp #finetuning #t5
Лектор обалденный. Чистое золото!
Сколько он техник применил для решения реальной задачи, просто жесть. Могу подтвердить, что так всё на практике и бывает, всплывает много мелких проблем, каждую из которых приходится решать творчески.
Я не знал, что моделька t5 так хороша, в эпоху больших-то моделей.
https://youtu.be/blE2Dm9SORE?si=LzGeMhrApdLkqq1R
Лектор обалденный. Чистое золото!
Сколько он техник применил для решения реальной задачи, просто жесть. Могу подтвердить, что так всё на практике и бывает, всплывает много мелких проблем, каждую из которых приходится решать творчески.
Я не знал, что моделька t5 так хороша, в эпоху больших-то моделей.
https://youtu.be/blE2Dm9SORE?si=LzGeMhrApdLkqq1R
YouTube
Иван Бондаренко | Маленькая, но удаленькая! Зачем использовать LLM размером меньше 1B параметров?
Спикер: Иван Бондаренко, старший преподаватель, научный сотрудник НГУ
Data Fest 2024: https://ods.ai/events/datafest2024
Презентацию к докладу Вы можете скачать в треке секции NLP: https://ods.ai/tracks/df24-nlp
______
Наши соц.сети:
Telegram: https://t.me/datafest…
Data Fest 2024: https://ods.ai/events/datafest2024
Презентацию к докладу Вы можете скачать в треке секции NLP: https://ods.ai/tracks/df24-nlp
______
Наши соц.сети:
Telegram: https://t.me/datafest…
Forwarded from Aspiring Data Science (Anatoly Alekseev)
#llms #gpt #langchain #rag
Основы пользовательской работы с LLM-ками.
https://www.youtube.com/watch?v=aZVGQ-IlkF8
Основы пользовательской работы с LLM-ками.
https://www.youtube.com/watch?v=aZVGQ-IlkF8
YouTube
Langchain - делаем AI chat бота поверх ваших документов // Курс «Machine Learning. Professional»
Обсудим что такое AI chat bot.
Рассмотрим что такое эмбеддинги и векторизация текстов
Рассмотрим задачу векторного поиска и векторные базы данных
Обсудим промпт-инжиниринг
Установим и запустим проект AI чат бота на фреймворке Langhain
Обсудим проблему сегментации…
Рассмотрим что такое эмбеддинги и векторизация текстов
Рассмотрим задачу векторного поиска и векторные базы данных
Обсудим промпт-инжиниринг
Установим и запустим проект AI чат бота на фреймворке Langhain
Обсудим проблему сегментации…
Forwarded from Dealer.AI
NotebookLM или начало новых подкастов с LM?
Ребята с Google хотели воплотить концепцию society of mind или "дебаты" с AI. Кстати Дядя писал уже об этом тут.
Но вышло в итоге NoteBookLM, где сервис, на базе модели семейства Gemini, может принимать на вход ваши доки/новости/аудио и тп, а на выходе делать аудио-дискуссию по "просмотренным" материалам между двумя llm-агентами.
Ну что теперь AI может пилить подкасты за Вас и по делу по-пИИ*деть🤣
Входим ли мы в новую эру AI-driven подкастов или это кратковременный ажиотаж —поживем, увидим.
Ребята с Google хотели воплотить концепцию society of mind или "дебаты" с AI. Кстати Дядя писал уже об этом тут.
Но вышло в итоге NoteBookLM, где сервис, на базе модели семейства Gemini, может принимать на вход ваши доки/новости/аудио и тп, а на выходе делать аудио-дискуссию по "просмотренным" материалам между двумя llm-агентами.
Ну что теперь AI может пилить подкасты за Вас и по делу по-пИИ*деть
Входим ли мы в новую эру AI-driven подкастов или это кратковременный ажиотаж —поживем, увидим.
Please open Telegram to view this post
VIEW IN TELEGRAM