TheFounder

TheFounder

Здесь будет интересно всем, кто увлекается нейросетями, хочет стать разработчиком, создать свой IT-стартап... Ну, или просто любит и хочет изучать код :)
На Пикабу
user8732176 ждёт новые посты
поставил 0 плюсов и 0 минусов
100 рейтинг 2 подписчика 0 подписок 24 поста 0 в горячем

Какие технологии предсказывали в прошлом, и что из этого сбылось?

Какие технологии предсказывали в прошлом, и что из этого сбылось? Программирование, IT, Программист, Удаленная работа, Ученые, Технологии, Развитие, Длиннопост

Кадр из фильма “Назад в Будущее 2”

Впервые о том, как будут развиваться технологии в будущем, заговорили ещё во 2 веке нашей эры. И этим человеком считается сирийско-греческий писатель Лукиан Самосатский, написавший роман “Правдивая история”. В романе были описаны путешествие в открытый космос на корабле и межпланетная война за колонизацию Утренней звезды (Венеры).

Вот и как тебе такое, Илон Маск?

И вот уже потом подхватили научную фантастику, как жанр, писатели Жюль Верн, Рэй Брэдбери, Дуглас Адамс и другие. Потом подключились и режиссеры: Дени Вильнев, Ридли Скотт, Джей-Джей Абрамс… Перечислять имена других создателей и восхищаться их произведениями можно долго.

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

Умный Дом

Как представляли раньше:

Какие технологии предсказывали в прошлом, и что из этого сбылось? Программирование, IT, Программист, Удаленная работа, Ученые, Технологии, Развитие, Длиннопост

Как выглядит сейчас:

Какие технологии предсказывали в прошлом, и что из этого сбылось? Программирование, IT, Программист, Удаленная работа, Ученые, Технологии, Развитие, Длиннопост

В 1980-х годах люди начали говорить о том, что дом может стать "умным" — то есть использовать компьютеры и технологии для автоматизации задач и управления. Один из первых концептов умного дома был представлен в статье Джима Систэнда в журнале "Компьютеры и графика" в 1984 году. На тот момент идея осталась просто концепцией, потому что нужные технологии ещё не были разработаны.

С появлением интернета вещей (IoT) и развитием беспроводных технологий, умные дома стали реальностью в 21 веке. Теперь умный дом — это дом, который использует сенсоры, умные устройства и интернет для автоматизации и контроля. Вы можете управлять освещением, температурой, безопасностью и другими системами в вашем доме с помощью смартфона или голосовых команд.

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

Летающие автомобили

Как представляли раньше:

Какие технологии предсказывали в прошлом, и что из этого сбылось? Программирование, IT, Программист, Удаленная работа, Ученые, Технологии, Развитие, Длиннопост

Как выглядит сейчас:

Какие технологии предсказывали в прошлом, и что из этого сбылось? Программирование, IT, Программист, Удаленная работа, Ученые, Технологии, Развитие, Длиннопост

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

Первый прототип летающего автомобиля был разработан компанией "Terrafugia", основанной в 2006 году американским инженером Карлом Дайкстра. Их модель под названием Transition была представлена в 2009 году и была первым автомобилем, способным превращаться из автомобиля в самолёт и обратно. Этот прототип предназначался для личного использования и имел возможность взлетать и приземляться на небольших аэродромах.

Сейчас китайская компания X-Peng Motors готовит к выходу новую модель электромобиля — стильный спорткар, который сможет не только ездить по дорогам, но и летать в воздухе. Предполагаемая стоимость составит около 1 миллиона юаней, что в пересчете по текущему курсу составляет примерно 11,1 миллиона рублей.

3D-принтеры

Как представляли раньше:

Какие технологии предсказывали в прошлом, и что из этого сбылось? Программирование, IT, Программист, Удаленная работа, Ученые, Технологии, Развитие, Длиннопост

Как выглядит сейчас:

Какие технологии предсказывали в прошлом, и что из этого сбылось? Программирование, IT, Программист, Удаленная работа, Ученые, Технологии, Развитие, Длиннопост

История 3D-принтеров началась в 1980-х годах. Одним из первых пионеров в этой области была компания 3D Systems, основанная Чаком Халлом. Они создали первый коммерчески доступный 3D-принтер под названием "Аппарат для производства трехмерных объектов методом стереолитографии" (SLA) в 1986 году. Затем в 1992 году компания Stratasys выпустила первый прототип фьюзорной депозиционной моделировочной (FDM) технологии 3D-печати.

Сейчас 3D-принтеры применяются везде: прототипирование, производство, медицина, архитектура и даже космическая индустрия! Они позволяют создавать сложные детали, индивидуальные изделия и прототипы быстро и сравнительно недорого.

Технология 3D-печати продолжает развиваться, и с каждым годом появляются новые материалы, методы и применения, что делает ее одной из наиболее захватывающих и перспективных областей в мире инженерии и дизайна.

Нейросети и Машинное Обучение

Как представляли раньше:

Какие технологии предсказывали в прошлом, и что из этого сбылось? Программирование, IT, Программист, Удаленная работа, Ученые, Технологии, Развитие, Длиннопост

Как выглядит сейчас:

Какие технологии предсказывали в прошлом, и что из этого сбылось? Программирование, IT, Программист, Удаленная работа, Ученые, Технологии, Развитие, Длиннопост

Истоки нейросетей и технологий ML восходят к 1943 году, когда Уоррен Маккаллок и Уолтер Питтс представили модель искусственного нейрона, которая послужила основой для развития нейронных сетей. В 1957 году Фрэнк Розенблатт создал перцептрон, одну из первых моделей нейронной сети, способную обучаться на основе обратной связи.

Сегодня нейросети и ML находятся в центре внимания в IT-индустрии. С развитием вычислительных мощностей и больших объемов данных они стали доступны для решения широкого спектра задач: от распознавания образов и обработки естественного языка до управления автономными системами и принятия решений в реальном времени. ML-инженеры, специализирующиеся на разработке и применении алгоритмов машинного обучения, в настоящее время являются одними из самых востребованных специалистов в IT-сфере. Их работа позволяет создавать инновационные продукты и решения, которые изменят нашу жизнь и бизнес-процессы в любой отрасли.

