Введение в искусственный интеллект
331 subscribers
63 photos
2 videos
170 links
Просто об искусственном интеллекте и его возможностях. Помогу разобраться в базовых понятиях и создать собственную нейросеть. Рассказываю, что у ИИ под кожей.
Елена Михалькова
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
💘4
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
❤‍🔥3
Ну... про серию подкастов я не уверена, но один будет точно 😎
👍1🫡1
This media is not supported in your browser
VIEW IN TELEGRAM
🔥2
Вот как раз слои текста мы и будем разбирать. Это, кстати, одно из направлений ИИ - вытаскивать логику, которая привела к выдаче конкретного ответа.
😱1
This media is not supported in your browser
VIEW IN TELEGRAM
Ну и напоследок.. Надеюсь, вам понравился Олег 😊
1🥴1
This media is not supported in your browser
VIEW IN TELEGRAM
1🤝1
Ах да, чат-бот, который мы упомянули, можно потыкать вот здесь @iq_utmn_bot . Правда, он недавно переехал на новый сервер, поэтому в нем могут быть технические шоколадки 🤧
👍21
Dalle, Midjourney, Stable Diffusion, Kandinsky
Осторожно! Этот пост написан неспециалистом в области компьютерного зрения. Все совпадения с реальными технологиями случайны. Во время написания поста пострадало одно животное - Олег. Из него вылезла часть наполнителя.

Не перестаю удивляться, в какое время мы живем! Так сказать, what a time to be alive! Оказывается для него даже название есть: ИИшная весна, или ИИшный бум. Согласно Википедии, связан он с такими областями, как биомедицина, компьютерное зрение, компьютерная лингвистика и технологии обработки звука (странно, что до сих пор нет термина компьютерная акустика). Я бы еще добавила до кучи дата майнинг. Лично я специализируюсь на компьютерной лингвистике. Но если уж делать канал про введение в ИИ, то остальные области тоже как-то придется освещать. Сегодня поосвещаю компьютерное зрение (CV - computer vision, компьЮтэ вИжен).
Самым ярким событием в CV, по моему мнению, было автоматическое распознавание чисел. Сверточную нейронную сеть, которая определяет по изображению, какие числа написаны, создал французский ученый Ян ЛеКун. Это прямо было вау! Вот видео, сделанное в 1989 г. (!), с демонстрацией работы алгоритма. С бумом технологий компьютерной лингвистики в CV появилось новое интересное направление: привязывание картинки к высказыванию. Начиналось все с генерации подписей и поиска картинок по ключевым словам, но потом плавно перешло к генерации изображений по текстовому описанию.
В 2019-2020 гг., пока бушевал ковид, айтишники наконец получили возможность легально работать из дома и открыли ящик Пандоры из text-to-image алгоритмов. То есть таких алгоритмов, которые на вход принимают описание того, что должно быть на изображении, например “котик”, а на выходе дают сгенерированную картинку, которая по их мнению максимально отвечает описанию. Из-за использования в алгоритмах случайных чисел котики каждый раз будут немного другими.
👆 5 января 2021 - демонстрация DALLe от OpenAI. Очень большой бум! Все были в полном восторге от реалистичности изображений.
Февраль 2022 - релиз первой версии Midjourney от одноименной лаборатории из Сан-Франциско.
🖖 Август 2022 - релиз Stable Diffusion, первой модели text-to-image с открытым исходным кодом. Сделано в Германии. Их сайт.
👍 Первая версия сети Kandinsky от Сбера была получена летом 2022 на основе ruDALL-E XL, которая была доступна в виде сервиса генерации изображений еще в ноябре 2021. Поиграться с Kandinsky можно тут. Не забудьте зарегаться!
Как работает text-to-image? Оставлю этот вопрос для отдельного поста в феврале.

