SOTA✛
323 subscribers
28 photos
2 videos
43 links
Artificial Intelligence at the service of designers.
Next-generation graphic design tool.

instagram.com/sotaplus
twitter.com/sota_plus

sotaplus.com
info@sotaplus.com
Download Telegram
Top-3 конференций по компьютерному зрению

Наш Top-3 конференций по компьютерному зрению и распознаванию образов. Прекрасно отражают происходящее в мире AI и ML.

1. Conference on Computer Vision and Pattern Recognition, CVPR.

2. International Conference on Computer Vision, ICCV.

3. European Conference on Computer Vision, ECCV.

В этом году пройдут две из них:

CVPR 2019. June 16th — June 20th, Long Beach, CA, USA.
http://cvpr2019.thecvf.com

ICCV 2019. October 27th — November 2th, Seoul, Korea.
http://iccv2019.thecvf.com
Проклятие размерности

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

С ростом числа признаков (увеличением размерности пространства) начинают проявляться эффекты, получившие название «проклятия размерности» — термин ввёл в прошлом веке Ричард Беллман.

Одно из проявлений этого проклятия — экспоненциальный рост объёма данных.

Пример. Пусть каждый из признаков принимает значение от 0 до 1, и для оценки его распределения нужно всего 10 точек. Тогда для оценки распределения двух признаков нужно 100 точек. Для 10 признаков — уже 10^10.

Вот ещё одна особенность многомерных пространств. Внутри единичного гиперкуба (или гиперсферы) возьмём случайную опорную точку Q, а затем j случайных точек P₁...Pⱼ. Матожидание отношения наибольшего расстояния от Q до Pₓ к наименьшему будет стремиться к 1 при стремлении размерности к бесконечности.

E[maxdist(Q, Pₓ) / mindist(Q, Pₓ)] → 1

На практике это означает, что в пространствах высоких размерностей расстояния между большинством точек будут близки друг к другу. Все метрические методы в этом случае перестанут работать. Попробуйте при помощи k-NN классифицировать в лоб (каждый пиксел — это признак) изображения размером хотя бы 100×100.

Как бороться с проклятием размерности? Понижать размерность! Для этого есть множество методов: PCA (Principal Component Analysis — Метод Главных Компонент), отбор признаков и другие.
Обучение тождественной функции

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

Пример: проблема обучения тождественной функции. Обычные полносвязные сети прямого распространения плохо учатся переводить вход в выход без изменений (y = f(x) = x). Попробуйте.

Решение проблемы довольно простое: нужно «пробросить» вход сети в обход полносвязных слоёв и сложить с выходом полносвязных слоев.

Была сеть вида:
y = f(x, w)

Стала:
y = f(x, w) + x

Такая сеть учится тождественной функции очень быстро.
Что почитать по машинному обучению на русском

Неплохие книги и лекции по машинному обучению на русском.

1. Бенджио И., Гудфеллоу Я., Курвилль А. Глубокое обучение. ДМК-Пресс, 2018.

2. Николенко С., Кадурин А., Архангельская Е. Глубокое обучение. Питер, 2018.

3. Воронцов К. В. Лекции по машинному обучению. http://www.machinelearning.ru, 2004–2018.
Speech2Face

Ребята из MIT создали сеть, восстанавливающую лицо по голосу. Работа будет представлена на постерной секции CVPR 2019.

https://arxiv.org/abs/1905.09773
Решение задачи через усложнение

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

Пример: сказать, есть ли на изображении кошка. Это задача бинарной классификации — для каждого изображения нужно ответить «да» или «нет».

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

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

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

Существует как минимум две постановки задач классификации и регрессии.

1. Функциональная.
По доступным N парам {x, yⱼ}, необходимо восстановить неизвестную функцию y = f(x). Где:
x — вектор признаков;
y — ответ.

У такой постановки есть ряд недостатков. Например на практике одинаковым векторам признаков могут соответствовать разные ответы. В этом случае x и y не связаны функционально.