Virtual Reality (VR)

Как представляли раньше:

Какие технологии предсказывали в прошлом, и что из этого сбылось? Программирование, IT, Программист, Удаленная работа, Ученые, Технологии, Развитие, Длиннопост

Как выглядит сейчас:

Какие технологии предсказывали в прошлом, и что из этого сбылось? Программирование, IT, Программист, Удаленная работа, Ученые, Технологии, Развитие, Длиннопост

Идея виртуальной реальности (VR) зародилась еще в середине 20 века. Разработки были, но самого термина не существовало. Наиболее значительный вклад в ее развитие внес Джарон Ланье в начале 1980-х годов. Он создал термин "виртуальная реальность" и разработал первые системы виртуальной реальности, такие как манипулятор DataGlove и первый коммерческий VR-шлем EyePhone. Эти устройства позволяли пользователям взаимодействовать с виртуальным миром через сенсорные и визуальные интерфейсы.

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

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

AI-дроны

Как представляли раньше:

Какие технологии предсказывали в прошлом, и что из этого сбылось? Программирование, IT, Программист, Удаленная работа, Ученые, Технологии, Развитие, Длиннопост

Как выглядит сейчас:

Какие технологии предсказывали в прошлом, и что из этого сбылось? Программирование, IT, Программист, Удаленная работа, Ученые, Технологии, Развитие, Длиннопост

Идея дронов с искусственным интеллектом присутствовала в научной фантастике и концепциях инженерии уже давно. Хотя 100 лет назад конкретно о такой технологии, как AI-дроны, не говорили, но в истории аэрокосмической индустрии существовали предпосылки для развития этой идеи. К примеру, в работах пионеров авиации, таких как Никола Тесла и Леонардо да Винчи, можно найти прототипы беспилотных летательных аппаратов.

Зато сейчас ИИ-дроны становятся все более актуальными и развитыми. Искусственный интеллект позволяет дронам принимать решения на основе анализа данных с датчиков и камер, обучаться на ходу, улучшать свою производительность и даже взаимодействовать с окружающей средой и другими дронами. Это делает их более автономными и эффективными в выполнении различных задач, таких как доставка грузов, наблюдение и патрулирование, аэрофотосъемка и даже поиск и спасение людей.

Роботы-хирурги

Как представляли раньше:

Какие технологии предсказывали в прошлом, и что из этого сбылось? Программирование, IT, Программист, Удаленная работа, Ученые, Технологии, Развитие, Длиннопост

Как выглядит сейчас:

Какие технологии предсказывали в прошлом, и что из этого сбылось? Программирование, IT, Программист, Удаленная работа, Ученые, Технологии, Развитие, Длиннопост

Идея использования роботов в хирургии впервые пришла в начале 20-го века, когда были разработаны первые прототипы медицинских роботов. Но их реальное внедрение началось лишь в конце 20-го — начале 21-го века благодаря совершенствованию технологий робототехники и искусственного интеллекта.

Один из первых успешных примеров роботизированной хирургии — это система Da Vinci, разработанная компанией Intuitive Surgical в начале 2000-х годов.

В 2024 году NASA планирует отправить робота-хирурга MIRA на МКС. MIRA — робот для внутренних операций, созданный в Virtual Incision совместно с Университетом Небраски. Под руководством профессора Фарритора его разрабатывали более 20 лет. В 2023 году он использовался при операции на толстой кишке через один разрез.

В ходе предстоящего полёта на орбиту инженеры хотят изучить особенности работы машины в условиях невесомости. В перспективе — через 50 или 100 лет — роботы вроде MIRA должны войти в стандартную комплектацию космического корабля на тот случай, если, к примеру, у одного из членов экипажа начнётся аппендицит.

Нейрокомпьютерные интерфейсы

Как представляли раньше:

Какие технологии предсказывали в прошлом, и что из этого сбылось? Программирование, IT, Программист, Удаленная работа, Ученые, Технологии, Развитие, Длиннопост

Как выглядит сейчас:

Какие технологии предсказывали в прошлом, и что из этого сбылось? Программирование, IT, Программист, Удаленная работа, Ученые, Технологии, Развитие, Длиннопост

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

В 2024 году Neuralink впервые вживила в мозг человека специальное устройство, позволяющее управлять компьютером с помощью мыслей. Операция прошла успешна, ведь на данный момент первый испытуемый чувствует себя отлично, играя в игры действительно силой мысли.

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

Домашние роботы

Как представляли раньше:

Какие технологии предсказывали в прошлом, и что из этого сбылось? Программирование, IT, Программист, Удаленная работа, Ученые, Технологии, Развитие, Длиннопост

Как выглядит сейчас:

Какие технологии предсказывали в прошлом, и что из этого сбылось? Программирование, IT, Программист, Удаленная работа, Ученые, Технологии, Развитие, Длиннопост

В 1960-е годы в фильмах можно было увидеть различные идеи роботов и автоматизации, но роботы-помощники в домашнем хозяйстве не были столь распространены. Некоторые фильмы того времени, такие как "Метрополис" (1927) Фрица Ланга или "Запретная планета" (1956) Фреда М. Уилкокса, изображали роботов. Правда, в ином контексте: они выполняли другие функции, не связанные с помощью в бытовых делах.

Первым коммерчески доступным роботом-помощником по дому был Unimate, созданный компанией Unimation в 1961 году. Этот робот был предназначен для выполнения задач на производстве, таких как поднятие и перемещение тяжелых предметов. Он не был таким, как современные роботы-помощники по дому, но его появление заложило основу для развития этой технологии в дальнейшем.

Показать полностью 18

Чем отличается задача классификации от кластеризации?

Чем отличается задача классификации от кластеризации? Программирование, IT, Программист, Удаленная работа, Классификация, Самообразование, Кластерный анализ

Кластеризация относится к задаче разделения набора данных на группы (кластеры) таким образом, чтобы объекты внутри одного кластера были более похожи друг на друга, чем на объекты из других кластеров.

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

Мы открываем космос, а не заранее предписываем, как должны выглядеть звезды или галактики.