#эссеиистика
🔥3
А вот таким был мой первый аватар в этом канале, созданный с помощью Kandinsky. Ластиком удаляем часть головы и пишем промпт "голова робота с красным лазером вместо глаза" (кажется, что-то такое).
Всем творческих успехов!
❤‍🔥7🔥1
Анонс на февраль 2024

Чето у меня случилась неделя каникул. Пора продолжить постинг. Итак, по результатам опроса лидируют алгоритмы машобуча. Затем идут NLP, история IT и, наконец, компьютерное зрение. Ну и вот это вот все вдохновило меня на такой план на февраль:

🖤 18 Кластеризация: базовый базис
🖤 20 Зачем графу ребра, и посадил ли он дерево?
🖤 22 Иерархическая кластеризация, или как читать дендрограммы
🖤 25 Синтаксическое дерево
🖤 27 Языки разметки: HTML, XML, YAML
🖤 29 DBSCAN - это вам не просто случайный набор букв

See you soon!
❤‍🔥5
🖤 Кластеризация - это база, это знать надо

Вот ведь что такое кластеризация… Вышел как-то один ботаник в сад, где цвели ирисы, глянул на поле и понял, что ирисы бывают не просто разные, а разных видов. Этого ботаника звали… Нет, не Альберт Эйнштейн, а Эдгар Андерсон - ну, по крайней мере, так говорит Википедия. Именно он собрал четыре параметра ирисов для датасета, который потом назвали… Нет, не в честь Андерсона, а в честь Рональда Фишера, который на примере датасета продемонстрировал метод выявления признаков, на основе которых можно отнести экземпляры к некоторым классам. Фишер уже знал, что ирисы бывают трех видов. А вот Андерсон открыл виргинику - Iris virginica - один из трех видов в датасете.
Как он при этом действовал? Посмотрел на цветы и… мысленно кластеризовал их в две разные группы: вот виргиника, а вот верзиколор (Iris versicolor).
Почему раньше их считали одним видом? Да им просто не померяли те четыре признака, которые Андерсон посчитал значимыми для разделения видов - длина и ширина чашелистика и длина и ширина лепестка. И новый вид он открыл потому, что после измерений понял, что-то тут не так. В отличие от третьего вида в датасете - сетосы (Iris setosa), которая сильно отличается - виргиника и верзиколор во многом похожи. Но если взять все четыре признака и проанализировать их, то реально выходят два разных вида.
Как при этом действовать? Как развести два ириса в разные группы? Пусть каждый признак - это координата по одной из осей. Осей пусть будет столько, сколько признаков мы померили. В случае ирисов - четыре. Теперь каждый ирис представлен точкой в четырехмерном пространстве.
Вариант первый: мы уже знаем, что видов - два. Тогда найдем по каждой из осей такую точку, ниже которой будет, судя по измеряемому признаку, максимум экземпляров одного вида, а выше - второго вида. Найти такую точку сродни поиску баланса, когда у нас минимизируется ошибка. То есть минимум ирисов оказывается не в своей категории. Это была придумка Фишера - линейный дискриминантный анализ.
Вариант второй: мы не знаем, сколько тут видов. Измеряем в нашем многомерном пространстве расстояние от каждой точки до ее соседа. Там, где между точками расстояния поменьше (точки как бы сгрудились вокруг невидимого центра притяжения), это пусть один отдельный вид. Такой вид называется кластер. А процедура его вычисления - кластеризация. И тут мы приходим к одной замечательной особенности. Чтобы произвести кластеризацию, нужно решить, какое максимальное расстояние между двумя точками мы будем считать допустимым, чтобы отнести их к одному кластеру. То есть где нам остановиться, когда мы от центра притяжения, где плотность высокая и расстояния маленькие, уходим к периферии. Либо нужно решить, сколько всего кластеров мы хотим. Тогда делим наши точки по принципу максимальной близости так, чтобы получилось заданное количество кластеров. Ну как будто фломастером обводим эти тучки из точек. Сказали обвести три - обводим три, так чтобы точки максимально плотно внутри них были расположены.
Вот такая она - кластеризация. В ней много зависит от нашего восприятия.

