Введение в искусственный интеллект
331 subscribers
63 photos
2 videos
170 links
Просто об искусственном интеллекте и его возможностях. Помогу разобраться в базовых понятиях и создать собственную нейросеть. Рассказываю, что у ИИ под кожей.
Елена Михалькова
Download Telegram
Forwarded from Radio Benjamin (Igor Chubarov)
Часто ловлю себя на мысли, что не понимаю что такое этика и зачем она нужна. В википедию не лезу, как и Никомахову с полки не достаю, но очень сильно напрягаю память. Потом вспоминаю.

Я расскажу вам что такое этика. Это когда количество штрафов за превышение скорости, наезд на стоп-линию на светофоре, или парковку начинает превышать твою среднюю зарплату.

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

Но когда приходит удвоенный штраф за неуплату штрафа, или тебя уже вызывают в суд за административку - постепенно, сквозь скрежет зубовный, научаешься успевать платить со скидкой 50%, а потом и притормаживать перед стоп-линией, сбрасывать скорость хотя бы под камерами и пользоваться приложением Парковки Москвы)

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

Так и работает этика. Тебя - вольного стрелка, лихача и необузданного свободолюбца ей обучили. Этика - это больно.
🔥2
Ребят, что за день! Опять не удержалась от репоста - на этот раз новость. В рофл-варианте: директора OpenAI Сэма Альтмана уволил уроженец Нижнего Новгорода. А если серьезно, то в компании OpenAI, которая разрабатывает ChatGPT сегодня неожиданно для всех уволили часть топ-менеджмента 😱 В чем, интересно, они прокосячили?..
🤔2
Сэма Альтмана уволил человек из Нижнего Новгорода. Сооснователь OpenAI Грег Брокман рассказал в своём Твиттере подробную хронологию вчерашних событий. По его словам, об увольнении Альтману лично сообщил Илья Суцкевер — главный научный сотрудник OpenAI, родившийся в России.

Грег Брокман поддержал Альтмана и уволился вместе с ним, а Нижний Новгород, кажется, сыграл судьбоносную роль в истории ИИ.
🙈3
Какие профессии исчезают?