2. Вероятностная.
По доступным N парам {x, yⱼ}, необходимо восстановить неизвестную плотность совместного распределения p(x, y). Где:
x — вектор признаков;
y — ответ.

Такая постановка является более общей и допускает нефункциональную зависимость x и y.

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

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

Первоисточник утверждения найти не удалось. Если вдруг кто знает — поделитесь (контакт в описании канала).

Проясним ситуацию. Абсолютно все модели переобучаются. Это фундаментальная проблема машинного обучения.

Байесовский вывод действительно позволяет получить более корректные и точные (по сравнению с методом максимального правдоподобия) оценки вероятностей p(y | x). Тем не менее, эти оценки рассчитываются по ограниченной выборке. Очевидно, что они не могут тождественно совпасть с соответствующими значениями для генеральной совокупности.
Метод наименьших квадратов и метод наименьших модулей

Рассмотрим очень простую задачу. Есть вектор чисел x длиной N. Мы хотим аппроксимировать (приблизить) x другим вектором y, у которого все компоненты равны. Иначе говоря N исходных чисел мы хотим приблизить одним.

Запишем оптимизационную задачу:
∑ ℒ(xⱼy) → min
ℒ(xⱼy) — функция потерь.

Выберем квадратичную функцию потерь:
ℒ(xⱼy) = (xⱼy

Задача оптимизации:
∑ (yxⱼ)² → min

Взяв производную по y и приравняв к нулю получим решение:
y = ∑ xⱼ / N = mean(x)

Теперь в качестве функции потерь возьмем модуль ошибки:
ℒ(xⱼy) = |xⱼy|

Задача оптимизации:
∑ |xⱼy| → min

Доопределив производную модуля, продифференцировав и приравняв к нулю, получим решение:
y = median(x)

Итак, при выборе двух разных функций потерь, в первом случае приходим к среднему исходных чисел, во втором — к медиане.

Замечательным свойством медианы (в отличие от среднего) является нечувствительность к выбросам — робастность. Единичные очень большие (или очень маленькие) значения xⱼ не приведут к увеличению (или уменьшению) y.

Все рассуждения легко применить и к гораздо более сложным моделям регрессии и классификации.

Вывод: робастность методов аппроксимации можно регулировать простым выбором функции потерь.
Предобучение

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

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

Стандартный подход — предобучение на задаче классификации ImageNet. Как пример, многие state of the art архитектуры детекции текста претренировываются именно на нем.

#dainamicskills
Регуляризация и нехватка данных

Необходимость использования регуляризации — прямое следствие недостатка данных.

Разберем на примере L₁/L₂ регуляризации. Вспомним откуда она берётся.

Веса сети ищутся из условия максимизации апостериорной вероятности:
p(w | D) → max
где:
D — данные для обучения;
w — вектор параметров модели (веса сети).

Апостериорная вероятность выражается по формула Байеса:
p(w | D) = p(D | w) ⋅ p(w) / p(D)

p(D) не зависит от весов, поэтому из оптимизационной задачи её можно исключить:
p(w | D) ∝ p(D | w) ⋅ p(w) → max

Логарифмируем:
log p(D | w) + log p(w) → max

Второе слагаемое и есть регуляризатор. Если p(w) — гауссова функция, получаем L₂ регуляризацию. Если веса имеют распределение Лапласа, получаем L₁ регуляризацию.

Баланс между вкладами слагаемых log p(D | w) и log p(w) определяется «остротой» распределения p(w) и объемом данных D. Чем больше данных и/или чем «шире» априорное распределение, тем меньше значимость регуляризации.

#dainamicskills
Not Equal

ML ≠ AI
“Deconvolution” ≠ Deconvolution
“1×1 Convolution” ≠ 1×1 Convolution
“Tensor” ≠ Tensor
Inference ≠ Statistical Inference
TensorFlow Skills ≠ ML Skills
Naive Bayes Classifier ≠ Bayes Optimal Classifier
Bayesian Network ≠ Bayesian Neural Network
Deep Learning ≠ Machine Learning
p(y | x) ≠ softmax(f(x))
PNP

#dainamicskills
Простое vs сложное

При решении задач машинного обучения часто не задумываясь просто берут модель посложнее (более общую). Логика такая: простая модель — частный случай более сложной, возьмём сложную, чтобы наверняка.

В ряде случаев подобный подход не оправдан. В качестве примера рассмотрим два популярных метода линейной классификации: линейный дискриминантный анализ (ЛДА) и логистическую регрессию.

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

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

Вывод: чем больше информации о распределении данных учтено в модели — тем лучше.

#dainamicskills
Human Replay Spontaneously Reorganizes Experience

Несколько лет назад в машинном обучении произошла настоящая революция. В кратчайшие сроки были получены фантастические результаты. Многие ученые предсказывают создание настоящего AI в ближайшие 10 лет.

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

Приятного прочтения!

https://www.cell.com/cell/fulltext/S0092-8674(19)30640-3
Дискриминативные и генеративные модели

В машинном обучении существует два типа моделей: дискриминативные и генеративные.

Дискриминативные модели пытаются воспроизвести процесс отображения некоторого входного вектора x в вероятность появления выхода y. Иначе говоря аппроксимируется условная вероятность p(y | x).

Генеративные модели аппроксимируют вероятность совместного появления входа x и выхода y: p(x, y).

Для любого наступившего (фиксированного) значения x, зная совместную вероятность p(x, y), можно рассчитать условную вероятность:
p(y | x) = p(x, y) / p(x) ∝ p(x, y)
Таким образом генеративные модели являются более общими. Зная совместную вероятность, для любого x можно вычислить условную.

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

Простейший пример дискриминативной модели — логистическая регрессия. Генеративной — линейный дискриминантный анализ (ЛДА). Восстановив ЛДА-модель, можно вывести и (соответствующую ей) формулу логистической регрессии. При этом с помощью логистической регрессии нельзя сгенерировать новые данные, а с помощью ЛДА-модели — можно.

#dainamicskills
Predicting the Generalization Gap in Deep Neural Networks

Как известно, все ML-модели в той или иной степени переобучаются. Оценка обобщающей способности — одна из фундаментальных и важнейших проблем машинного обучения. По обучающей выборке необходимо оценить точность алгоритма на всех возможных данных (генеральной совокупности). Одни из первых оценок были получены Владимиром Вапником и Алексеем Червоненкисом.

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

Новый метод от Google:
https://ai.googleblog.com/2019/07/predicting-generalization-gap-in-deep.html

Статья:
https://openreview.net/pdf?id=HJlQfnCqKX
Про оценки и красоту решений

Машинное обучение — это построение оценок. Оцениваются вероятности, параметры распределений, многие другие случайные величины.

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

Рассмотрим очень простой пример, известный из университета: оценка дисперсии случайной величины. Все мы помним, что есть смещенная и несмещенная оценки — выборочная и исправленная выборочная дисперсии.

Многие привыкли, что несмещенная оценка — это правильнее, точнее, оптимальнее. Само название «исправленная» намекает на улучшение. А вот и нет…

Разберёмся. Обычная выборочная дисперсия случайной величины u считается так:
S² = ∑ (uⱼū)² / n

Математическое ожидание S² не совпадает с истинной дисперсией:
𝔼[S²] ≠ σ²

Чтобы математическое ожидание оценки совпало с оцениваемой величиной, добавляют поправку на смещение:
Q² = S² ⋅ n / (n − 1)

Теперь математическое ожидание Q² совпадает с истинной дисперсией:
𝔼[Q²] = σ²

Кажется, что теперь все OK... А вот и нет, не все!

Дело в том, что оценка Q (как и S) — случайная величина, и у нее есть распределение. Величина 𝔼[Q²] — всего лишь одна характеристика этого распределения. Одна, но не единственная. Можно посчитать 𝔼[Q], 𝔼[Q³] и бесконечно много других характеристик.

Почему же из всех характеристик решили выровнять матожидание именно 𝔼[Q²]? Почему не выравнивают 𝔼[Q]? Просто потому, что так проще — есть формула. Никаких других причин нет.

Пойдем дальше. Что если сформулировать задачу следующим образом.

Есть случайная величина x с нормальным распределением 𝒩(x | μ, σ). Есть ее наблюдения: (x₁, x₂, …). Нужно найти такие μ’ и σ’, чтобы вероятность появления (x₁, x₂, …) из распределения 𝒩(x | μ’, σ’) была максимальной.

Оптимальной оценкой дисперсии для такой задачи будет обычная (смещенная) выборочная дисперсия, а не исправленная. Проверьте!

Вывод: при выборе решения нужно двигаться от постановки задачи, а не от «красоты» свойств этого решения.

#dainamicskills
Заблуждение | Колмогоров

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

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

#dainamicskills
Расстояние Махаланобиса

В статистике существует обобщение евклидова расстояния для векторов случайных величин. Называется это обобщение расстоянием Махаланобиса. Задается следующей формулой:
d(x, y) = √ t(xy) S⁻¹ (xy)
x, y — вектора-столбцы случайных величин, взятые из одного распределения;
t() — оператор транспонирования;
S — ковариационная матрица.

Как видно, расстояние учитывает ковариацию компонент векторов и является инвариантным к масштабу. Если все компоненты всех векторов из распределения умножить на K, расстояние d(x, y) не изменится.

Расстояние Махаланобиса имеет широчайшее применение в задачах классификации, регрессии и кластерном анализе.

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

Обычное евклидово расстояние для такой задачи плохо подходит так как: 1) характеристики коррелируют между собой; 2) характеристики разнородны, измеряются в разных величинах. Использование расстояния Махаланобиса решает обе проблемы.

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