В отличие от классификации, в кластеризации метки классов не предоставляются, и алгоритмы кластеризации должны самостоятельно определить структуру данных. Главная цель кластеризации — выделить скрытые структуры в данных. Алгоритмы кластеризации идут под методы "k-средних", иерархической кластеризация, DBSCAN ну и так далее.

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

Задача “классификации” — найти функцию, которая отображает входные данные в заданные классы. Алгоритмы классификации строятся с использованием маркированных данных. Мы уже знаем, по каким признакам будем делить объекты в данных.

Итого:

  • В классификации имеются явно определенные метки классов для каждого обучающего примера, в то время как в кластеризации метки классов отсутствуют.

  • Цель классификации — предсказать класс нового экземпляра данных, тогда как цель кластеризации — выделить группы схожих объектов без предварительно определенных классов.

  • В классификации используются методы обучения с учителем, тот же метод опорных векторов, в то время как в кластеризации применяются методы обучения без учителя.

Вот теперь не путайтесь :)

Показать полностью 1

Мультимодальное программирование?

Мультимодальное программирование? IT, Программирование, Удаленная работа, Инновации, Нейронные сети, Машинное обучение, Программист

Звучит страшно. Мульти, модальное, так еще и программирование. Технически, такой подход в ML включает в себя разработку приложений с поддержкой нескольких модальностей ввода и вывода: аудио, видео, текст и даже голоса — все эти данные объединяются и прогоняются через алгоритмы машинного обучения.

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

Работая вместе, VQGAN генерирует изображение, а CLIP выступает как ранжировщик, оценивая насколько хорошо изображение подходит тексту. Тот же Siri от Apple, Google Assistant и Amazon Alexa — примеры мультимодальных ИИ, так как им приходится взаимодействовать и с голосом пользователя, и его текстовыми запросами. В E-commerce может стоять классификатор продуктов, учитывающий и их названия, и внешний вид.

Очевидно, что у мультимодальных нейросетей много применений — это могут быть все нейросети, где задействуется два и более типа данных. Мы также нашли датасет CMU-MOSEI с аудио и видео тысячи спикеров на ютубе.

Но Microsoft, Apple, OpenAI и другие компании все равно остаются на стороне одномодальных моделей, ведь зачастую невозможно выделить адекватное представление аудио через текст, а также провести адекватное совместное обучение из-за проблем перевода данных из одной модели в другую, например, как в случае перевода обработанной информации с компьютерной томографии и МРТ.

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

Показать полностью 1

Одно и то же число, но разные результаты: как работает random_state в ML?

Одно и то же число, но разные результаты: как работает random_state в ML? Программирование, IT, Удаленная работа, Карьера, Профессия, Машинное обучение, Программист, Длиннопост

Что такое random_state в машинном обучении? Зачем нужен этот парметр и как его выбрать? А что вообще общего у числа 42 с культовой книгой “Автостопом по галактике”? И разве случайности не случайны?..

Что такое random_state и как его настройка влияет на обучение моделей?

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

Если же забыли или сейчас столкнулись с randome_state впервые, рассказываем, что это такое.

Параметр `random_state` в ML-разработке обычно используется для установки начального состояния генератора случайных чисел. Этот параметр часто встречается в алгоритмах машинного обучения, которые включают случайные элементы. Например, инициализация весов модели, разделение данных на обучающий и тестовый наборы, случайная инициализация параметров и т. д.

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

`random_state` — это как начальное число, которое указывает компьютеру, как начать генерацию случайных чисел. Если вы каждый раз используете одно и то же значение `random_state`, то каждый раз, когда вы запускаете эксперимент, вы будете получать те же самые случайные числа. Это помогает сделать ваше исследование воспроизводимым. То есть каждый раз, когда вы запускаете эксперимент с одним и тем же `random_state`, вы получаете те же самые результаты.

Почему это важно?

Предположим, что у вас есть модель, которая дает вам хорошие результаты на определенном наборе данных. Вы хотите сравнить ее с другой моделью или настройками. Если вы используете один и тот же `random_state`, то обе модели будут тестироваться на тех же самых данных, что позволит вам честно сравнивать их результаты.

random_state = 0 or 42 or none

Чаще всего люди устанавливают значение random_state на 0 или 42. Но вы знаете, почему это так?

Простота запоминания

Числа 0 и 42 довольно легко запомнить, поэтому они часто используются как стандартные значения для `random_state`.

Распространенность

Эти числа стали популярными благодаря их частому использованию в примерах и обучающих материалах. Честно говоря, многие останавливаются на этих значениях, даже если они не понимают их смысла.

Теперь давайте рассмотрим каждое число отдельно:

- 0 — часто используемое значение, потому что оно приводит к одинаковым результатам при каждом запуске программы, что удобно для проверки и воспроизводимости экспериментов.

- 42 — это число стало популярным после того, как стало известно, что автор Дуглас Адамс использовал его в своей книге "Автостопом по галактике" как ответ на вопрос о смысле жизни, вселенной и всего такого. В итоге эта сцена стала культовой, поэтому теперь это число часто используется в качестве самого простого способа установить `random_state`.

Таким образом, когда люди говорят о том, что чаще всего используют числа 0 или 42 для `random_state`, они обычно имеют в виду, что это стандартные значения, которые многие выбирают из привычки, не всегда понимая, почему именно эти числа используются.

Что такое random_state?

В библиотеке Scikit-learn этот параметр управляет перетасовкой данных перед их разделением. Мы используем его в функции train_test_split для разделения данных на обучающую и тестовую выборки.

Он может принимать следующие значения:

1. Нет (по умолчанию). Если не указано значение, то используется глобальный экземпляр случайного состояния из библиотеки numpy.random. Если мы вызываем функцию с random_state=None, то каждый раз получаем разные результаты.

2. Целое число. Установка любого значения из целого числа для random_state дает один и тот же результат при каждом выполнении программы. Изменение значения random_state приведет к изменению результата.

Важно помнить, что random_state не может быть отрицательным числом!

Как это работает?

Допустим, у нас есть набор из 10 чисел, от 1 до 10. Теперь, когда мы хотим его разделить на обучающую и тестовую выборки, мы решаем, что размер тестовой выборки должен составить 20% от всего набора данных.