Есть такой тг-канал - Метаверсище и ИИще. Его ведет Сергей Цыпцын. Когда-то он был организатором одной из крупнейших в мире конференций по computer vision (компьютерному зрению) CG Event, которая проходила в России. В своем канале, посвященном в основном CV, он регулярно поднимает виртуальный тост за профессии (или какие-то отдельные области задач), которые активно автоматизируются. Я собрала некоторые: йога- и фитнес-инструкторы, юристы, критики, искусствоведы, программисты, актеры дубляжа, композиторы, видеооператоры, операторы колл-центров, монтажеры, учителя, доктора, дизайнеры, сценаристы, фотографы, писатели, художники, музыканты, тренеры, дикторы, геймдевелоперы, эйчары, дата-аналитики, архитекторы, иллюстраторы, текстурщики, синхронисты, стилисты, пилоты, прокуроры, секретари, реставраторы, вокалисты.
Понятно, что профессия реставратора не исчезнет, пока нет наэлектризованной конструкции из металла и пластика, способной соскребать скальпелем старый слой лака и наносить новый. Ну, или хотя бы пока такая конструкция не будет дешевле, чем кожаный реставратор. Но восстанавливать прежний облик произведения искусства лучше все же опираясь на автоматический анализ. То же относится к докторам - ждем, пока подешевеют и станут более безопасными человекоподобные роботы. Про то, можно ли ставить диагнозы при помощи ИИ, будет у меня отдельный пост.
С прокурорами тут сложнее. ИИ-помощника судей и прокуроров тестируют в Китае. Но Китай вообще известен своими необычными тестами над людьми. В другой статье я читала, что использование ИИ для вынесения судебного решения неэтично. Человек, который взял на себя обязательство судить другого человека должен быть достаточно компетентен, чтобы вынести решение сам. Такую систему можно использовать, только когда у людей нет доступа к квалифицированным судьям.
Композиторы тоже имеются в виду не всякие, а те, кто сочиняет muzak, или elevator music (музыку для лифтов), т.е. что-то фоновое, как жевачка для мозга. То есть, как в недавнем посте сформулировал автор канала Gershuni: если у вас не хватает квалификации, то ИИ поможет дотянуть результат до среднего уровня, но если вы высоко квалифицированы в вашем деле, то ИИ поможет вам сэкономить время, но ваш результат опустится до среднего. Причем автор переживает, что высококлассные специалисты начнут рано или поздно использовать ИИ тайно. И (тут я уже додумываю) их квалификация опустится от отсутствия практики. Например, ученые (как минимум частично) генерят статьи, отчеты и заявки на гранты - знаю не понаслышке. А есть и еще такой термин: технологическая сингулярность. Это когда не останется специалистов, которые будут делать лучше, чем делает ИИ. Вот тогда точно профессия вымрет.
Я выпустилась с факультета романо-германской филологии в 2006 году. Большая часть однокурсниц пошли работать переводчицами. Тогда в компаниях Шлюмберже, Дойтаг и Ютэр были огромные отделы перевода с толпами сотрудников. И уже был Google Translate. За несколько лет Google Translate сократил штат этих отделов до нескольких секретарей с дополнительной функцией контроля над автоматическим переводом. Остались полевые переводчики, которые могут без Интернета где-нибудь в Африке и вертолет починять, и первую помощь оказать, и суахили выучить на всякий случай. Еще среди моих знакомых есть переводчик компьютерных игр, который умеет делать локализацию так, что у игроков слюнки текут.
В общем профессии не то чтобы исчезают совсем.
А. Сокращается количество специалистов за счет снижения рутины.
Б. Трансформируется сам труд: требуется уметь пользоваться ИИ либо добирать другие навыки.
В. Люди с недостатком опыта все больше опираются на подсказки от ИИ, даже если им не разрешили это делать.
Г. А люди с избытком опыта вместо использования собственного интеллекта тайком прибегают к ИИ.

#эссеиистика
👾4
Векторизация признаков

Начну с вопроса, ставшего традиционным: зачем? ИИ-алгоритмы на вход получают числовые данные. Поэтому, даже если ваш объект исследования на первый взгляд не описать числом, надо как-то извернуться и… Ну, описать вобщемта. Вот у нас есть 1000 смешных твитов и 1000 несмешных. Наша задача: на основе этого корпуса данных научиться отделять смешные твиты от несмешных. Твиты состоят из слов. Как превратить слова в числа? Можно посчитать, какие слова чаще встречаются в смешных твитах. И не только слова, но и хэштеги, эмодзи, пунктуационные знаки. Такой подход в компьютерной лингвистике называется bag-of-words (мешок со словами), сокращенно BOW, а слова, эмодзи и прочие символы и комплексы символов, которые могут отделяться от соседей пробелом, называются tokens (токенами). Вот, положим, мы сделали такой подсчет частот всех токенов, и что дальше? Один из вариантов - превратить результат в вектор.
Что есть вектор? Этот термин используется в разных областях, например, в геометрии это направленный отрезок. В ИИ его понимают как точку в многомерном пространстве. Размерность вектора определяется координатным базисом. Если мы представим точку в нашем физическом мире, то она определяется тремя пространственными координатами и одной временной. Пусть это будут оси X, Y, Z, ну и положим, T. Координаты точки будем записывать в том же порядке, в котором перечислили оси: x‌=(x1, x2, x3, x4). Получается, что вектор - это “упорядоченная совокупность n чисел”.
Как векторизовать твит на основе BOW? Создаем словарь всех токенов, которые нам встретились в наших твитах. Каждый новый токен становится осью в координатном базисе, а размерность вектора твита будет определяться длиной словаря (количеством этих осей = количеством уникальных токенов). Вот у нас есть два твита: “села батарейка” и “русалка села на шпагат” (второй типо смешной). Словарь будет такой: [села, батарейка, русалка, на, шпагат]. Размерность вектора каждого твита: 5. Вектор первого твита: x‌1=(1, 1, 0, 0, 0). Вектор второго твита: x‌2=(1, 0, 1, 1, 1).
Кроме токенов, к базису нашего словаря можно добавить еще сколько угодно осей. Пусть шестая ось означает длину твита, седьмая - наличие в твите картинки, восьмая - количество лайков. И т.д. Для алгоритмов обычно, чем больше существенных признаков (фич) можно собрать с объекта, тем лучше.
И что нам это дает? На современной стадии развития ИИ это дает нам всё. Векторизация позволяет выполнять любые интеллектуальные задачи с любыми данными: классификация, кластеризация, распознавание паттернов, анализ временных рядов. С математической точки зрения для совершения операций с векторами в ИИ применяется линейная алгебра, а векторы и матрицы (несколько векторов, записанных в форме двумерной таблицы) также называются тензоры (tensors). Возможно, вам знакома библиотека TensorFlow - вот откуда в ней слово tensor.
Но как? А так, что точки, которые представляют собой смешные твиты, будут в нашем многомерном пространстве находиться ближе друг к другу, образовывать как бы одно скопление. А точки для несмешных твитов - это другое скопление. И расстояние между множествами двух классов твитов будет больше, чем между векторами внутри этих множеств. По традиции заканчиваю инженерный пост ноутбуком с примерами.

