Ииии… я успеваю запрыгнуть в последние минуты третьего октября, чтобы запостить на тему: “Какую магистратуру по ИИ я делаю в ТюмГУ”.
Я реально являюсь руководителем рабочей группы по разработке магистратуры под примерным названием “Искусственный интеллект в истории, лингвистике и филологии”. Цель у нас: связать такие инженерные дисциплины, как NLP, Computer Vision и Data Science, с гуманитарными науками. На что это будет похоже? Это будут проекты и кейсы, решения конкретных задач, которые возникают в гуманитарных науках и требуют цифровых скиллов. В общем, мы в группе говорим, что это "гуманитаристика здорового человека" 😅
На деле будем создавать лингвистические корпуса и датасеты, умные реконструкции археологических находок, экскурсии с дополненной реальностью и, конечно, рассуждать об этике ИИ. А затем обернем результаты работы в научные статьи, веб-приложения и даже стартапы.
А еще мы обратились к индустрии - крупным компаниям типа AIRI от Сбера и средней крупности типа Just AI, чтобы они тоже накидали нам кейсов и рассказали, каких специалистов в области ИИ им не хватает. Надеемся, что у них найдутся задачи на стыке ИИ и гуманитарных наук.
Если все пойдет по плану, то магистратура откроется уже в следующем году.
Вот такая очередная не-реклама. Сегодня коротко, зато точно без формул 😀
#иипетпроект
Я реально являюсь руководителем рабочей группы по разработке магистратуры под примерным названием “Искусственный интеллект в истории, лингвистике и филологии”. Цель у нас: связать такие инженерные дисциплины, как NLP, Computer Vision и Data Science, с гуманитарными науками. На что это будет похоже? Это будут проекты и кейсы, решения конкретных задач, которые возникают в гуманитарных науках и требуют цифровых скиллов. В общем, мы в группе говорим, что это "гуманитаристика здорового человека" 😅
На деле будем создавать лингвистические корпуса и датасеты, умные реконструкции археологических находок, экскурсии с дополненной реальностью и, конечно, рассуждать об этике ИИ. А затем обернем результаты работы в научные статьи, веб-приложения и даже стартапы.
А еще мы обратились к индустрии - крупным компаниям типа AIRI от Сбера и средней крупности типа Just AI, чтобы они тоже накидали нам кейсов и рассказали, каких специалистов в области ИИ им не хватает. Надеемся, что у них найдутся задачи на стыке ИИ и гуманитарных наук.
Если все пойдет по плану, то магистратура откроется уже в следующем году.
Вот такая очередная не-реклама. Сегодня коротко, зато точно без формул 😀
#иипетпроект
airi.net
AIRI Institute
AIRI is an autonomous non-profit organization bringing together researchers, scientists and data engineers engaged in breakthrough AI research.
👍7
📈 Коллеряция, корреряция и коллеляция
С моей точки зрения, самая большая проблема с корреляцией заключается в том, что невозможно объяснить, почему в первом случае два РР, а во втором один Л. Ну зачем два Р? Сколько краски можно было сэкономить, сколько энергии на нажатии клавиши Р! Но если уж две Р, то почему всего одна Л? Это же надо запоминать. Как "параллельный", точнее, наоборот. А зачем в "робототехнике" два ОТ? Ведь можно же говорить нормально: "роботехника"...
А вторая по важности проблема в том, что написать про корреляцию без формул или кода будет крайне неудобно. Поэтому я сделала ноутбучек с кодом, но без формул.., но со ссылками.., где все подробно расписано. Жмякайте!
А, да, я же забыла объяснить, почему это в принципе важно, знать про линейную корреляцию. ИИ - это не только про нейросети. Точнее, есть такое представление:
- берешь задачу,
- ищешь нейросеть, которая эффективно решает подобную задачу,
- подлаживаешь код под свою задачу,
- вжух! F-score=99.99 (пишешь статью в Scopus'е, получаешь Нобелевскую премию..).
Вполне возможно, что у меня какой-то специфический жизненный путь, но он меня научил тому, что без анализа данных подобрать нейросеть или какой-то другой алгоритм, который успешно решает ИИ-задачу, можно, только если точно так же уже сделали 10 тысяч китайских и индийских программистов. Следовательно, для нетривиальных (фронтирных) задач данные надо изучать. Одна из особенностей данных, которая влияет на подбор ИИ-алгоритма и его эффективность, это взаимосвязь признаков, линейная коллерряция (дурацкое слово). Оценить ее позволяет коэффициент коллерряции.
И вот еще маленький отрывок из моего ноутбука (ссылка выше):
Линейная корреляция (тут правильно это слово написано) - это представление о линейной зависимости между данными. Обычно за пример берут рост и вес. Интуитивно понятно, что чем выше рост, тем больше у человека вес. То есть зависимость между двумя этими величинами прямая. Пример обратной зависимости: чем больше человек курит, тем меньше проживет. И, наконец, есть величины линейно независимые (одно растет, а другое нет... прям как некоторые виды ирисов). Дальше жмякайте ноутбучек. Кстати, со смартфона колаб-ноутбуки тоже неплохо открываются. Только запустить вряд ли получится.
Всем счастливых выходных! В воскресенье будет наше с Артемом традиционное видеообращение (с моего нового телефона🤳😊).
#база #notebook
С моей точки зрения, самая большая проблема с корреляцией заключается в том, что невозможно объяснить, почему в первом случае два РР, а во втором один Л. Ну зачем два Р? Сколько краски можно было сэкономить, сколько энергии на нажатии клавиши Р! Но если уж две Р, то почему всего одна Л? Это же надо запоминать. Как "параллельный", точнее, наоборот. А зачем в "робототехнике" два ОТ? Ведь можно же говорить нормально: "роботехника"...
А вторая по важности проблема в том, что написать про корреляцию без формул или кода будет крайне неудобно. Поэтому я сделала ноутбучек с кодом, но без формул.., но со ссылками.., где все подробно расписано. Жмякайте!
А, да, я же забыла объяснить, почему это в принципе важно, знать про линейную корреляцию. ИИ - это не только про нейросети. Точнее, есть такое представление:
- берешь задачу,
- ищешь нейросеть, которая эффективно решает подобную задачу,
- подлаживаешь код под свою задачу,
- вжух! F-score=99.99 (пишешь статью в Scopus'е, получаешь Нобелевскую премию..).
Вполне возможно, что у меня какой-то специфический жизненный путь, но он меня научил тому, что без анализа данных подобрать нейросеть или какой-то другой алгоритм, который успешно решает ИИ-задачу, можно, только если точно так же уже сделали 10 тысяч китайских и индийских программистов. Следовательно, для нетривиальных (фронтирных) задач данные надо изучать. Одна из особенностей данных, которая влияет на подбор ИИ-алгоритма и его эффективность, это взаимосвязь признаков, линейная коллерряция (дурацкое слово). Оценить ее позволяет коэффициент коллерряции.
И вот еще маленький отрывок из моего ноутбука (ссылка выше):
Линейная корреляция (тут правильно это слово написано) - это представление о линейной зависимости между данными. Обычно за пример берут рост и вес. Интуитивно понятно, что чем выше рост, тем больше у человека вес. То есть зависимость между двумя этими величинами прямая. Пример обратной зависимости: чем больше человек курит, тем меньше проживет. И, наконец, есть величины линейно независимые (одно растет, а другое нет... прям как некоторые виды ирисов). Дальше жмякайте ноутбучек. Кстати, со смартфона колаб-ноутбуки тоже неплохо открываются. Только запустить вряд ли получится.
Всем счастливых выходных! В воскресенье будет наше с Артемом традиционное видеообращение (с моего нового телефона🤳😊).
#база #notebook
Google
колеряция.ipynb
Colaboratory notebook
❤3
Итак, ставшие традиционными воскресные кружочки! Первый пошел..🚀
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Дисклеймер: Мы имели в виду не "естественную обработку языков", а "обработку естественных языков" 🤪
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🕊2
Ну хоть кто-то знает. За знаниями обращаться в Технопарк ⭐
This media is not supported in your browser
VIEW IN TELEGRAM
Последний на сегодня 😉 мы успели поймать немного солнечных лучей на улице 🌞
This media is not supported in your browser
VIEW IN TELEGRAM
Дорогие подписчики, на самом деле, в этих кружочках я хотела познакомить вас с Артемом, вторым админом канала. Хотя, наверно, многие из вас его знают. И он не глокая куздра, если что 😁 Тогда что же такое глокая куздра?
Есть несколько фраз, которые обязательно должен знать компьютерный лингвист, чтобы сойти за своего:
👹 “Гло́кая ку́здра ште́ко будлану́ла бо́кра и курдя́чит бокрёнка” - эту фразу придумал советский лингвист Лев Щерба. Она показывает, что даже если вы не знаете смысл слов в предложении, но при этом предложение построено грамматически правильно, то общий смысл фразы вам будет понятен. Читая ее, вы, скорее всего, представите каких-то фантастических существ, которые то ли дерутся, то ли играют. Похожий пример есть в книге американского лингвиста Ноама Хомского “Синтаксическая структура”: 💚 “Colorless green ideas sleep furiously” (“Бесцветные зелёные идеи спят яростно”). Тут у слов есть понятное лексическое значение, но смысл фразы можно трактовать по-разному или сводить к абсурду.
🏢“Джорджтаунский эксперимент”. В 1950-е лингвисты верили, что они сейчас вот-вот создадут программу для автоматического перевода, и профессия переводчика просто вымрет. Профессия переводчика не совсем чтобы вымерла даже сейчас, но специалистов и правда требуется значительно меньше. Однако технологии машинного перевода, которые к этому привели, появились только в нулевые. А в Джорджтаунском эксперименте в 1954 г. ученые показали на примере 60 предложений, каким может быть машинный перевод. То ли они выбрали удачные предложения, то ли подделали результат. В общем в 50-е было рано радоваться.
🌐“Сферический конь в вакууме”. Вообще это не чисто лингвистическая тема. И это даже не всегда конь, а еще корова и курица. Выражение пошло от шутки, что ученые в своих моделях любят все сильно упрощать. Так что в реальности такие ситуации, которые описаны в научных работах, даже и не встретятся. Лингвисты упоминают сферического коня, например, говоря о том, что скрупулезное описание правил языка оторвано от реальности живой человеческой речи и мало общего с ней имеет. Чем хорошо машинное обучение: ему правила не нужны - оно автоматически выучивает правила из множества лингвистических данных. 🏆
#байкиизсклепа #спискии
Есть несколько фраз, которые обязательно должен знать компьютерный лингвист, чтобы сойти за своего:
👹 “Гло́кая ку́здра ште́ко будлану́ла бо́кра и курдя́чит бокрёнка” - эту фразу придумал советский лингвист Лев Щерба. Она показывает, что даже если вы не знаете смысл слов в предложении, но при этом предложение построено грамматически правильно, то общий смысл фразы вам будет понятен. Читая ее, вы, скорее всего, представите каких-то фантастических существ, которые то ли дерутся, то ли играют. Похожий пример есть в книге американского лингвиста Ноама Хомского “Синтаксическая структура”: 💚 “Colorless green ideas sleep furiously” (“Бесцветные зелёные идеи спят яростно”). Тут у слов есть понятное лексическое значение, но смысл фразы можно трактовать по-разному или сводить к абсурду.
🏢“Джорджтаунский эксперимент”. В 1950-е лингвисты верили, что они сейчас вот-вот создадут программу для автоматического перевода, и профессия переводчика просто вымрет. Профессия переводчика не совсем чтобы вымерла даже сейчас, но специалистов и правда требуется значительно меньше. Однако технологии машинного перевода, которые к этому привели, появились только в нулевые. А в Джорджтаунском эксперименте в 1954 г. ученые показали на примере 60 предложений, каким может быть машинный перевод. То ли они выбрали удачные предложения, то ли подделали результат. В общем в 50-е было рано радоваться.
🌐“Сферический конь в вакууме”. Вообще это не чисто лингвистическая тема. И это даже не всегда конь, а еще корова и курица. Выражение пошло от шутки, что ученые в своих моделях любят все сильно упрощать. Так что в реальности такие ситуации, которые описаны в научных работах, даже и не встретятся. Лингвисты упоминают сферического коня, например, говоря о том, что скрупулезное описание правил языка оторвано от реальности живой человеческой речи и мало общего с ней имеет. Чем хорошо машинное обучение: ему правила не нужны - оно автоматически выучивает правила из множества лингвистических данных. 🏆
#байкиизсклепа #спискии
👍4❤2
Устанавливаем размерность данных без линейки и рулетки: часть 1
Дисклеймер: Внимание! В этом посте очень много букаф. Автор выражает сожаление, но автор просто не смог сделать покороче и разбил пост на два.
Начну с традиционного вопроса: а зачем? Самый широкий ответ на этот вопрос будет: чтобы правильно подготовить данные для ИИ-алгоритма. Пишу все это по собственному опыту. А опыт подсказывает, что самые крупные слезы, которые льются дольше всего, бывают не когда строишь архитектуру нейронной сети, а когда уже вот-вот, вроде бы все сделал, запустил и.. бац, ошибка - что-то типа “Вы пихаете мне какую-то лютую фигню, уберите, есть не буду”. Проходит час.. Два.. За окном стемнело.. В сумерках раздается вой собаки.. А, это же мой вой..
Понимать размерность данных нужно, чтобы корректно подавать их ИИ-алгоритму. Для этого первым делом надо выяснить, как распаковались ваши данные и чтО просит та реализация ИИ-алгоритма, которую вы взяли (после того как вы сначала попробовали пихнуть данные как есть, на удачу). Лучше всего решать этот вопрос через ознакомление с наглядным примером, похожим кейсом. Программные библиотеки для ИИ часто содержат examples (примеры), templates (шаблоны), tutorials (тьюториалз), guides (гайды) и прочий материал для контрол-цэ контрол-вэ. Но если их не нашлось, то есть же великий и могучий StackOverflow (стЕк оверфлОу) - породитель копипасты для 99.99% кода в мире. Это вопросно-ответная платформа для ИТ-девелоперов. Вот бы посмотреть, сколько кода со стековерфлоу живет в реальных программах, которыми мы пользуемся каждый день.
Если не помог шаблон и стековерфлоу, то осталась последняя надежда: “Читай чертову документацию!” Фраза не универсальная. Я читаю документацию в том случае, если больше ничего не сработало. Потому что, если разраб не напрягся сделать хороший пример или шаблон, то и документацию он, скорее всего, написал сухо и непонятно. Писать документацию - это, кстати, может быть рутиной для ИТ-девелопера. Две строчки кода и к ним гайд на 40 страниц - вполне себе реальность.
#база
Дисклеймер: Внимание! В этом посте очень много букаф. Автор выражает сожаление, но автор просто не смог сделать покороче и разбил пост на два.
Начну с традиционного вопроса: а зачем? Самый широкий ответ на этот вопрос будет: чтобы правильно подготовить данные для ИИ-алгоритма. Пишу все это по собственному опыту. А опыт подсказывает, что самые крупные слезы, которые льются дольше всего, бывают не когда строишь архитектуру нейронной сети, а когда уже вот-вот, вроде бы все сделал, запустил и.. бац, ошибка - что-то типа “Вы пихаете мне какую-то лютую фигню, уберите, есть не буду”. Проходит час.. Два.. За окном стемнело.. В сумерках раздается вой собаки.. А, это же мой вой..
Понимать размерность данных нужно, чтобы корректно подавать их ИИ-алгоритму. Для этого первым делом надо выяснить, как распаковались ваши данные и чтО просит та реализация ИИ-алгоритма, которую вы взяли (после того как вы сначала попробовали пихнуть данные как есть, на удачу). Лучше всего решать этот вопрос через ознакомление с наглядным примером, похожим кейсом. Программные библиотеки для ИИ часто содержат examples (примеры), templates (шаблоны), tutorials (тьюториалз), guides (гайды) и прочий материал для контрол-цэ контрол-вэ. Но если их не нашлось, то есть же великий и могучий StackOverflow (стЕк оверфлОу) - породитель копипасты для 99.99% кода в мире. Это вопросно-ответная платформа для ИТ-девелоперов. Вот бы посмотреть, сколько кода со стековерфлоу живет в реальных программах, которыми мы пользуемся каждый день.
Если не помог шаблон и стековерфлоу, то осталась последняя надежда: “Читай чертову документацию!” Фраза не универсальная. Я читаю документацию в том случае, если больше ничего не сработало. Потому что, если разраб не напрягся сделать хороший пример или шаблон, то и документацию он, скорее всего, написал сухо и непонятно. Писать документацию - это, кстати, может быть рутиной для ИТ-девелопера. Две строчки кода и к ним гайд на 40 страниц - вполне себе реальность.
#база
👍3
Устанавливаем размерность данных без линейки и рулетки: часть 2
Ну и я как обычно отвлеклась. Так что же такое размерность данных? Давайте поговорим об ирисах. Помните великий датасет из трех видов ирисов? Там у каждого цветочка померяли 4 признака. Мы можем взять какой-то самый показательный признак, по которому ирисы будет легко поделить на три класса (линейная разделимость классов): у первого вида ширина лепестка находится в таком-то диапазоне, у второго - в таком-то, у третьего - в таком-то. Но в большинстве задач, которые подбрасывает нам реальный мир, линейная разделимость нам только снится. Для достижения большей точности приходится брать больше признаков, например, все четыре. Мой опыт подсказывает, что ИИ чаще всего любит кушать двумерные массивы. Представляем себе систему координат из X и Y. Иксами будут четыре признака ирисов (x1, x2, x3, x4), игреками - порядковый номер ириса (первый ирис, второй, третий… стопятидесятый).
x1 x2 x3 x4
y1 5.1 3.5 1.4 0.2
y2 4.9 3.0 1.4 0.2
Ось Y в таком случае будет считаться индексом (index) массива данных. Индекс - это список названий рядов. По дефолту обычно ось Y идет под номером 0, то есть, чтобы, например, вычислить среднее значение по столбцу, то есть получить игрек среднее (!), надо указать axis=0.
Ось X - это вектора наших ирисов, которые можно представить как точки в многомерном пространстве. Говоря о линейной корреляции, мы рисовали их в двумерном пространстве - за основу брали x1 и x2. Получалось два скопления точек, которые демонстрировали линейную разделимость классов. Важно, что каждый икс - это конкретный признак. Поэтому иксы нельзя менять местами, например, ранжировать. Ось X обычно в библиотеках работы с данными идет под номером 1.
С ирисами, надеюсь, понятно. В классификатор, например, линейную регрессию пихаем двумерный массив. А как быть с картинкой из датасета MNIST? Картинка уже сама по себе двумерная: 28 на 28 пикселей. Добавляем третью ось - индекс - и получим трехмерный массив. А если бы картинка была цветная в палитре RGB, то добавилась бы еще одна ось из трех признаков, и массив стал бы четырехмерным. Следовательно, задача у нас - “уплостить” массив, переделать в двухмерный, уменьшить размерность. Помогает понимание формы массива (shape). Пусть индексом остается порядковый номер картинки с числом. А иксом станет результат конкатенации, последовательного сшивания всех рядов двухмерной картинки в один длинный вектор. То есть мы изменяем размерность нашего вектора - решейпим его (reshape).
Как всегда вот вам ноутбучек с наглядной демонстрацией происходящего, а меня ждет второй литр кофе!
#база #notebook
Ну и я как обычно отвлеклась. Так что же такое размерность данных? Давайте поговорим об ирисах. Помните великий датасет из трех видов ирисов? Там у каждого цветочка померяли 4 признака. Мы можем взять какой-то самый показательный признак, по которому ирисы будет легко поделить на три класса (линейная разделимость классов): у первого вида ширина лепестка находится в таком-то диапазоне, у второго - в таком-то, у третьего - в таком-то. Но в большинстве задач, которые подбрасывает нам реальный мир, линейная разделимость нам только снится. Для достижения большей точности приходится брать больше признаков, например, все четыре. Мой опыт подсказывает, что ИИ чаще всего любит кушать двумерные массивы. Представляем себе систему координат из X и Y. Иксами будут четыре признака ирисов (x1, x2, x3, x4), игреками - порядковый номер ириса (первый ирис, второй, третий… стопятидесятый).
x1 x2 x3 x4
y1 5.1 3.5 1.4 0.2
y2 4.9 3.0 1.4 0.2
Ось Y в таком случае будет считаться индексом (index) массива данных. Индекс - это список названий рядов. По дефолту обычно ось Y идет под номером 0, то есть, чтобы, например, вычислить среднее значение по столбцу, то есть получить игрек среднее (!), надо указать axis=0.
Ось X - это вектора наших ирисов, которые можно представить как точки в многомерном пространстве. Говоря о линейной корреляции, мы рисовали их в двумерном пространстве - за основу брали x1 и x2. Получалось два скопления точек, которые демонстрировали линейную разделимость классов. Важно, что каждый икс - это конкретный признак. Поэтому иксы нельзя менять местами, например, ранжировать. Ось X обычно в библиотеках работы с данными идет под номером 1.
С ирисами, надеюсь, понятно. В классификатор, например, линейную регрессию пихаем двумерный массив. А как быть с картинкой из датасета MNIST? Картинка уже сама по себе двумерная: 28 на 28 пикселей. Добавляем третью ось - индекс - и получим трехмерный массив. А если бы картинка была цветная в палитре RGB, то добавилась бы еще одна ось из трех признаков, и массив стал бы четырехмерным. Следовательно, задача у нас - “уплостить” массив, переделать в двухмерный, уменьшить размерность. Помогает понимание формы массива (shape). Пусть индексом остается порядковый номер картинки с числом. А иксом станет результат конкатенации, последовательного сшивания всех рядов двухмерной картинки в один длинный вектор. То есть мы изменяем размерность нашего вектора - решейпим его (reshape).
Как всегда вот вам ноутбучек с наглядной демонстрацией происходящего, а меня ждет второй литр кофе!
#база #notebook
❤4❤🔥1👍1💋1
Энтропия в теории информации
Пишу этот пост в ожидании второй серии второго сезона “Локи”.
В этот раз начну с вопроса “Почему?” Потому что после линейной регрессии надо переходить к логистической, а там есть логарифмы и мера кросс-энтропии, а в энтропии тоже есть один логарифм. Так что вот заодно и вспомню, что такое логарифм.
Но если более серьезно отнестись к этому вопросу, то потому что в NLP меру энтропии часто используют для описания лингвистических данных. Например, при помощи энтропии можно вычислять устойчивые словосочетания. А еще она часто встречается в машобуче. Языковые модели, которые порождают текст, можно оценить с точки зрения того, насколько предсказуемый результат они дали. От человека в диалоге мы ожидаем, что он и останется в рамках привычного (на вопрос “как дела?” мы ждем что-то вроде “норм” или “ок” или “хорошо”), и что-то новое нам скажет. Иначе, если речь абсолютно предсказуема, то и говорить было незачем.
Итак, энтропия - это некая мера. Она оценивает, сколько новой информации можно получить от источника. (Я сейчас именно об энтропии в теории информации пишу. Физику - она там тоже есть - не рассматриваем.) Вот предположим у нас есть человек, который говорит только “норм”. Какой вопрос ему не задай, получишь один и тот же ответ. Вероятность получить “норм” равна 1, а энтропия равна 0, т.к. новой информации ноль.
Допустим, человек выучил еще один ответ: “все плохо”. Если он будет в половине случаев говорить “норм”, а в другой “все плохо”, то вероятность получить либо то, либо то будет ½. Ответы - это несовместные события. Они образуют полную группу, т.е. других вариантов ответа нет. Сумма их вероятностей равна 1. Можем ли мы угадать ответ? Будем угадывать в 50% случаев - если будем случайно предполагать, “норм “ или нет. Причем сначала у нас не будет ровно 50% попаданий, но со временем мы все ближе будем приближаться к этой цифре. Вот это типичный случай, когда энтропия равна 1. То есть система ведет себя абсолютно непредсказуемо. Сплошной хаос.
А теперь будет немного головоломки: предположим, наш человек вдруг влюбился и теперь в 70% случаев говорит, что у него все норм - он просто посчастливел процентов эдак на 30 - стал ли он при этом более предсказуем? Чтобы оценить это, давайте научимся считать энтропию. Сначала посчитаем вероятность первого ответа: p = 0.7. Умножим ее на логарифм этой вероятности по основанию 2: log(p). Получилось ~-0.52. Сделаем то же самое со вторым ответом, вероятность которого 0.3. Получаем ~-0.36. Суммируем: ~-0.88. Умножим на -1, чтобы попасть в диапазон от 0 до 1. В итоге мы получили ~0.88 - неопределенность системы уменьшилась, т.к. один из двух ответов мы стали получать чаще. Энтропия падает. От любви в человеке снизился хаос, и он постепенно превращается в робота. Уиии!
В расчетах, которые мы произвели, есть тонкость: во-первых, берется логарифм по основанию 2; во-вторых, результат умножается на -1. Это для того, чтобы энтропия попала в диапазон от 0 до 1. В этот раз демонстрация не в ноутбуке, а в гугл-таблице. Ну и если хотите узнать об энтропии в физике, то мне понравился вот этот пост от хабровчанина.
Всех с наступившей пятницей, 13е! Где моя бензопила? 🤔
#база
Пишу этот пост в ожидании второй серии второго сезона “Локи”.
В этот раз начну с вопроса “Почему?” Потому что после линейной регрессии надо переходить к логистической, а там есть логарифмы и мера кросс-энтропии, а в энтропии тоже есть один логарифм. Так что вот заодно и вспомню, что такое логарифм.
Но если более серьезно отнестись к этому вопросу, то потому что в NLP меру энтропии часто используют для описания лингвистических данных. Например, при помощи энтропии можно вычислять устойчивые словосочетания. А еще она часто встречается в машобуче. Языковые модели, которые порождают текст, можно оценить с точки зрения того, насколько предсказуемый результат они дали. От человека в диалоге мы ожидаем, что он и останется в рамках привычного (на вопрос “как дела?” мы ждем что-то вроде “норм” или “ок” или “хорошо”), и что-то новое нам скажет. Иначе, если речь абсолютно предсказуема, то и говорить было незачем.
Итак, энтропия - это некая мера. Она оценивает, сколько новой информации можно получить от источника. (Я сейчас именно об энтропии в теории информации пишу. Физику - она там тоже есть - не рассматриваем.) Вот предположим у нас есть человек, который говорит только “норм”. Какой вопрос ему не задай, получишь один и тот же ответ. Вероятность получить “норм” равна 1, а энтропия равна 0, т.к. новой информации ноль.
Допустим, человек выучил еще один ответ: “все плохо”. Если он будет в половине случаев говорить “норм”, а в другой “все плохо”, то вероятность получить либо то, либо то будет ½. Ответы - это несовместные события. Они образуют полную группу, т.е. других вариантов ответа нет. Сумма их вероятностей равна 1. Можем ли мы угадать ответ? Будем угадывать в 50% случаев - если будем случайно предполагать, “норм “ или нет. Причем сначала у нас не будет ровно 50% попаданий, но со временем мы все ближе будем приближаться к этой цифре. Вот это типичный случай, когда энтропия равна 1. То есть система ведет себя абсолютно непредсказуемо. Сплошной хаос.
А теперь будет немного головоломки: предположим, наш человек вдруг влюбился и теперь в 70% случаев говорит, что у него все норм - он просто посчастливел процентов эдак на 30 - стал ли он при этом более предсказуем? Чтобы оценить это, давайте научимся считать энтропию. Сначала посчитаем вероятность первого ответа: p = 0.7. Умножим ее на логарифм этой вероятности по основанию 2: log(p). Получилось ~-0.52. Сделаем то же самое со вторым ответом, вероятность которого 0.3. Получаем ~-0.36. Суммируем: ~-0.88. Умножим на -1, чтобы попасть в диапазон от 0 до 1. В итоге мы получили ~0.88 - неопределенность системы уменьшилась, т.к. один из двух ответов мы стали получать чаще. Энтропия падает. От любви в человеке снизился хаос, и он постепенно превращается в робота. Уиии!
В расчетах, которые мы произвели, есть тонкость: во-первых, берется логарифм по основанию 2; во-вторых, результат умножается на -1. Это для того, чтобы энтропия попала в диапазон от 0 до 1. В этот раз демонстрация не в ноутбуке, а в гугл-таблице. Ну и если хотите узнать об энтропии в физике, то мне понравился вот этот пост от хабровчанина.
Всех с наступившей пятницей, 13е! Где моя бензопила? 🤔
#база
Google Docs
энтропия
Энтропия
От 0 до 1: Как ведут себя переменные при вычислении энтропии,Вероятности с шагом 0.1,Логарифм по основанию 2,Перемножение,Нормализация
норм,1,0,0,0
Энтропия,0,0.1,-3.321928095,-0.3321928095,0.3321928095
0.2,-2.321928095,-0.464385619,0.464385619…
От 0 до 1: Как ведут себя переменные при вычислении энтропии,Вероятности с шагом 0.1,Логарифм по основанию 2,Перемножение,Нормализация
норм,1,0,0,0
Энтропия,0,0.1,-3.321928095,-0.3321928095,0.3321928095
0.2,-2.321928095,-0.464385619,0.464385619…
❤3👌1
Внимание, конкурс!
Начну опять издалека. У меня сегодня не осталось сил на кружочек, поэтому я решила поизучать вопрос, почему у логарифма в энтропии основание = 2. Я пошарила в тырнете и нашла много ответов про то, что так сложилось исторически (тут и тут, например). Когда я делала таблицу для расчета энтропии в гугл-таблицах для системы из двух несовместных событий (два ответа: "норм" и "все плохо"), при расчете p*log2(p) для вероятностей с шагом 0.1 (0.1, 0.2, 03...) получалось, что для вероятности 0.5 половина энтропии будет равна тоже 0.5. И это ложится в концепцию. Но потом я на втором листе сделала то же самое для p*log10(p) (то есть взяла основание логарифма: 10), и получилось, что энтропия будет равна 1 только для вероятности.. догадайтесь.. 0.1 (т.е. 1/10). Делаем то же для log5(p) - получаем 0.2. У меня в табличке получается, что основание для логарифма для системы из N несовместных событий должно быть равно количеству этих событий (N), чтобы энтропия была равна 1, когда они равновероятны. См. второй лист моей гуглотаблички. И поскольку со мной не согласен Интернет (ну или я что-то напутала в расчетах энтропии), то я объявляю конкурс: кто разрешит эту загадку, получит от меня бумажный приз - эль книго. Я, правда, пока не знаю, какое, но точно новое, в обложке. Важный критерий: ответ нужно разжевать простым русским языком и добавить расчеты в гуглотабличу для наглядности!
Си ю туморроу (в кружочке)! 🥱
#база
Начну опять издалека. У меня сегодня не осталось сил на кружочек, поэтому я решила поизучать вопрос, почему у логарифма в энтропии основание = 2. Я пошарила в тырнете и нашла много ответов про то, что так сложилось исторически (тут и тут, например). Когда я делала таблицу для расчета энтропии в гугл-таблицах для системы из двух несовместных событий (два ответа: "норм" и "все плохо"), при расчете p*log2(p) для вероятностей с шагом 0.1 (0.1, 0.2, 03...) получалось, что для вероятности 0.5 половина энтропии будет равна тоже 0.5. И это ложится в концепцию. Но потом я на втором листе сделала то же самое для p*log10(p) (то есть взяла основание логарифма: 10), и получилось, что энтропия будет равна 1 только для вероятности.. догадайтесь.. 0.1 (т.е. 1/10). Делаем то же для log5(p) - получаем 0.2. У меня в табличке получается, что основание для логарифма для системы из N несовместных событий должно быть равно количеству этих событий (N), чтобы энтропия была равна 1, когда они равновероятны. См. второй лист моей гуглотаблички. И поскольку со мной не согласен Интернет (ну или я что-то напутала в расчетах энтропии), то я объявляю конкурс: кто разрешит эту загадку, получит от меня бумажный приз - эль книго. Я, правда, пока не знаю, какое, но точно новое, в обложке. Важный критерий: ответ нужно разжевать простым русским языком и добавить расчеты в гуглотабличу для наглядности!
Си ю туморроу (в кружочке)! 🥱
#база
👍2
Forwarded from Elena Mikhalkova
This media is not supported in your browser
VIEW IN TELEGRAM
👍4🔥3❤🔥1🤯1
Так кто же такой Томаш Миколов?
Странно, вроде бы, за ответами на такие вопросы надо идти в Википедию. Но статья про Томаша Миколова в Википедии очень кратко описывает его достижения, ограничиваясь тем, что он создал word2vec и был команде разработчиков fastText. А ведь он потом еще создал doc2vec!..
В общем давным-давно, когда люди прозябали без нормальных алгоритмов понимания человеческой речи компьютером, Томаш Миколов опубликовал статью “Эффективная оценка репрезентаций слов в векторном пространстве”. В этой статье он с соавторами описал алгоритм векторной репрезентации семантики слов: великий и прекрасный word2vec. Что умеет word2vec:
- Он может самостоятельно определить, к чему Лондон относится так же, как Москва к России.
- Он знает, что “королева - женщина = король”.
- Он понимает, что хомяки и суслики по смыслу ближе друг к другу, чем хомяки и алгебра.
- Он видит, что в начале 20 века у слов “красные”, “белые” и “зеленые” возникли новые значения.
- Он точно знает, чему равен косинус угла между томатом и философией (--0.001, кстати, по НКРЯ и Википедии - слова пишите через пробел).
Если бы не word2vec, не было бы и таких крутых языковых моделей, типа ChatGPT. Т.к. именно от этого алгоритма пошло широкое шагание по миру алгоритмов, которые выучивают смысл слова через его соседей в большом множестве текстов. А алгоритм doc2vec позволяет векторизовать смысл не только отдельных слов, но и целых текстов.
Кстати, это именно Томаш был на обложке нашего октябрьского анонса.🦸♂️
Странно, вроде бы, за ответами на такие вопросы надо идти в Википедию. Но статья про Томаша Миколова в Википедии очень кратко описывает его достижения, ограничиваясь тем, что он создал word2vec и был команде разработчиков fastText. А ведь он потом еще создал doc2vec!..
В общем давным-давно, когда люди прозябали без нормальных алгоритмов понимания человеческой речи компьютером, Томаш Миколов опубликовал статью “Эффективная оценка репрезентаций слов в векторном пространстве”. В этой статье он с соавторами описал алгоритм векторной репрезентации семантики слов: великий и прекрасный word2vec. Что умеет word2vec:
- Он может самостоятельно определить, к чему Лондон относится так же, как Москва к России.
- Он знает, что “королева - женщина = король”.
- Он понимает, что хомяки и суслики по смыслу ближе друг к другу, чем хомяки и алгебра.
- Он видит, что в начале 20 века у слов “красные”, “белые” и “зеленые” возникли новые значения.
- Он точно знает, чему равен косинус угла между томатом и философией (--0.001, кстати, по НКРЯ и Википедии - слова пишите через пробел).
Если бы не word2vec, не было бы и таких крутых языковых моделей, типа ChatGPT. Т.к. именно от этого алгоритма пошло широкое шагание по миру алгоритмов, которые выучивают смысл слова через его соседей в большом множестве текстов. А алгоритм doc2vec позволяет векторизовать смысл не только отдельных слов, но и целых текстов.
Кстати, это именно Томаш был на обложке нашего октябрьского анонса.🦸♂️
❤3