Получается, что в обучающем наборе будет 8 чисел, а в тестовом — 2. Это важно для того, чтобы каждый раз получать одинаковые результаты при запуске кода. Если мы не перетасуем данные, то каждый раз будем получать разные выборки. А это может некачественно сказаться на обучении модели.

Немного подробнее: когда мы устанавливаем значение `random_state` для наших случайных процессов, мы фактически фиксируем начальное состояние генератора случайных чисел. Это гарантирует, что каждый раз, когда мы запускаем наш код с тем же значением `random_state`, то получаем одинаковый набор случайных чисел. И в нашем случае, когда мы используем этот `random_state` для разделения данных на обучающий и тестовый наборы, мы получаем одинаковое разделение каждый раз, когда запускаем код.

На картинке ниже показано, как это работает:

Одно и то же число, но разные результаты: как работает random_state в ML? Программирование, IT, Удаленная работа, Карьера, Профессия, Машинное обучение, Программист, Длиннопост

Давайте разберемся в одном важном моменте. Многие люди используют значение random_state = 42. На изображении выше видно, что при установке random_state равным 42, мы получаем один и тот же фиксированный набор данных, который был перетасован. Это означает, что каждый раз, когда мы устанавливаем random_state равным 42, мы получаем один и тот же перетасованный набор данных.

Таким образом, число 42 не обладает особым значением для random_state.

Давайте посмотрим, как это можно использовать для разделения набора данных

Здесь мы используем набор данных о качестве вина и модель линейной регрессии. Делаем просто, потому что наша основная цель — это random_state, а не точность.

Одно и то же число, но разные результаты: как работает random_state в ML? Программирование, IT, Удаленная работа, Карьера, Профессия, Машинное обучение, Программист, Длиннопост

Использование random_state при разделении

В представленном выше коде для random_state равного 0, mean_squared_error составила 0.384471197820124. Если мы попробуем разные значения для random_state, то каждый раз получим разные ошибки.

Для random_state = 1,  mean_squared_error равна 0.38307198158142.

Для random_state = 69,  mean_squared_error равна 0.47013897077423.

Для random_state = 143,  mean_squared_error равна 0.42062134425032.

Сколько вообще возможных случайных состояний бывает?

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

1. Мы берем набор из 5 чисел от 1 до 5.

2. Далее разделяем этот набор данных на обучающие и тестовые данные 2000 раз, используя значения random_state от 1 до 2000. Каждое значение random_state создает новую случайную последовательность разделения данных.

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

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

Установка значения random_state в диапазоне от 0 до 119 позволит нам получить одну из этих 120 уникальных комбинаций данных при каждом запуске алгоритма.

Эти выводы можно объяснить так:

Одно и то же число, но разные результаты: как работает random_state в ML? Программирование, IT, Удаленная работа, Карьера, Профессия, Машинное обучение, Программист, Длиннопост

Короче говоря, это про факториалы. При использовании набора данных из 5 чисел и их перестановкой, мы фактически создаем комбинации, а количество уникальных комбинаций, как можно заметить, равно факториалу числа 5, то есть 5! = 5 × 4 × 3 × 2 × 1 = 120.

Использование параметра `random_state` в этом контексте подобно выбору одной из 120 уникальных комбинаций данных. Каждое значение `random_state` соответствует одной из перестановок чисел, и они будут однозначно связаны с числами от 0 до 119, что совпадает с индексами возможных комбинаций факториала числа 5.

Этот эксперимент помогает нам понять, как параметр `random_state` влияет на разделение данных и на результаты моделирования в машинном обучении, потому что он определяет начальное состояние генератора псевдослучайных чисел. При разделении данных на обучающий и тестовый наборы с использованием `random_state` мы фиксируем последовательность случайных чисел, которая влияет на способ разделения данных.

Этот параметр важен, потому что он обеспечивает воспроизводимость результатов: при одном и том же значении `random_state` мы получаем одинаковую разбивку данных, что позволяет повторно воспроизвести эксперимент и проверить результаты моделирования. И именно таким образом, понимание того, как работает `random_state`, помогает нам контролировать случайность в нашем анализе данных и сделать его более надежным и воспроизводимым.

Зачем нам это нужно?

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

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

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

Разные значения random_state могут дать нам разную производительность.

Например, разные значения random_state дают разные значения mean_squared_error.

Это означает, что если вы выберете случайное значение random_state, и вам повезет, то вы сможете свести к минимуму количество ошибок для этого значения.

Да и в других аспектах машинного обучения random_state пригодится. Например:

KMeans

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

Случайный лес

В классификаторе случайного леса и в модели регрессии параметр random_state контролирует начальное случайное состояние выборок, используемых при построении деревьев, и выборку объектов, учитываемых при поиске наилучшего разделения в каждом узле.

Дерево решений

В классификаторе дерева решений или регрессии, когда мы ищем наилучшие признаки для разделения узлов, тоже стоит задать параметр random_state. Этот определяет структуру дерева и гарантирует воспроизводимость результатов.

Ну, вот и всё, что вам нужно знать о random_state!

Показать полностью 4

От реактивных машин до искусственного сверхразума: какие виды ИИ мы знаем сейчас?

От реактивных машин до искусственного сверхразума: какие виды ИИ мы знаем сейчас? IT, Программирование, Эволюция, Карьера, Удаленная работа, Искусственный интеллект, Программист, Тестирование, Длиннопост

Столько всего было рассказано и показано про ИИ, но очень редко обсуждается, каких он бывает видов… Поэтому сегодня поговорим об этом подробнее!

Неважно, насколько вы знакомы с темой, здесь точно найдется что-то новое. От реактивных машин, которые просто реагируют на окружающую среду, до искусственного сверхразума, способного превзойти человеческий интеллект.

Реактивные машины

Смысл этого ИИ следует из названия — реагировать на текущую ситуацию. Самой первой такой машиной стала Deep Blue, которая в 1997 году выиграла у чемпиона мира по шахматам, Гарри Каспарова. Она могла анализировать текущее состояние шахматной доски и делать ходы на основе этой информации, но не могла использовать предыдущие игры для обучения и принятия решений.