#база #notebook
8
Градиентный градиент

Зачем? Чтобы подобрать оптимальные веса (коэффициенты k и b) для модели машинного обучения, основанной на регрессии.
Как? Начну издалека 😁 Даже пришлось разбить этот пост на две части.
Давайте вспомним сначала классификацию на основе линейной регрессии. Пусть у нас есть объекты, принадлежащие нескольким классам. Например, у нас есть два вида цветочков - ирисов. У каждого ириса возьмем один параметр, например длина чашелистика. Игрек будет класс, например 0 или 1. Представим координатную плоскость. По оси X отложим длины чашелистиков, по Y - классы. Теперь строим такую прямую, которая наиболее близко проходит к полученным точкам. Если у нас появляется новый ирис, то меряем ему длину чашелистика и по коэффициентам прямой (k и b) считаем новый игрек. К какому числу он ближе (0 или 1), к такому классу его и относим.
Теперь вспомним логистическую регрессию. Там вместо прямой используется кривая: сигмоида. Сначала наугад подбираем коэффициенты k и b. Потом считаем новый игрек и суем его в функцию сигмоиды. Выглядит странно: какие-то левые коэффициенты, в какую-то сигмоиду. Сделано это для того, чтобы вместо регрессии в виде прямой получить регрессию в виде буквы s, потому что она своими хвостиками лучше прижимается к массиву точек. В линейной регрессии есть только одно решение. А логистическую можно растягивать в разные стороны и, более того, не обязательно считать именно идеальное приближение к массиву. Пусть она будет какая-то вся кривая и недоделанная, но зато хорошо будет предсказывать классы.
Как будем растягивать букву s? Нам нужно, чтобы наша s прижималась к точкам, т.е. чтобы суммарное расстояние от нее до точек сокращалось. Сумма расстояний от точек до кривой - это типо ошибка; насколько наша кривая ошибается в оценке класса. Ее обычно обозначают игреком с треугольной шляпкой: ŷ (читается “уай хэт”) - еще такая запись в статистике означает предсказанное моделью значение. А реальный класс, представленный 0 или 1, это наши тру (true - истинные) игреки. Функция затрат, или стоимости (cost function “кост фанкшон”, cost - англ. стоимость) - это сумма тру игреков минус сумма уай хэтов. Тру игрек у нас дано. В уай хэтах тру иксы мы тоже знаем. Остаются наши неизвестные линейные коэффициенты k и b, которые надо подогнать. Формула у функции затрат такая: Cost Function (J) = Σ(y - ŷ) = Σ(y - (k * x + b)). J - патамушта якобиан - определитель матрицы Якоби. Не углубляясь в линейную алгебру, нам надо узнать по нашей функции потерь, как корректировать k и b дальше. Вот тут-то и нужен градиент.