#dainamicskills
Winners of ACL 2019 Best Paper Awards

= THE BEST DEMO PAPER =

OpenKiwi: An Open Source Framework for Quality Estimation.
Fabio Kepler, Jonay Trenous, Marcos Treviso, Miguel Vera and André F. T. Martins

= OUTSTANDING PAPERS =

Emotion-Cause Pair Extraction: A New Task to Emotion Analysis in Texts.
Rui Xia and Zixiang Ding

A Simple Theoretical Model of Importance for Summarization.
Maxime Peyrard

Transferable Multi-Domain State Generator for Task-Oriented Dialogue Systems.
Chien-Sheng Wu, Andrea Madotto, Ehsan Hosseini-Asl, Caiming Xiong, Richard Socher and Pascale Fung

We need to talk about standard splits.
Kyle Gorman and Steven Bedrick

Zero-shot Word Sense Disambiguation using Sense Definition Embeddings.
Sawan Kumar, Sharmistha Jat, Karan Saxena and Partha Talukdar

= THE BEST SHORT PAPER =

Do you know that Florence is packed with visitors? Evaluating state-of-the-art models of speaker commitment.
Nanjiang Jiang and Marie-Catherine de Marneffe

= THE BEST LONG PAPER =

Bridging the Gap between Training and Inference for Neural Machine Translation.
Wen Zhang, Yang Feng, Fandong Meng, Di You and Qun Liu

#dainamicnews
Advances in Conversational AI

Способность к ведению диалога — важнейшее свойство интеллектуальных агентов будущего. На сегодняшний день ни один чат-бот не в состоянии вести «качественную» беседу на произвольную тему. Тест Тьюринга остаётся непройденным. Тем интереснее наблюдать за прогрессом в этой области...

https://ai.facebook.com/blog/advances-in-conversational-ai/