От реактивных машин до искусственного сверхразума: какие виды ИИ мы знаем сейчас? IT, Программирование, Эволюция, Карьера, Удаленная работа, Искусственный интеллект, Программист, Тестирование, Длиннопост

Автомобили с автопилотом — еще один пример. Они используют датчики для анализа окружающей среды и принятия решений на дороге. Но, как и Deep Blue, они не могут учитывать прошлый опыт.

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

ИИ с ограниченной памятью

Этот ИИ учитывает, что было раньше, когда принимает решения. Например, система умного дома помнит, какие настройки климата предпочитают жильцы, и регулирует их соответственно.

Другой пример — это рекомендательная система на YouTube. Она подкидывает вам видео, исходя из того, что вы смотрели раньше. Другие видео последнего просмотренного блогера, другие видео по той же тематике — всё то, что может вас заинтересовать. То же самое касается и reels в запрещенной соцсети.

Этот ИИ старается делать свою работу лучше, основываясь на прошлом опыте. Но он не может использовать этот опыт для того, чтобы узнать что-то новое или понять, почему происходят определенные события.

Теория разума

Сокращенно можно называть ТоМ. Он уже более продвинутый, потому что понимает намерения, убеждения и эмоции человека. Другими словами, если мы “вживим” этот ИИ в тело робота, то такой робот будет “считывать” эмоции человека по его лицу. Или понимать, как чувствует себя человек, исходят из положения его тела.

От реактивных машин до искусственного сверхразума: какие виды ИИ мы знаем сейчас? IT, Программирование, Эволюция, Карьера, Удаленная работа, Искусственный интеллект, Программист, Тестирование, Длиннопост

Над ТоМ’ом ещё ведутся разработки. Искусственный интеллект с развитым эмоциональным интеллектом, который будет понимать юмор и сарказм — это, конечно, мощно… Но первые наработки уже имеются.

Компания Hume AI в конце марта этого года представила новую систему под названием Empathic Voice Interface (EVI). Этот ИИ может анализировать голос человека и определять его эмоциональное состояние. Он улавливает не только слова, но и интонации, позволяя понять контекст разговора. При этом EVI даже может изменять свой собственный голос, чтобы лучше соответствовать настроению собеседника.

У Hume AI есть и другие продукты с похожим функционалом. Они могут анализировать выражения лица, движения человека и его реакции на окружающее.

Искусственный Узкий Интеллект (ИУИ)

Он считается слабым, потому что не справляется с несколькими сложными  задачами сразу. Но, несмотря на это, такой ИИ — один самых востребованных.

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

От реактивных машин до искусственного сверхразума: какие виды ИИ мы знаем сейчас? IT, Программирование, Эволюция, Карьера, Удаленная работа, Искусственный интеллект, Программист, Тестирование, Длиннопост

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

Сильный Искусственный Интеллект (СИИ)

Сильный искусственный интеллект (СИИ) — это такой ИИ, который умеет решать много разных задач, подобно человеку. Он не только умеет решать задачи, но и может учиться на своих ошибках, адаптироваться к новым ситуациям и принимать решения на основе сложной информации.

Например, система автономного вождения — это СИИ. Она может самостоятельно управлять автомобилем, принимать решения и адаптироваться к разным ситуациям на дороге. Эта система учится на опыте и становится лучше с каждой новой поездкой.

Другой пример — IBM Watson. Она умеет анализировать большие объемы информации, понимать тексты и давать рекомендации на основе этой информации. Watson используется в медицине, финансах и других областях для принятия важных решений на основе данных.

Всем известные LLM и GPT также относятся к СИИ.

Самосознание

ИИ, который осознает и понимает собственное существование.

От реактивных машин до искусственного сверхразума: какие виды ИИ мы знаем сейчас? IT, Программирование, Эволюция, Карьера, Удаленная работа, Искусственный интеллект, Программист, Тестирование, Длиннопост

Если вы спросите у GPT, осознает ли он, что является искусственным интеллектом, он ответит, что да, и его предназначение — это помощь людям. Но стоит переиначить вопрос, спросив напрямую: “Есть ли у тебя самосознание?”, он ответит, что является всего лишь программным алгоритмом.

Но почему в ответе на первый вопрос чат-бот сказал, что “осознает”? Он запрограммирован на этот ответ, вот и всё.

На данный момент ИИОН (Искусственный Интеллект Общего Назначения), у которого было бы самосознание, как у человека, ещё не разработан. И видели мы его лишь в фантастике.

AGI

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

Отличие AGI от сильного ИИ в том, что сильный ИИ обладает мощной способностью решать сложные задачи, но он ограничен в том, что делает, и может работать только в определенной области. AGI же способен заниматься разными видами деятельности, самосовершенствоваться, делать выводы, но, как бы то ни было, брать отвественность за свои действия он не сможет.

Именно AGI намерены разработать OpenAI, Google и Anthropic в ближайшие годы.

Супер Искусственный Интеллект

Супер-ИИ — также, как и Самосознание и AGI, находится пока в гипотезе, но предполагается, что он будет превосходить возможности человеческого разума во всех аспектах.

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

От реактивных машин до искусственного сверхразума: какие виды ИИ мы знаем сейчас? IT, Программирование, Эволюция, Карьера, Удаленная работа, Искусственный интеллект, Программист, Тестирование, Длиннопост

HAL из фильма Кубрика “2001 год: Космическая одиссея”, Матрица, которая превзошла человеческий интеллект и контролирует весь мир, как реальный, так и виртуальный, Гарант, господствующий над Kepler-22b, из сериала “Воспитанные волками” — эти и подобные примеры существуют только в реализованной фантазии писателей и режиссеров, но не в жизни. К сожалению это или к счастью.

Показать полностью 6

ИИ против сериала Mr.Robot?

ИИ против сериала Mr.Robot? IT, Удаленная работа, Программирование, Программист, Mr Robot, Даркнет, Карьера, Профессия, Длиннопост

ИИ для кибербезопасности — поиск уязвимостей при помощи нейросетей или подбор ключей шифрования? Нет же! Мы тут за правопорядок и сохранение чужих данных.