#база
👍3
Градиентный градиент - 2

Что такое градиент функции? (Долго же я подбиралась к этому вопросу.) Вот у нас есть функция с двумя или более переменными (у нас пока с двумя - k и b). Чтобы найти ее минимум, нужно взять производную. Если переменных две и более, то берем частную производную, а минимум ищем по градиенту. Точнее, будем искать не сам минимум, а направление, в котором надо его искать. Градиент - это все значения, которые принимает частная производная функции со множеством переменных (у нас пока две - k и b), представленные в виде таблицы. И эта таблица - тоже, кстати, вектор, а градиент является вектор-функцией. Если взять все четыре признака ирисов, то в градиенте-"таблице" у нас будет k1, k2, k3, k4 и b.
Как это в итоге выглядит? Как n-мерная поверхность. В нашей задаче поиска весов (коэффициентов) логистической регрессии у такой поверхности есть минимумы и максимумы. То есть она так изгибается, что образует вогнутости и выпуклости. Они могут быть локальными, но где-то обязательно есть большой глобальный минимум. Его-то нам и надо найти.
Если в какой-то точке мы посчитаем частные производные по k и b, и потом изобразим их в виде вектора, который исходит из этой точки, то стрелочка вектора укажет направление наибыстрейшего возрастания функции (то есть как нам быстрее дойти до максимума). А нам нужен минимум, следовательно, мы будем топать в обратную сторону. Чтобы нам не притопать в локальный минимум или не перешагнуть его, выбирается параметр - learning rate (темп обучения, “лёнин рейт”).
В этот раз делюсь дополнительными материалами на эту тему.
Вот так выглядит градиент функции x^2-xy в виде поля векторов.
Вот здесь отличный тьюториал от Академии Хана на тему векторных полей - как их создавать и интерпретировать.
Вот здесь тьюториал тоже от Академии Хана на тему градиента.
Ну и я сама немного порисовала графиков к этим тьюториалам - вдруг что-то получше прояснят.
А теперь по поводу того, как градиент реализуется в логистической регрессии. Кто мой пост про логистическую регрессию читал, тому знаком мой колаб-ноутбук. Так вот я там добавила комментариев к dw, db и learning rate. Это и есть программная реализация градиента в логистической регрессии.

#база старый #notebook с новыми комментариями
👍2❤‍🔥1
Дорогие подписчики!

Я эту неделю вся в мыле делаю пакет документов для своей магистратуры по искусственному интеллекту. Но надеюсь выпустить посты, оставшиеся с ноября, в ближайшее время! Уиии

А пока немного текущих новостей:

1. Мы зачислили всех, кто подал документы на повышение квалификации после интенсива. Ждите письма с деталями по тесту.

2. Если вы тоже были на интенсиве, но забыли или долго раздумывали подать ли документы, напишите мне на корпоративную почту до 10 декабря e.v.mikhalkova@utmn.ru . Сделаем ещё одно зачисление в этом месяце.

3. Всем, кто НЕ подаст доки на удостоверение до 10 декабря, я скину на почту что-то типа сертификата участника, подписанного мной. Юридической силы особо не имеет, но можно приложить к портфолио. Считается типа как грамота или диплом участника.

4. Какую тему взять на следующий интенсив? Пишите в комментарии, а потом я сделаю голосовалку.
❤‍🔥5
Какие профессии появляются?

