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
Метод наименьших квадратов и метод наименьших модулей

Рассмотрим очень простую задачу. Есть вектор чисел 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/
Video Understanding Using Temporal Cycle-Consistency Learning

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

https://ai.googleblog.com/2019/08/video-understanding-using-temporal.html?m=1
Откуда берется MSE?

При решении задач регрессии чаще всего «по умолчанию» используют mean squared error (MSE). То есть в качестве меры близости идеального вектора y и предсказанного y’ используют величину:
MSE = ∑ (yⱼy’ⱼ)² / n
Чем эта величина меньше, тем лучше.

Никогда не задумывались почему именно квадраты? Почему не модули и не четвертая степень?

Чаще всего выбор MSE объясняют простой геометрической интерпретацией. Два вектора представляются в виде точек в n-мерном евклидовом пространстве и измеряется расстояние между ними. Не смотря на красивую интерпретацию, никакого статистического смысла у такого объяснения нет.

Все дело в модели. При решении регрессионных задач обычно используется модель с нормальным аддитивным шумом:
y = f(x, θ) + ε
x — вектор независимых переменных;
y — зависимая переменная;
θ — вектор параметров модели;
ε — случайная величина с нормальным распределением 𝒩(ε | 0, σ).

Перепишем в терминах вероятностей:
p(y | x, θ) = 𝒩(y | f(x, θ), σ)

После того, как модель задана, делается предположение о независимости появления каждого из наблюдений и применяется метод максимального правдоподобия (Maximum likelihood estimation, MLE). Находятся такие параметры модели θ, при которых появление наблюдений наиболее вероятно.

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

Вывод: MSE — следствие применения MLE и регрессионной модели с аддитивным гауссовским шумом. Никакие геометрические интерпретации здесь ни при чем.

#dainamicskills
Designing agent incentives to avoid reward tampering

AI-системы создаются такими, чтобы они хорошо решали свои задачи. Понятие «хорошо» определяется некоторой функцией. Что, если AI-система, в процессе обучения, найдёт лазейку и сумеет переписать эту функцию?

https://medium.com/@deepmindsafetyresearch/designing-agent-incentives-to-avoid-reward-tampering-4380c1bb6cd
On-Device, Real-Time Hand Tracking with MediaPipe

Распознавание жестов от Google.

https://ai.googleblog.com/2019/08/on-device-real-time-hand-tracking-with.html?m=1
Таблица построения ядер

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

Существует набор стандартных способов построения ядер. Функция k(x, x’) будет ядром во всех нижеперечисленных случаях.

k(x, x’) =

= ck₁(x, x’)
= f(x) ⋅ k₁(x, x’) ⋅ f(x’)
= q(k₁(x, x’))
= exp(k₁(x, x’))
= k₁(x, x’) + k₂(x, x’)
= k₁(x, x’) ⋅ k₂(x, x’)
= k₃(ϕ(x), ϕ(x’))
= t(x) ⋅ Ax
= kₐ(xₐ, xₐ’) + kₑ(xₑ, xₑ’)
= kₐ(xₐ, xₐ’) ⋅ kₑ(xₑ, xₑ’)

Здесь:
k₁(x, x’) и k₂(x, x’) — ядра;
kₐ(xₐ, xₐ’) и kₑ(xₑ, xₑ’) — ядра;
x = (xₐ, xₑ);
c — положительная константа;
f(⋅) — произвольная функция;
q(⋅) — полином с неотрицательными коэффициентами;
ϕ(x) — функция, отображающая x в ℝⁿ;
k₃(⋅, ⋅) — ядро в ℝⁿ;
A — симметричная положительно полуопределенная матрица.

#dainamicskills
A Topology Layer for Machine Learning

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

http://ai.stanford.edu/blog/topologylayer/
Модель vs данные

Всего за несколько лет мир машинного обучения изменился.

Ещё пять лет назад конкуренция выигрывалась моделями и алгоритмами. Побеждал тот, у кого ML-модель и алгоритм обучения были удачнее.

Сегодня модели и алгоритмы у Google, Amazon и у стартапа из трёх человек примерно одинаковые. Практически любая state-of-the-art архитектура доступна абсолютно всем. Теперь конкуренция выигрывается качественными датасетами и грамотно построенной инфраструктурой для их сбора, обновления и перетренировки моделей.

#dainamicskills
Нелинейный SVM и ядерный трюк

Существует замечательное обобщение SVM для случая нелинейной разделимости классов — SVM с ядрами. Идея состоит в том, чтобы при помощи некоторого нелинейного преобразования так повысить размерность пространства признаков, чтобы в новом пространстве классы стали линейно разделимы.

Интересная особенность — само нелинейное повышение размерности пространства не обязательно осуществлять в явном виде. Не нужно пересчитывать новые координаты (признаки) объектов. Нелинейное преобразование осуществляется неявно при помощи так называемого ядерного трюка — в алгоритме SVM все скалярные произведения ⟨x, x’⟩ просто заменяются функцией выбранного ядра k(x, x’). Именно благодаря этой особенности нелинейный SVM становится вычислительно эффективным.

Можно пойти еще дальше и применить ядерный трюк к объектам вообще без признаков. Нелинейному (и линейному тоже) SVM признаки в явном виде не нужны, нужна лишь функция ядра, обладающая свойствами (удовлетворяющая аксиомам) скалярного произведения.

#dainamicskills