Стартап собрал уже около 7 миллионов долларов в серии A. Подобные стартапы быстро растут из-за их успеха и уникального способа борьбы с киберпреступностью — прогнозированием атак.

Чтобы понять принцип работы приведенного нами стартапа, нужно немного разобраться в современном мире кибербезопасности и даркнета: какие методы взломов сегодня используются, что такое Shell-инъекции или квантовая криптография?

Как ломать cервера и отбирать у корпораций-монополистов деньги?

И мы сегодня не про социальный инжиниринг и попытки вытащить данные самыми простыми способами: фишингом, угадыванием паролей. Нет, мы про планомерные поиски уязвимостей: внедрение SQL-инъекций, когда хакер пытается вшить запрос в платформу по управлению базами данных, кибершпионаж, где примером может быть шпионский программный комплекс "Flame", обнаруженный в 2012 году, который использовался для кибершпионажа и сбора конфиденциальных данных с компьютеров во многих странах.

ИИ против сериала Mr.Robot? IT, Удаленная работа, Программирование, Программист, Mr Robot, Даркнет, Карьера, Профессия, Длиннопост

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

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

Хакерская тематика — интересная и ее изучение помогает лучше ориентироваться в основах информатики, криптографии и работы с ПК на самом низком уровне абстракций.

И хотя большинство хакерских способов взлома остаются дистанционными. Хотя Mr Robot, будучи социопатом, сумел засветиться и в роли настоящего агента, взламывающего, например, Bluetooth через утилиту btscanner и Bluesniff в комплекте. В некоторых сериях Эллиот, главный герой сериала, проникает в серверные, закидывает черви или вводит те самые инъекции Shell-Code.

ИИ против сериала Mr.Robot? IT, Удаленная работа, Программирование, Программист, Mr Robot, Даркнет, Карьера, Профессия, Длиннопост

Если хотите почитать статьи из мира хакерства — добро пожаловать на открытый журнал про методы взломов и новости мира кодеров даркнета https://xakep.ru/

Но не забывайте, любые хакерские атаки незаконны!

Идея стартапа и спрос на защиту от людей в капюшонах

Пожалуй, вместе с ростом рынка "темного" интернета растет и предложение о защите. Да, у ML специалистов высокие зарплаты, но у специалистов по кибербезопасности они запредельные, хотя порог входа у кодеров в этом направлении высокий. Принципов защиты сегодня достаточно: даже системы квантовой криптографии, нулевого доверия или Zero Trust и наш вариант — системы ИИ и ML. Все они обладают изюминкой — работают превентивно, в момент атаки или после. Концептуально разные.

Например, в квантовой криптографии для передачи информации используются квантовые биты, или кубиты, которые могут находиться в состоянии, обозначенном как 0, 1 или суперпозиции 0 и 1 одновременно (квантовый параллелизм).

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

ИИ против сериала Mr.Robot? IT, Удаленная работа, Программирование, Программист, Mr Robot, Даркнет, Карьера, Профессия, Длиннопост

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

А так, большинство корпоративных специалистов кибербезопасности скрещивают алгоритмы по типу RSA, OpenOD или принципы хэширования и нулевое доверие, где каждое устройство априори не может быть допущено к данным без аутентификации.

Но у любой подобной системы есть существенный минус — они предохраняют утечку данных, но не отрабатывают превентивные меры и не ведут мониторинг "потерь". А это необходимо.

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

Компания предлагает три продукта для защиты, все они про мониторинг:

Darkweb-Tracker — комплексная платформа разведки с использованием превентивной Дата-аналитики, NLP и принципов OMNIST, своеобразного парсинга. Разведка нужна для понимания ситуации в комьюнити хакеров, для отслеживания атак на другие сервисы. Источники поиска разные: хакерские формы, блоги с утечками и черные рынки. ИИ фильтрует криптокошельки, сети, личную информацию и визуализирует связи и закономерности между точками данных — все для облегчения анализа. Ну и, конечно, сервис легко интегрируется с API-платформы клиента. В комплексе сразу идут методы визуализации, чтобы сотрудникам было легче ориентироваться в вырванных данных.

ИИ против сериала Mr.Robot? IT, Удаленная работа, Программирование, Программист, Mr Robot, Даркнет, Карьера, Профессия, Длиннопост

Подобный трэкер позволяет предвосхищать атаки и устранять найденные хакерами уязвимости — отличный вариант для тех, у кого "уязвимости" появляются на длинном отрезке времени.

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

ИИ против сериала Mr.Robot? IT, Удаленная работа, Программирование, Программист, Mr Robot, Даркнет, Карьера, Профессия, Длиннопост

Последний – Dark Web Monitoring хакеров-вымогателей. Модули мониторинга "инцидентов" парсят непрерывный поток данных в реальном времени о потенциальных угрозах и инцидентах безопасности, выявленных в даркнете.

Cтартап молодой. Нам самим интересно, как покажут себя ИИ в мониторинге и помогут ли сократить расходы компаний, число инцидентов. Покажет время, но пока проект выглядит многообещающе.

Darknet — новая угроза инфраструктуре и экономике? 

Даркнет — обратная сторона интернета, где ежедневно проводятся тысячи финансовых операций через блокчейн по продаже оружия/наркотиков/людей, а также данных.

Наконец-то первый в нашем списке стартап по кибербезопасности. Трояны, блокировщики Windows, DDOS — уже позади. На Всемирном экономическом форуме киберпреступность вписывают в списки глобальных вызовов наравне с вынужденной эмиграцией. Везде попытки нарушить работу сельскохозяйственных предприятий, финансовых систем, водных и даже космических. Впрочем, воровство корпоративных данных — настоящий бич современных компаний. Google, Microsoft готовы выложить 30 млрд долларов на повышение информационной безопасности.

В 2023 году ЦБ раскрыл сумму похищенного у обычных граждан денег за первый квартал– 4.5 млрд рублей. Общемировой ущерб почти достигает 6 трлн долларов. Все доходит до того, что некоторые данные государство готово выкупать у хакеров. Причем частным компаниям приходится тратить громадные суммы на покрытие выкупов данных, так как установка адекватной защиты — сложное и затратное предприятие.  Почитайте учебник по криптографии и представьте себе тысячи строк кода на самых низких уровнях абстракций, откуда данные и вытаскиваются.