12 декабря я буду выступать на научной конференции в НИУ ВШЭ с докладом “Компьютерный историк, лингвист и филолог: есть ли такие профессии и влияет ли на них развитие искусственного интеллекта?”. Тема доклада возникла не случайно. Все опять сводится к той самой магистратуре, которую я пытаюсь открыть в СоцГуме: “Искусственный интеллект в истории, лингвистике и филологии”. Мы с коллегами пошли искать, что сейчас нужно на рынке профессий. После анализа вакансий на hh.ru кое-что оказалось довольно тривиально:
😒 IT-сектору нужны hard skills (главное, чтобы вы кодить умели; LeetCode наше все),
😅 а гуманитарии нужны как универсалы там, где надо общаться с людьми (soft skills), и неважно, учили вы историю или лингвистику.
А еще “по рефералу” вас могут взять.. да хоть кем. Если речь не идет о безопасности. Хирургом без образования вы не станете 🙂 Тем не менее есть и тренды, на стыке IT и “чего-то гуманитарного”. ИИ на эти процессы тоже влияет.
Новая профессия № 1: компьютерный (цифровой) лингвист. Профессия редкая и с нечеткими требованиями, но вакансии появляются. И высшее образование по ней уже тоже можно получить. Чем занимается компьютерный лингвист, я писала тут. Я все еще считаю, что это фиксик 🙂
Новая профессия № 2: дизайнер разных элементов в компьютерных играх. И я не про гейм-дизайнера, потому что для этого вы должны быть художником, а не историком или филологом. В gamedev филолог может быть дизайнером нарратива, когда нужно сделать локализацию. А историк может быть художником по технике, постройкам, костюмам, если нужна историческая достоверность. Историков активно зазывают в WarGaming. Это компания, которая разрабатывает World of Tanks и World of Warships.
Относительно новая профессия № 3: контент-менеджер. Пару лет назад он назывался исключительно копирайтер. С приходом ChatGPT нужда в копирайтинге отмирает. Зато появляется спрос на написание отзывов на Вайлдбериз, как будто бы вы купили товар и очень им довольны. А потом заходите под другим аккаунтом, и вы снова довольны. И так по колесу сансары. Хотите, сами пишите; хотите, юзайте ChatGPT. Фабрика контента есть и в соцсетях, и в мессенджерах. Хорошо как подработка.
Новая профессия № 4: разметчик данных, аннотатор. С расцветом ИИ возрастает спрос на датасеты - структурированные наборы данных, где каждому экземпляру присвоен класс. Компании обычно предлагают размечать датасеты на облачных платформах в качестве фриланса. Вроде бы и ок - студенты могут подзаработать. Однако тут есть обратная сторона медали: некоторые датасеты содержат тяжелый, негативный контент. Даже если разметчику есть 18 (или 21), этот контент в большом количестве (а некоторый и в малых дозах) может конкретно испортить психику. А как, вы думаете, алгоритмы Ютуба научились определять, содержит ли видео недопустимый контент? Ютуб аутсорснул разметку данных в Индию и Африку. Чем недопустимее контент, тем выше заработок у аннотатора.
Чтобы не заканчивать на печальной ноте, перечислю хорошие новые профессии, без подводных: проектный менеджер, креативный создатель контента (который лучше сделает, чем ChatGPT), разработчик онлайн-курса, промпт-инженер, специалист по поиску информации, улучшению поисковой выдачи, настройке языковой модели. В таких профессиях почти не требуется hard skill разработчика, зато требуется умение выражать идею и формулировать запрос. И как пишет автор канала Gershuni: "Де-иификация. Фраза «этот пост написал человек» будет показателем качества и персонального подхода."

#эссеиистика
🔥8
Как выбрать метрику по душе
Смотря, какая душа…