#база
👍51
🖤 Зачем графу ребра, и посадил ли он дерево?

Есть в математике такой раздел: теория графов. По-моему, его пока в школе как отдельный раздел не изучают, но терминологию используют и некоторые задачи решают. Графы полезны как модель для решения. В ИИ они встречаются в кластеризации, деревьях решений, представлении структуры предложения или словаря и даже в визуализации круга ваших контактов в социальных сетях. Поэтому сегодня напишу вкратце о графах.
Граф - это точки, соединенные линиями. Точки называются вершинами (а также узлами; a node, vertex, point), линии - ребрами (дугами; an edge, a link, line). Просто точка, без ничего, это изолированный граф. А если две точки соединены ребрами так, что можно попасть из одной в другую двумя разными способами, то это цикл.
Считается, что теория графов началась с задачи о мостах Кенигсберга: в городе есть семь мостов - как пройти по всем так, чтобы не пройти дважды ни по одному из мостов?
Картинка с мостами тут. Попробуйте мысленно пройти по мостам. Интуитивно вроде бы понятно, что придется несколько раз ходить по одному и тому же мосту, но вдруг мы что-то упускаем? Леонард Эйлер в 1736 первым доказал математически, что это невозможно. Мосты он представил как ребра графа. Вершины - это берега рек, причем у одной вершины пять ребер, а у остальных по три. Эйлер доказал, что решение задачи зависит от количества вершин и того, сколько из них имеют нечетное количество ребер.
А теперь усложним задачу. Пусть у нас есть сотня городов, соединенных дорогами. Мы должны посетить как можно больше городов так, чтобы как можно меньше оказываться в одном и том же городе. Снова представляем города и дороги как графы. Задачу можно усложнить, добавив стоимость поездки по каждой дороге. Это уже задача коммивояжёра (редко пишу ё, но тут прям просится) - задача на построение самого выгодного маршрута, или задача на оптимизацию. Один из самых простых способов решить эту задачу называется “алгоритм ближайшего соседа”:
👆 начнем в случайной вершине,
пометим ее как пройденную, а остальные - как непройденные,
🖖 выбираем ближайший город из тех, которые мы еще не посетили,
👊 топаем в этот ближайший город, отмечаем его как посещенный,
🖐 идем на шаг три, пока все не обойдем.
Т.к. в этой задаче можно посещать один город несколько раз, то, оказавшись в окружении только посещенных городов, ищем самый дешевый/короткий путь до следующего непосещенного. Этот метод решает задачу быстро, но не дает гарантии самого оптимального решения.
Словарь языка (особенно все существительные) тоже можно представить в виде графа. Возьмем слово “стол” - оно будет вершиной. Стол является подвидом мебели - представим над вершиной-столом вершину-мебель и соединим их ребром. Мебель - это вид предметов быта - проведем теперь ребро к ним, куда-то наверх. Предметы быта суть некие объекты. К объектам сходятся ветви из живых существ, объектов неживой природы, абстрактных понятий и т.п. Все ветви образуют дерево: граф, в котором из каждой точки в любую другую его точку можно прийти только одним путем. А представление словаря в виде понятийного графа называется тезаурус.

#база
5
Дорогие подписчики!

Свое следующее мероприятие я проведу не в Тюмени, но там будет частичный онлайн. А если вы вдруг окажетесь в г. Санкт-Петербурге сразу перед мартовскими каникулами, то велком и на практику.
Это будет воркшоп - мастерская по научной теме, над которой я работаю еще со времен диплома (2006 г.): теория комического через призму количественных методов. Данные рассказывают нам, почему и над чем мы смеемся.
Только обязательно зарегистрируйтесь заранее на сайте. Регистрироваться надо и на онлайн-лекцию.

#ниипетпроект
😍5👍1
🖤 Иерархическая кластеризация, или как читать дендрограммы