ИИ против сериала Mr.Robot? IT, Удаленная работа, Программирование, Программист, Mr Robot, Даркнет, Карьера, Профессия, Длиннопост

Мотивация киберпреступников

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

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

Показать полностью 6

Рекуррентные сети против трансформеров

Рекуррентные сети против трансформеров Программирование, IT, Технологии, Инновации, Удаленная работа, Трансформеры, Нейронные сети, Программист, Длиннопост

Или история о том, как научная статья "Вам нужно только внимание..." немного перевернула игру и индустрию ИИ.

Трансформеры становятся сотами или попросту попадают в самые последние решения сферы NLP. Кстати, заслужили свою популярность они вообще недавно — только в 2017 году, когда курс доллара был 60 рублей, а для тг-каналов с новыми ИИ не исчислялись тысячами.

Мы уже писали почему трансформаторы стали популярными и как обеспечили компаниям по типу OpenAI успех. Не зря их главный продукт называется GPT, иначе Generative Pre-trained Transformer.

Нет взрывающихся или исчезающих градиентов.

Параллельное и быстрое обучение.

Механизм внимания и больше никакой зависимости от положения слов.

Читайте об этой архитектуре нейронок в нашем новом материале


В чем проблема рекуррентных нейронок?

Задачи машинного перевода, языкового конструирования или распознавания голоса. Когда-то все они решались при помощи RNN, так называемых, рекуррентных нейронных сетей, которые упрощали, сводили огромное число параметров к конечному результату и условному прогнозу.

Отличие RNN от обычной нейронки со скрытыми слоями и output/input — наличие временной компоненты и памяти.

Рекуррентные сети против трансформеров Программирование, IT, Технологии, Инновации, Удаленная работа, Трансформеры, Нейронные сети, Программист, Длиннопост

Визуализация  работы полносвязной или простейшей нейронной сети.

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

В этом смысл названия. Рекурсия. Мы постепенно переходим от временного шага t и входных данных к новому скрытому состоянию и так постепенно накапливаем данные. Так и учитывается контекст. Читая книгу, мы запоминаем детали с предыдущих страниц, а в конце неожиданно начинаем сами дописывать прочитанный нами "детектив"...

Создатели RNN-щики попросту учли наш способ чтения — он последовательный. Слово за словом, состояния за состояниями, данные за данными. Обрабатывая токен или слово, ИИ запоминает "информацию" с токена и передает ее дальше для использования при обработке следующего слова/токена. У каждого слоя нейронки появляется своеобразная "память".

Помимо связей между слоями, элемент получает связь с самим с собой, возвращается к себе, передавая информацию с текущего момента времени t1 в следующий момент времени t2.

Рекуррентные сети против трансформеров Программирование, IT, Технологии, Инновации, Удаленная работа, Трансформеры, Нейронные сети, Программист, Длиннопост

Возьмем за пример предложение: “I love dogs”. Сначала рекуррентная нейронка пронесет через себя I, которую можно представить в виде вектора, запомнит некоторые данные и использует их при последующей последовательной обработке love.

Формулы рекуррентной сети немного сложнее:

Рекуррентные сети против трансформеров Программирование, IT, Технологии, Инновации, Удаленная работа, Трансформеры, Нейронные сети, Программист, Длиннопост

Обучаемая матрица в конкретный момент времени t умножается на входные данные. Все это суммируется с умноженной обучаемой матрицей и скрытым вектором на предыдущем шаге (t-1). Все это безусловно прогоняется через функцию активации.

Новое скрытое состояние умножается на обучаемую матрицу и готово. Наш выход yt!

Вектор скрытого состояния — это и есть "память" слоя.

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

Рекуррентные сети против трансформеров Программирование, IT, Технологии, Инновации, Удаленная работа, Трансформеры, Нейронные сети, Программист, Длиннопост

Память у такой рекуррентной сети неизбирательная, так что в какой-то момент мы просто можем забыть "информацию" с самых первых “скормленных” слов… При обработке длинных последовательностей RNN кодеры могут столкнуться с проблемой исчезающего градиента.

Так как нам учитывать все эти злосчастные скрытые состояния, а не только одно последнее? Вот для этого в 2017 году энтузиасты и разработали механизм "Attention".

Механизм внимания: RNN + attention

В нужные моменты мы обращаем внимания на нужные слова. А не распределяем токены один к одному. Очевидно, что, например, последовательность слов в разных языках разная. А одни слова чаще употребляются с другими. Принцип Attention, который был разработан ученым-энтузиастами, призван как раз распределять веса или значимость токенов/слов и создавать эффект “контекста”.

Принцип максимально приближен к имитации семантических цепочек.

Рекуррентные сети против трансформеров Программирование, IT, Технологии, Инновации, Удаленная работа, Трансформеры, Нейронные сети, Программист, Длиннопост

Например, плитку мы упоминаем в архитектурном, строительном или интерьерном контексте. Для любого слова в языке есть набор постоянно употребляемых в контексте слов. Говорим "выстрели", скорее, из ружья или пистолета... Говорим “включи” чаще ПК, телефон или "в розетку".

Млекопитающее-кит-планктон-вода...

Стул-стол-гарнитур-мебель-вилка...

Мы можем распределить "значимость" одних слов для других. Стулья бывают разные: на улице, на кухне, в банкетном зале, в офисе... Необязательно стул как-то должен быть связан с гарнитуром или вилкой. А вот со столом...

Именно поэтому предпочтительнее в тексте раскидывать значимость слов контекстуально.

Легче понятие "attention" описать концепцией сущности вещей. Вот есть у нас автомобиль, что прежде всего делает автомобиль автомобилем? Безусловно — колеса. Колеса важнее всех остальных элементов.

Рекуррентные сети против трансформеров Программирование, IT, Технологии, Инновации, Удаленная работа, Трансформеры, Нейронные сети, Программист, Длиннопост

Зеленым подсвечены точки интереса – внимания.

Attention (внимание) в машинном обучении — это механизм, который позволяет модели динамически выбирать, на какие части входных данных сосредоточить своё внимание при выполнении задачи.

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