На данном этапе развития технологий в искусственном интеллекте все еще важно, зачем разрабатывается тот или иной алгоритм. (А когда будет неважно? Когда мы достигнем AGI - artificial general intelligence, которая одна решает любые интеллектуальные задачи на уровне студента.) Например, можно сделать алгоритм, который распознает на геоснимках крыши домов, чтобы оценить плотность застройки. Или распознает числа на фото, чтобы определять номера машин. В случае с человеком-экспертом, который выполняет задачу, руководство выставляет KPI (key performance indicators - ключевые показатели эффективности): “а собери-ка ты мне, Василий, минимум 10 штрафов в день..” Причем, если водители вдруг начнут лучше соблюдать ПДД, KPI все равно надо закрывать. То есть мы не можем быть уверены: то ли эксперт ленится, то ли ситуация на дороге улучшилась. А вот с системой так не получится - она всегда беспристрастно действует по алгоритму и не может хакнуть свою метрику по определению, т.к. не обладает волей. Зато метрику может хакнуть разработчик: это когда система дает на тестировании высокий результат, а на практике оказывается, что метрика не показывает желаемую эффективность. Поэтому в каждой задаче важен дизайн метрики.
Классификация (как в примере с крышами и цифрами) - это одна из типичных задач в ИИ. Разберем классическую метрику в области классификации - precision. Ее иногда переводят как “точность”, но т.к. есть еще accuracy (Экьюраси или акУраси) - тоже точность, то precision переводят как пресИжн. Итак, нам нужны крыши. А все остальное будет НЕ-крыши. Что нам самое главное? Сколько из объектов, которые наш алгоритм записал в крыши, реально являются крышами. Но тут возникает проблема хацкинга: хитрый разработчик напишет программу, которая найдет одну реально крышу и на том остановится. А дальше хоть трава не расти. Тогда посчитаем, сколько из реально крыш на наших фото были определены как крыши - это будет метрика recall (рекОл, полнота). Если всего одна из ста, то это немного. Но хитрый разработчик опять нас обошел: он записал все объекты на изображении в крыши и получил стопроцентный рекол. Тогда берем среднее арифметическое пресижена и рекола. Но тут еще проблема: пресижен и рекол по сути две разные сущности - в числителе у них крыши, а в знаменателе - ну вы сами поняли. Среднее арифметическое не делает различий, если какая-то из двух метрик показывает более высокий результат. А вот среднее гармоническое тем выше, чем выше обе метрики. Называется такая метрика f-score (эфскор). Кстати, помимо пресижена и реколла, в эфскор можно пихать сколько угодно еще метрик. Работать будет одинаково.
Но что если у нас в датасете нет размеченных объектов, кроме крыш? Тогда вместо пообъектной оценки, будем применять попиксельную: истинно-положительный результат это если пиксель, маркированный как крыша, действительно принадлежит объекту “крыша”; истинно-отрицательный результат - если пиксель, немаркированный как крыша, действительно не принадлежит объекту “крыша”. Хьюстон, у нас снова проблема: крыш то немного по сравнению с НЕ-крышами. Вот поэтому в нашей задаче мы будем применять эфскор только к классу “крыша”.
Еще о метриках можно почитать тут.

#база
👍3
Вот так показывает эффективность среднее арифметическое: если x будет 100, а y - 0, то среднее арифметическое равно 50.
👀3
В среднем гармоническом, если x = 100, а y = 0, то среднее гармоническое тоже = 0.
🦄3
Следующий интенсив

Я определилась с датами следующих интенсивов: 17 и 24 декабря. 17-го снова будем разбирать основы Питона, а вот 24го...
Почитала я комментарии к посту: во всех них есть одна общая тема - компьютерная лингвистика. Поэтому она и будет общей темой занятий 24 декабря. А вот что затронуть - какие области CL - жмякайте в опросе выше.
❤‍🔥4
А между тем я на конференции в НИУ ВШЭ (Москва)
17👍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
Ну и вот Яндекс доставка - пылесосит в местную пиццерию
👏3😱3👍2🥰2
Введение в искусственный интеллект
Темы занятий по комп. лингвистике
Интенсив 17 и 24 декабря

Ну что ж, можно подвести итог голосования. Победила тема "Дистрибутивная семантика". Ее и буду разбирать на интенсиве 24 декабря. Это будет второй трек. А первый трек пройдет 17 декабря и будет посвящен основам питона. Так что, если вы их уже знаете, то вам там будет скучно - регайтесь только на второй трек.

(Тем, кто зарегался через СоцГум на повышение квалификации, форму заполнять не надо.)

Ссылка на регистрацию. 📝

#ниипетпроект
👍1
Смена локации интенсивов

Уважаемые друзья! Интенсивы 17 и 24 декабря пройдут в аудитории 217 (аудитория ВТБ) в ФЭИ (ул. Ленина, 16).

Скоро увидимся! 🤩
👍6