Оказалось, эта кластеризация - та еще зараза. Рабочий день ушел на то, чтобы... барабанная дробь... ну конечно же, отмахнуться ноутбучеком с кодом.
Что такое иерархическая кластеризация? Берем точки в n-мерном пространстве, но не просто по одной, а по две или даже более, и смотрим какой-то признак, который их сближает. Самое простое - это расстояние между точками. Чем ближе, тем более вероятно, что точки принадлежат одному кластеру (который, возможно, и есть целый класс). Начинаем кластеризовать от самых близких, собирая их в нижний уровень иерархии, к самым дальним, пока все точки не образуют один большой мегакластер. Таким образом, на самом верхнем уровне собирается все подряд - следовательно, здесь нельзя сделать вывод об общности признаков, сходстве элементов. А вот на уровнях пониже можно. Собсна, в ноутбучеке я использую пример из векторизации юморных твитов - самый первый уровень кластеризации проходит успешно. Ну а дальше несвезло 😇🍀 В общем жмякайте ссылку выше и читайте каменты в коде. Там все подробно расписано.

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

#notebook #база
6👍1🔥1
🖤 Синтаксическое дерево

Что такое предложение (на естественном языке, например, русском)? Если посмотреть очень формально, то это набор символов между первой буквой, открывающей предложение (если письмо буквенное, а не, например, иероглифическое), и пунктуационным знаком, который сигнализирует об окончании предложения (.?!). То есть мы сами решаем, где границы предложения, а потом сигналим об этом на письме всякими значками. Если говорить со стороны смысла, то тут стоит сравнить предложения, выделяемые на письме, с устной речью. Когда говорят об устной речи, то там принято выделять даже не столько предложения, сколько высказывания. То есть какой-то интонационно завершенный отрезок, который имеет некоторое смысловое единство, вроде сообщения о факте или вопрошания или отрицания и т.д. На письме же, когда нам кажется, что мы написали более-менее законченную мысль, то мы ставим точку (или другой пунктуационный знак), чтобы разделить речь на удобоваримые отрезки.
Предложение тоже (тоже - если вы жмякали мой прошлый ноутбук) можно представить в виде дерева - синтаксического дерева (“Бонд. Джеймс Бонд.”) 🌳. Его листочками будут отдельные слова. Затем слова собираются во фразы (словосочетания), а те в свою очередь нанизываются на предикативный центр предложения. Обычно таким центром выступает глагольная основа сказуемого (в отличие от грамматической основы, в которую включены подлежащее и сказуемое целиком). Ну то есть самый главный глагол в нашем предложении, если он есть, конечно. Как любила говаривать моя преподавательница по английскому Лариса Евгеньевна Чуфистова: “the V of the sentence” (зэ ви ов зэ сЕнтенс, "то самое Вэ предложения"). Например, “Кошка лежит на рогожке” - зэ ви тут будет лежит. На него навешиваем кошка и на рогожке. Если предложение сложное, то там будет столько зэ ви, сколько есть предикативных центров - главных глаголов в простых предложениях, на которые оно дробится. А что если нет глагола? Тогда в центр встает главное слово в подлежащем: в предложении “Кошка на рогожке.” это будет существительное кошка.
Важный дисклеймер: лингвисты из разных школ по-разному называют то, что я сейчас назвала предикативным центром. Так что не сверкайте этим термином лишний раз перед лингвистами. Они могут докопаться до того, что "а поддерживаете ли вы вообще концепцию Хомского? Или просто прочитали учебник Розенталя в детстве?"
Дальше, когда нашли центр, в каждой фразе выделяем главное слово. Например, во фразе на рогожке главная, конечно, тут рогожка. На нее навешивается предлог на, значение которого гораздо более абстрактно. Он передает отношение между положением объектов в пространстве.
Визуализировать синтаксические деревья можно при помощи разных библиотек для NLP. Вот ноутбучек с примерами. А я пойду выпью чаю и съем еще этих вкусных французских булок, if you know what I mean ;)

#база #notebook
10