Матрица должна обучаться при тренировке. Для каждого токена она будет считать вектор и распределять места по месту в предложении. Выглядит это примерно так.

Рекуррентные сети против трансформеров Программирование, IT, Технологии, Инновации, Удаленная работа, Трансформеры, Нейронные сети, Программист, Длиннопост

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

При работе типичных кодеров/декодеров, например, вариационного автокодировщика результаты с применением дополнительного слоя Attention повышаются, значительно. “Внимание” раскрывает вероятностный подход нейросети.

Рекуррентные сети против трансформеров Программирование, IT, Технологии, Инновации, Удаленная работа, Трансформеры, Нейронные сети, Программист, Длиннопост

Какая вероятность, что перевод слова sex – любовь, а не пол человека? Но полноценно вся мощь этого механизма разработана в трансформерах.

Attention заменяет каждый эмбеддинг токена/слова на эмбеддинг, содержащий информацию о соседних токенах, вместо использования одинакового эмбеддинга для каждого токена вне зависимости от контекста. Если бы мы кодировали слова по принципу словаря, получили бы просто “мешок слов”, который никак с друг другом не связан.

Трансформеры или сдвиг парадигмы в NLP

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

Архитектура трансформера состоит из енкодера и декодера.

Рекуррентные сети против трансформеров Программирование, IT, Технологии, Инновации, Удаленная работа, Трансформеры, Нейронные сети, Программист, Длиннопост

Энкодер состоит из слоев, как и декодер.

Рекуррентные сети против трансформеров Программирование, IT, Технологии, Инновации, Удаленная работа, Трансформеры, Нейронные сети, Программист, Длиннопост

Каждый из слоев состоит из блоков: self-attention и полносвязной нейронной сети (обычная нейронка, где одни слои связаны со всеми последующими слоями).

Рекуррентные сети против трансформеров Программирование, IT, Технологии, Инновации, Удаленная работа, Трансформеры, Нейронные сети, Программист, Длиннопост

Входные данные проходят через механизм self-attention и в новом векторном представлении “скармливаются” обычной полноразмерной нейронной сети.

Self-attention — главный костяк работы трансформера. Давайте представим, что у нас есть предложение "Кот ловит мышь". Каждое слово в этом предложении (кот, ловит, мышь) представлено вектором. Self-Attention — это механизм, который позволяет модели фокусироваться на важных словах в предложении и определять, какие слова имеют большее значение для понимания смысла всего предложения.

Для каждого слова в предложении мы создаем три вектора: запрос (Query), ключ (Key) и значение (Value). Затем мы используем эти векторы, чтобы определить, насколько каждое слово важно для каждого другого слова в предложении. Естественно, что подобное перемножение не работает простым образом.

Главная цель self-attention затащить в нейронную сеть максимальное число векторных представлений, которые бы обрисовывали значимость отдельных слов в разных контекстах.

Когда мы говорим "Кот ловит мышь", модель может сосредоточиться на слове "Кот", чтобы понять, о ком идет речь. Для этого модель вычисляет, насколько слово "Кот" важно для каждого другого слова в предложении. Если важно, она больше обращает на него внимание.

Рекуррентные сети против трансформеров Программирование, IT, Технологии, Инновации, Удаленная работа, Трансформеры, Нейронные сети, Программист, Длиннопост

Слово It зависимо в большей степени от animal. Животных в английском языке называют местоимением “Оно”. 

Таким образом, благодаря механизму Self-Attention, модель может динамически определять, какие слова в предложении наиболее значимы, учитывая их контекст и взаимосвязь друг с другом. В результате работы механизма мы получаем attention-score.

Если провести такую операцию своеобразного эмбендинга кода, а именно восемь раз и получить на выходе новые матрицы с весами мы получим целый набор весов для разных контекстов, а это еще больше информации! Чем больше информации – тем лучше.

Рекуррентные сети против трансформеров Программирование, IT, Технологии, Инновации, Удаленная работа, Трансформеры, Нейронные сети, Программист, Длиннопост

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

Какие трансформеры сегодня есть помимо GPT?

1. BERT (Bidirectional Encoder Representations from Transformers): Разработанный в Google, BERT - это модель трансформера, обученная на огромном корпусе текстовых данных для выполнения различных задач NLP, таких, как классификация текста, извлечение информации и вопросно-ответные системы.

2. T5 (Text-to-Text Transfer Transformer): Разработанный Google, T5 – универсальная модель трансформера, которая может решать широкий спектр задач NLP, представленных в формате текст-к-тексту. Такой формат позволяет использовать единый обученный трансформер для различных задач, таких как перевод, классификация, генерация текста и многое другое.

3. XLNet.  Этот подход, также разработанный Google, представляет собой расширение и улучшение модели трансформера BERT. XLNet использует перестановочный механизм предложений и предлагает улучшенное моделирование контекста и лучшее качество на различных задачах NLP.

4. RoBERTa (Robustly optimized BERT approach). Разработанный Facebook, RoBERTa – это улучшенная версия модели BERT, которая была обучена с использованием различных стратегий обучения, таких как динамическое маскирование и обучение на длинных последовательностях, что привело к улучшению качества на различных задачах NLP.

Показать полностью 14

Трансформеры

Трансформеры Программирование, IT, Удаленная работа, Программист, Технологии, Трансформеры

IT-мир впервые узнал о трансформерах в 2017 году, когда команда исследователей из проекта Google Brain представила эту технологию. Это был тот самый момент, когда разработка ИИ вышла на новый уровень.

Почему?

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

Это делает их не только быстрее в обучении, но и позволяет им эффективно обрабатывать большие объемы данных.

Технически, трансформеры используют механизм внимания для того, чтобы "сосредоточиться" на разных частях текста одновременно, а также позиционные эмбеддинги для того, чтобы знать, где каждое слово расположено в предложении или тексте.

Помимо обработки текстовых данных, трансформеры, такие как ViT (Vision Transformer), применяются для обработки изображений на различных задачах computer vision.

Сегодня на основе архитектуры трансформер работают практически все большие языковые модели: GPT-4, YandexGPT, Llama, Claude, Gemini и другие.

Показать полностью 1
Отличная работа, все прочитано!