Косинусная близость, как мера сравнения релевантности + инструмент поиграться!
Степень близости векторов можно оценитьна глаз в 256 мерном пространстве по формуле, приводить её нет смысла, кому интересно https://clck.ru/3AihMV вот ссылка на Википедию
Всю математику и все эмбеддинги я засунул под капот бота @words_comparison_bot. Велкам, что называется, тестите, сравнивайте, пишите пожелания.
Как интерпретировать результаты?
Приведу несколько цифр из школьной математики cos(0) = 1, cos(90) = 0, все, что посередине лежит в диапазоне от 0..1
Сначала предлагаю сократить название “косинусная близость” до CS( ‘’word1,’word2’ ).
Приведу 2 примера:
CS( ‘пластиковые окна’, ‘ПВХ окна’ ) = 0,93
CS( ‘пластиковые окна’, ‘балет лебединое озеро’ ) = 0,30
Какие значения являются пороговыми? ХЗ, честно говоря, исходя из SEOшного опыта я бы сделал 3 уровня
1 – 0.7 – высокая релевантность
0.5 – 0.69 – средняя релевантность
0 – 0.49 – низкая релевантность
Но выставлять пороги – это все равно, что задавать вопрос «С каким DR покупать ссылки?» Поэтому решайте сами для себя.
PS @words_comparison_bot позволяет сравнивать не только отдельные слова но и целые тексты. Так например можно сравнивать ключ и текст.
Степень близости векторов можно оценить
Всю математику и все эмбеддинги я засунул под капот бота @words_comparison_bot. Велкам, что называется, тестите, сравнивайте, пишите пожелания.
Как интерпретировать результаты?
Приведу несколько цифр из школьной математики cos(0) = 1, cos(90) = 0, все, что посередине лежит в диапазоне от 0..1
Сначала предлагаю сократить название “косинусная близость” до CS( ‘’word1,’word2’ ).
Приведу 2 примера:
CS( ‘пластиковые окна’, ‘ПВХ окна’ ) = 0,93
CS( ‘пластиковые окна’, ‘балет лебединое озеро’ ) = 0,30
Какие значения являются пороговыми? ХЗ, честно говоря, исходя из SEOшного опыта я бы сделал 3 уровня
1 – 0.7 – высокая релевантность
0.5 – 0.69 – средняя релевантность
0 – 0.49 – низкая релевантность
Но выставлять пороги – это все равно, что задавать вопрос «С каким DR покупать ссылки?» Поэтому решайте сами для себя.
PS @words_comparison_bot позволяет сравнивать не только отдельные слова но и целые тексты. Так например можно сравнивать ключ и текст.
Wikipedia
Векторная модель
Ве́кторная моде́ль (англ. vector space model) — в информационном поиске представление коллекции документов векторами из одного общего для всей коллекции векторного пространства.
🔥1
Стоп! Зачем изобретать велосипед, когда есть TF/IDF и целая россыпь текстовых анализаторов?
Давным давно в далекой галактике, когда работали ссылки в Яндексе, в каждом втором резюме SEO Джуна не упоминались курсы Антона Маркина, а Рома Морозов и Андрей Буйлов жили в РФ, в Яндексе и Google работали языковые модели основанные на алгоритмах обработки мешка слов. Существует множество вариаций этих моделей, некоторые из которых, судя по прошлогодним сливам из Яндекса успешно используются и сейчас для ряда задач. TF/IDF, BM-25, BM25F, LSI – все эти модели так или иначе основаны на частотных словарях, глобальных IDF и документных TF. Но, мир не стоит на местелетит в преисподнюю поэтому рано или поздно от мешка слов пришлось отказаться в пользу трансформеров
Недостатки TF-IDF и BM25 по сравнению с трансформерами:
1. Ограниченная модель языка
TF-IDF и BM25: Эти модели ранжирования опираются на простую статистику в оценке важности слов, игнорируя контекст. Слово "ключ" может использоваться в значении "ключ к машине" и "ключ от квартиры", но оба метода не способны различить их контекст.
Трансформеры: Трансформеры строят глубокие представления слов в контексте всего текста. Так, используя внимание, модель различит, что "ключ" в контексте "машины" относится к автомобилю, а "ключ от квартиры" — к жилому помещению.
2. Синонимы и формулировки
TF-IDF и BM25: Эти модели полагаются на точное совпадение слов. Если пользователь ищет "лекарство от боли", документ, содержащий "обезболивающее средство", может быть ранжирован ниже из-за разницы в формулировке.
Трансформеры: Модели с использованием эмбеддингов способны обнаруживать схожесть между синонимами и близкими понятиями, поэтому могут выдать релевантные результаты, даже если терминология в запросе и документе отличается.
3. Фиксированное ранжирование
TF-IDF и BM25: Оба метода устанавливают весовые коэффициенты для каждого слова независимо от запроса пользователя. Это приводит к фиксированному ранжированию, при котором одинаковый запрос всегда получает одни и те же результаты.
Трансформеры: Модели трансформеров могут динамически ранжировать результаты, обрабатывая контекст запроса и документов. Например, запрос "лучшие смартфоны" будет давать разные результаты для статей о "самых доступных смартфонах" и "смартфонах премиум-класса".
4. Нормализация и длина документа
TF-IDF и BM25: Эти модели могут неверно ранжировать длинные документы, если они содержат повторяющиеся ключевые слова, или недооценивать короткие, хотя и содержательные, статьи.
Трансформеры: Трансформеры учитывают весь текст, а не просто набор ключевых слов, поэтому они способны лучше учитывать контекст даже в длинных или коротких документах.
Трансформеры более эффективно ранжируют и анализируют тексты благодаря своему пониманию контекста и сложным отношениям между словами, что делает их предпочтительнее для обработки естественного языка в современных системах поиска.
5. Ну и самое главное, ради которого всё и задумывалось – учет порядка слов
TF-IDF и BM25: Игнорируют порядок слов, что может привести к одинаковому ранжированию запросов с различным интентом, например "авиабилеты Москва Сочи" и "авиабилеты Сочи Москва".
Трансформеры: Учитывают порядок слов в запросе, позволяя различать и корректно интерпретировать намерения пользователей для каждого направления полёта.
Подведем итоги! Модель TF-IDF и BM25 и её вариации живы до сих пор, более того тот же самый Magic и ГАР и векторный анализ дают похожие результаты, но собака, что называется зарыта в нюансах, а их поверьте мне масса!
Давным давно в далекой галактике, когда работали ссылки в Яндексе, в каждом втором резюме SEO Джуна не упоминались курсы Антона Маркина, а Рома Морозов и Андрей Буйлов жили в РФ, в Яндексе и Google работали языковые модели основанные на алгоритмах обработки мешка слов. Существует множество вариаций этих моделей, некоторые из которых, судя по прошлогодним сливам из Яндекса успешно используются и сейчас для ряда задач. TF/IDF, BM-25, BM25F, LSI – все эти модели так или иначе основаны на частотных словарях, глобальных IDF и документных TF. Но, мир не стоит на месте
Недостатки TF-IDF и BM25 по сравнению с трансформерами:
1. Ограниченная модель языка
TF-IDF и BM25: Эти модели ранжирования опираются на простую статистику в оценке важности слов, игнорируя контекст. Слово "ключ" может использоваться в значении "ключ к машине" и "ключ от квартиры", но оба метода не способны различить их контекст.
Трансформеры: Трансформеры строят глубокие представления слов в контексте всего текста. Так, используя внимание, модель различит, что "ключ" в контексте "машины" относится к автомобилю, а "ключ от квартиры" — к жилому помещению.
2. Синонимы и формулировки
TF-IDF и BM25: Эти модели полагаются на точное совпадение слов. Если пользователь ищет "лекарство от боли", документ, содержащий "обезболивающее средство", может быть ранжирован ниже из-за разницы в формулировке.
Трансформеры: Модели с использованием эмбеддингов способны обнаруживать схожесть между синонимами и близкими понятиями, поэтому могут выдать релевантные результаты, даже если терминология в запросе и документе отличается.
3. Фиксированное ранжирование
TF-IDF и BM25: Оба метода устанавливают весовые коэффициенты для каждого слова независимо от запроса пользователя. Это приводит к фиксированному ранжированию, при котором одинаковый запрос всегда получает одни и те же результаты.
Трансформеры: Модели трансформеров могут динамически ранжировать результаты, обрабатывая контекст запроса и документов. Например, запрос "лучшие смартфоны" будет давать разные результаты для статей о "самых доступных смартфонах" и "смартфонах премиум-класса".
4. Нормализация и длина документа
TF-IDF и BM25: Эти модели могут неверно ранжировать длинные документы, если они содержат повторяющиеся ключевые слова, или недооценивать короткие, хотя и содержательные, статьи.
Трансформеры: Трансформеры учитывают весь текст, а не просто набор ключевых слов, поэтому они способны лучше учитывать контекст даже в длинных или коротких документах.
Трансформеры более эффективно ранжируют и анализируют тексты благодаря своему пониманию контекста и сложным отношениям между словами, что делает их предпочтительнее для обработки естественного языка в современных системах поиска.
5. Ну и самое главное, ради которого всё и задумывалось – учет порядка слов
TF-IDF и BM25: Игнорируют порядок слов, что может привести к одинаковому ранжированию запросов с различным интентом, например "авиабилеты Москва Сочи" и "авиабилеты Сочи Москва".
Трансформеры: Учитывают порядок слов в запросе, позволяя различать и корректно интерпретировать намерения пользователей для каждого направления полёта.
Подведем итоги! Модель TF-IDF и BM25 и её вариации живы до сих пор, более того тот же самый Magic и ГАР и векторный анализ дают похожие результаты, но собака, что называется зарыта в нюансах, а их поверьте мне масса!
👍4👏2
🤖🤖🤖 Акуальные боты на 23.05.2024 🤖🤖🤖
@vector_keywords_bot – поиск n-грамм по ключу
@words_comparison_bot - сравнение двух текстов по косинусному схоству
@vector_text_bot - на вход ключ и текст, на выходе размеченный по сходству текст
@vector_keywords_bot – поиск n-грамм по ключу
@words_comparison_bot - сравнение двух текстов по косинусному схоству
@vector_text_bot - на вход ключ и текст, на выходе размеченный по сходству текст
Лень – двигатель прогресса!
Каждый раз когда я повторяю одно действие больше 3-х раз подряд - начинаю беситься. Я прямо чувствую как во мне всё вскипает, начинается нервяк и зуд по всему телу🤢.
В такие моменты мгновенно приходит в голову мысль: “Блин, а можно это как-то автоматизировать?” И вот на этом месте я открываю любимый pycharm и сажусь писать автоматизацию на python. Да, иногда быстрее все сделать руками и забыть, но! Неприятных ощущений то никто не отменял, а когда я погружен в процесс кодинга на python – приятное тепло разливается по всему телу, кислотно-щелочной баланс нормализуется, а волосы становятся густыми и шелковистыми 🥸!
К чему эта лирика?
Выкладываю наш внутренний инструмент, родившийся как раз в процессе автоматизации рутины.
Встречайте новый бот 🤖 - @clean_param_bot 🤖
Для чего?
Позволяет составлять инструкцию для Clean-param в несколько кликов.
Экономит ппц как много времени!
Как юзать?
Выкачиваете из вебмастера эксель файл, кидаете его в бот и буквально через пару секунд получаете инструкцию
Мануал тут https://sait-activator.ru/clean_param
Каждый раз когда я повторяю одно действие больше 3-х раз подряд - начинаю беситься. Я прямо чувствую как во мне всё вскипает, начинается нервяк и зуд по всему телу🤢.
В такие моменты мгновенно приходит в голову мысль: “Блин, а можно это как-то автоматизировать?” И вот на этом месте я открываю любимый pycharm и сажусь писать автоматизацию на python. Да, иногда быстрее все сделать руками и забыть, но! Неприятных ощущений то никто не отменял, а когда я погружен в процесс кодинга на python – приятное тепло разливается по всему телу, кислотно-щелочной баланс нормализуется, а волосы становятся густыми и шелковистыми 🥸!
К чему эта лирика?
Выкладываю наш внутренний инструмент, родившийся как раз в процессе автоматизации рутины.
Встречайте новый бот 🤖 - @clean_param_bot 🤖
Для чего?
Позволяет составлять инструкцию для Clean-param в несколько кликов.
Экономит ппц как много времени!
Как юзать?
Выкачиваете из вебмастера эксель файл, кидаете его в бот и буквально через пару секунд получаете инструкцию
Мануал тут https://sait-activator.ru/clean_param
👍6❤2🐳1
Как обучаются нейросети, или почему GPT-4 такая умная. Лёгкое субботнее чтиво )🍹
Первые попытки генерации контента с помощью нейросетей я пробовал еще в 2021 году. Это были seq-to-seq модели с механизмом attention. Результат был мягко говоря не очень. Поэтому, когда появилась модель GPT-3, я, помня свой прошлый опыт изначально отнесся скептически, но когда я увидел GPT-4 я просто охренел!
Да именно в GPT-4 произошел квантовый скачок, переход от количества в качество!
Почему GPT-4 такая умная и как происходит обучение модели?
В процессе обучения на вход по очереди подаются тексты с масками, например:
(Маска) дядя самых честных правил
Мой (маска) самых честных правил
Мой дядя (маска) честных правил
Нейросеть пытается угадать какое слово должно быть вместо маски, результат оценивается с помощью метода back propagation (говоря простым языком - поощряется или штрафуется)
В итоге получаются устойчивые связки фраз, которые и обеспечивает гладкий слог. Но нужно понимать, что появление того или иного слова не данность, а вероятность. Именно за этот фактор и отвечает параметр temperature в моделях Open AI
Вопрос, какой текст будет если подать на вход:
Бобр (маска)?
Ответ тут 😆
Мем старый но очень смешной ). ОК а теперь вопросы. А на каком текстовом корпусе обучались всем известные GPT модели? На книгах Толстого и Достоевского? На Википедии? На школьных чатах или может быть на всем сразу?
Какой корпус русского языка они использовали? И использовали ли они вообще корпус русского языка, или как все модели Open AI сначала думают на английском а потом переводят на все остальные языки мира?
В процессе написания @vector_keywords_bot я перепробовал разные модели и в итоге остановился на одной, которая мне показалась наиболее адекватной. Какой именно? Сохраним интригу для следующих постов 😉.
Первые попытки генерации контента с помощью нейросетей я пробовал еще в 2021 году. Это были seq-to-seq модели с механизмом attention. Результат был мягко говоря не очень. Поэтому, когда появилась модель GPT-3, я, помня свой прошлый опыт изначально отнесся скептически, но когда я увидел GPT-4 я просто охренел!
Да именно в GPT-4 произошел квантовый скачок, переход от количества в качество!
Почему GPT-4 такая умная и как происходит обучение модели?
В процессе обучения на вход по очереди подаются тексты с масками, например:
(Маска) дядя самых честных правил
Мой (маска) самых честных правил
Мой дядя (маска) честных правил
Нейросеть пытается угадать какое слово должно быть вместо маски, результат оценивается с помощью метода back propagation (говоря простым языком - поощряется или штрафуется)
В итоге получаются устойчивые связки фраз, которые и обеспечивает гладкий слог. Но нужно понимать, что появление того или иного слова не данность, а вероятность. Именно за этот фактор и отвечает параметр temperature в моделях Open AI
Вопрос, какой текст будет если подать на вход:
Бобр (маска)?
Ответ тут 😆
Мем старый но очень смешной ). ОК а теперь вопросы. А на каком текстовом корпусе обучались всем известные GPT модели? На книгах Толстого и Достоевского? На Википедии? На школьных чатах или может быть на всем сразу?
Какой корпус русского языка они использовали? И использовали ли они вообще корпус русского языка, или как все модели Open AI сначала думают на английском а потом переводят на все остальные языки мира?
В процессе написания @vector_keywords_bot я перепробовал разные модели и в итоге остановился на одной, которая мне показалась наиболее адекватной. Какой именно? Сохраним интригу для следующих постов 😉.
👍11🐳2
Ваш текстовый анализатор 💩!
Ну, что, клюнули на кликбейтный заголовок? 😉 А теперь ближе к телу! Великий и Ужасный был прав – порядок слов важен! Насколько, спросите вы?
Проведем эксперимент, посмотрим меру cs (косинусного сходства) между ключом и предложением с помощью @words_comparison_bot.
Разница не столь значительна, но ощутима. Скажите, вам знакомо, чувство, когда вы вылизали посадочную по вхождениям, чуть проспамили, употребили весь LSI арсенал, а она, сволочь такая, даже не шелохнулась? В чем же дело?
Порядок слов в предложении зашит на уровне архитектуры нейросети с помощью метода positional encoding (позиционное кодирование.)
Позиция каждого слова кодируется с помощью позиционного эмбеддинга* (вектора), а итоговый эмбеддинг – сумма из эмбеддинга слова и эмбеддинга его позиции.
Ещё раз!
Итоговый вектор = вектор слова + вектор позиции слова
Для чего это было сделано? Классический пример: «авиабилеты Москва Сочи» и «авиабилеты Сочи Москва».
Как SEOшники обходили эту проблему раньше? Использовали n-граммы, а не только униграммы.
Ок, скажете вы, пришел, поумничал, а нам простым SEOшникам как с этим жить дальше?
Не претендуя на роль SEO гуру могу сделать несколько простых выводов:
1. Все старые методики текстового анализа и большинство текстовых анализаторов основанных, на модели «мешок слов», что-то считают… Как это юзать – вопрос уже больше не технический а религиозный.
2. Ищите копирайтеров и SEOшников с бэкграундом в определенных нишах.
3. Используйте биграммы, чтобы хоть как-то подстроиться под порядок слов
4. Юзайте моих ботов, ну и тут тоже без религии никуда )))
Анонс! В ближайшие день/два выкачу новый функционал у одного из ботов, отвечаю, будет бомба!💥
Ну, что, клюнули на кликбейтный заголовок? 😉 А теперь ближе к телу! Великий и Ужасный был прав – порядок слов важен! Насколько, спросите вы?
Проведем эксперимент, посмотрим меру cs (косинусного сходства) между ключом и предложением с помощью @words_comparison_bot.
1 пара:
Ключ: пластиковые окна
Текст: Покупайте пластиковые окна в компании Оконика со скидкой в Москве недорого с установкой и бесплатной гарантией.
cs = 0.8
2 пара:
Ключ: пластиковые окна
Текст: В компании Оконика покупайте недорого со скидкой и установкой с бесплатной гарантией пластиковые окна в Москве.
cs = 0.73Разница не столь значительна, но ощутима. Скажите, вам знакомо, чувство, когда вы вылизали посадочную по вхождениям, чуть проспамили, употребили весь LSI арсенал, а она, сволочь такая, даже не шелохнулась? В чем же дело?
Порядок слов в предложении зашит на уровне архитектуры нейросети с помощью метода positional encoding (позиционное кодирование.)
Позиция каждого слова кодируется с помощью позиционного эмбеддинга* (вектора), а итоговый эмбеддинг – сумма из эмбеддинга слова и эмбеддинга его позиции.
Ещё раз!
Итоговый вектор = вектор слова + вектор позиции слова
Для чего это было сделано? Классический пример: «авиабилеты Москва Сочи» и «авиабилеты Сочи Москва».
Как SEOшники обходили эту проблему раньше? Использовали n-граммы, а не только униграммы.
Ок, скажете вы, пришел, поумничал, а нам простым SEOшникам как с этим жить дальше?
Не претендуя на роль SEO гуру могу сделать несколько простых выводов:
1. Все старые методики текстового анализа и большинство текстовых анализаторов основанных, на модели «мешок слов», что-то считают… Как это юзать – вопрос уже больше не технический а религиозный.
2. Ищите копирайтеров и SEOшников с бэкграундом в определенных нишах.
3. Используйте биграммы, чтобы хоть как-то подстроиться под порядок слов
4. Юзайте моих ботов, ну и тут тоже без религии никуда )))
Анонс! В ближайшие день/два выкачу новый функционал у одного из ботов, отвечаю, будет бомба!💥
👍19❤1
Йу-ху! Держите @vector_keywords_bot версия 2.0!
Случилось новое масштабное обновление, теперь можно не просто выгрузить семантически близкие слова из нейросети, но и посчитать количество вхождений на странице!
Как это работает?
1. /start – стартуете бота
2. подаете ключ в первом сообщении
3. url – во втором сообщении, либо цифру «0» если url не нужен
4. наслаждаетесь результатом
Всем продуктивных трудовыебудней! 👷
Случилось новое масштабное обновление, теперь можно не просто выгрузить семантически близкие слова из нейросети, но и посчитать количество вхождений на странице!
Как это работает?
1. /start – стартуете бота
2. подаете ключ в первом сообщении
3. url – во втором сообщении, либо цифру «0» если url не нужен
4. наслаждаетесь результатом
Всем продуктивных трудовыебудней! 👷
👍8🔥3🏆1
Как читать результаты для @vector_keywords_bot?
Здесь cs – косинусная близость
Вхождений в url – вхождения лемматизированной n-граммы в тело страницы
PS Сloudflare и антиботов пока не проходит, это следующая задача.
Здесь cs – косинусная близость
Вхождений в url – вхождения лемматизированной n-граммы в тело страницы
PS Сloudflare и антиботов пока не проходит, это следующая задача.
👍6
Легкое субботнее чтиво🍹, или как я пытался прогнозировать крипту с помощью нейросетей 🤑
Я не знаю в курсе вы или нет, но я нахожусь в топах Яндекса и Гугла по запросам связанным с разработкой нейросетей и мне регулярно падают Лиды. Так вот, примерно четверть таких заявок связана с прогнозированием числовых рядов, то есть применима к прогнозированию тех или иных курсов валют, битка и прочих альткоинов, расчета прироста поголовья поросят, прогнозирования продаж водки в Сельпо, и так далее.
На данный момент существует масса методик прогнозирования числовых рядов. Это деревья решений со всевозможными вариациями, xgboost, catboost и так далее, есть экзотические разработки от команды Тинькофф банка, я же как то заморочавшись и не поспав две ночи родил архитектуру нейросети на основе LSTM. Кстати LSTM (нейросеть с эффектом памяти) использовал поиск до революции трансформеров.
И каковы же результаты твоих исследований спросите вы ?
Спойлер: Ламбу не купил, в Дубай 🏙️ не переехал, дальше продолжать? 😆
Ну, как говорится у самурая нет цели, есть только путь, а вот о нем как раз я и хочу рассказать.
Наигравшись вдоволь со своей LSTM моделькой я решил посмотреть, что там у них, и буквально в два клика нашел на Kaggle решение своей задачи, раскатал модельку и получил схожий результат.
В вложении – схема моей LSTM модельки и результат
Я не знаю в курсе вы или нет, но я нахожусь в топах Яндекса и Гугла по запросам связанным с разработкой нейросетей и мне регулярно падают Лиды. Так вот, примерно четверть таких заявок связана с прогнозированием числовых рядов, то есть применима к прогнозированию тех или иных курсов валют, битка и прочих альткоинов, расчета прироста поголовья поросят, прогнозирования продаж водки в Сельпо, и так далее.
На данный момент существует масса методик прогнозирования числовых рядов. Это деревья решений со всевозможными вариациями, xgboost, catboost и так далее, есть экзотические разработки от команды Тинькофф банка, я же как то заморочавшись и не поспав две ночи родил архитектуру нейросети на основе LSTM. Кстати LSTM (нейросеть с эффектом памяти) использовал поиск до революции трансформеров.
И каковы же результаты твоих исследований спросите вы ?
Спойлер: Ламбу не купил, в Дубай 🏙️ не переехал, дальше продолжать? 😆
Ну, как говорится у самурая нет цели, есть только путь, а вот о нем как раз я и хочу рассказать.
Наигравшись вдоволь со своей LSTM моделькой я решил посмотреть, что там у них, и буквально в два клика нашел на Kaggle решение своей задачи, раскатал модельку и получил схожий результат.
В вложении – схема моей LSTM модельки и результат
👍3
Легкое субботнее чтиво – продолжение!
Ну так вот жеж, путь в Дубай 🏙️ открыт!
Как бы не так. Дело в том, что все модели получились крайне консервативными, это видно на графиках, тендицию они плюс минус ловят но вот на пиках очень сильно не добирают.
Ок, подумал я, введем немного хаоса, добавим dropout слоев - функция выключающая ряд нейронов в процессе обучения и помогающая побороть переобучение модели. Пики стали больше, но они перестали совпадать:-))
Ты упоминал Тинькофф, скажет вы. Да я раскатал модель от них, результат примерно тот же.
Ок, но ведь у нас же есть наш любимый трансформер! Ведь по сути текст это ряд слов (оцифрованных токенов) ну и позиционный эмбеддинг запоминает место слова в тексте… Вооружившись новой идеей, в обнимку с чатом джипити в очередную темную ташкентскую ночь я родил таки трансформер который должен был охренительно прогнозировать временные ряды.
Но! В процессе создания я обратил внимание на один любопытный факт. Почему то в Ютубе нет ни одного видоса где автор делает нечто подобное. Причем про прогнозирование временных рядов с помощью LSTM видео снял чуть ли не каждый второй индус.
Как вы думаете почему? Да потому, что результат получился самым провальным! 🙈🤣Именно по этому никто так не делает!
К чему это я?
Ребят, хотите торговать криптой? Купите себе несколько ботов, которые торгуют с разными стратегиями и верьте в чудо ))
PS Ну и графиков вам вдогонку, оно там красивое местами ))
Ну так вот жеж, путь в Дубай 🏙️ открыт!
Как бы не так. Дело в том, что все модели получились крайне консервативными, это видно на графиках, тендицию они плюс минус ловят но вот на пиках очень сильно не добирают.
Ок, подумал я, введем немного хаоса, добавим dropout слоев - функция выключающая ряд нейронов в процессе обучения и помогающая побороть переобучение модели. Пики стали больше, но они перестали совпадать:-))
Ты упоминал Тинькофф, скажет вы. Да я раскатал модель от них, результат примерно тот же.
Ок, но ведь у нас же есть наш любимый трансформер! Ведь по сути текст это ряд слов (оцифрованных токенов) ну и позиционный эмбеддинг запоминает место слова в тексте… Вооружившись новой идеей, в обнимку с чатом джипити в очередную темную ташкентскую ночь я родил таки трансформер который должен был охренительно прогнозировать временные ряды.
Но! В процессе создания я обратил внимание на один любопытный факт. Почему то в Ютубе нет ни одного видоса где автор делает нечто подобное. Причем про прогнозирование временных рядов с помощью LSTM видео снял чуть ли не каждый второй индус.
Как вы думаете почему? Да потому, что результат получился самым провальным! 🙈🤣Именно по этому никто так не делает!
К чему это я?
Ребят, хотите торговать криптой? Купите себе несколько ботов, которые торгуют с разными стратегиями и верьте в чудо ))
PS Ну и графиков вам вдогонку, оно там красивое местами ))
😁5👍2
Что общего между теорией большого взрыва 🎆 и нейросетями?
Хаос в нулевой точке, просто хаос, белый шум из которого постепенно эпоха за эпохой рождается новый чудный мир.
Нейроны или, говоря научно, функции активации, неким образом объединенные в сеть (архитектура) передают друг другу сигнал (цифру) с определенным весовым коэффициентом. Говоря проще, получили на вход 5, умножили на (-0,567), получили на выходе -2.835 и передали сигнал другому нейрону.
При самом первом запуске обучения нейросети, весовые коэффициенты распределяются случайным образом (да именно банальный рандом) и лишь потом эпоха за эпохой постепенно они пересчитываются и картинка мира упорядочивается.
Ок, с этим разобрались, но существует еще одна довольно значимая проблема - переобучение, это когда нейросеть по факту просто зазубривает результаты обучающей выборки, а в боевых условиях работает с низкой точностью. Это как если бы на вопрос как правильно выбрать диван, нейросеть отвечала бы вам исключительно стихами Пушкина, поскольку посчитала их идеальным ответом на все жизненные вопросы и ситуации.
Как бороться с переобучением? Внести немного хаоса! Да да именно так. Обычно это делается через, так называемые, dropout слои которые случайным образом выключают нейроны.
К чему весь этот разговор? Дело в том, что в любой нейросети заложена случайность, если бы ее не было, мы бы ушли в переобучение, но тогда мы с вами не могли бы ничему научиться, поскольку обучение - по факту цепь проб ошибок и получение обратной связи (механизм back propagation). Добавьте сюда многорукого бандита, регулярный пересчет эмбеддингов большими языковыми моделями и теперь расскажите мне про повторяемость результатов в seo, а я послушаю 😅
Хаос в нулевой точке, просто хаос, белый шум из которого постепенно эпоха за эпохой рождается новый чудный мир.
Нейроны или, говоря научно, функции активации, неким образом объединенные в сеть (архитектура) передают друг другу сигнал (цифру) с определенным весовым коэффициентом. Говоря проще, получили на вход 5, умножили на (-0,567), получили на выходе -2.835 и передали сигнал другому нейрону.
При самом первом запуске обучения нейросети, весовые коэффициенты распределяются случайным образом (да именно банальный рандом) и лишь потом эпоха за эпохой постепенно они пересчитываются и картинка мира упорядочивается.
Ок, с этим разобрались, но существует еще одна довольно значимая проблема - переобучение, это когда нейросеть по факту просто зазубривает результаты обучающей выборки, а в боевых условиях работает с низкой точностью. Это как если бы на вопрос как правильно выбрать диван, нейросеть отвечала бы вам исключительно стихами Пушкина, поскольку посчитала их идеальным ответом на все жизненные вопросы и ситуации.
Как бороться с переобучением? Внести немного хаоса! Да да именно так. Обычно это делается через, так называемые, dropout слои которые случайным образом выключают нейроны.
К чему весь этот разговор? Дело в том, что в любой нейросети заложена случайность, если бы ее не было, мы бы ушли в переобучение, но тогда мы с вами не могли бы ничему научиться, поскольку обучение - по факту цепь проб ошибок и получение обратной связи (механизм back propagation). Добавьте сюда многорукого бандита, регулярный пересчет эмбеддингов большими языковыми моделями и теперь расскажите мне про повторяемость результатов в seo, а я послушаю 😅
👏1