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

Ян Лекун (Yann Lecun) сказал, что генеративные сети - «возможно, самая захватывающая разработка в области машинного обучения за последние 20 лет». Он сказал это с точки зрения исследования. Но в мире прикладного машинного обучения GAN стремятся к развертыванию: в ближайшие несколько лет мы увидим действительно интересные и революционные технологии.

Давайте разберемся, почему сети GAN так интересны.

В широком смысле GAN работают путем обучения двух параллельных моделей:

  • генератор пытается создать реалистичные результаты. Пытается обмануть:
  • Дискриминатор, который обучен различать поддельные и реальные результаты.

Когда GAN обучаются, между генератором и дискриминатором идет постоянная битва. Они вовлечены в образную «гонку вооружений» за то, кто может

Обучение GAN продолжается до тех пор, пока либо обе сети не станут постепенно улучшаться и поставленные перед ними задачи, либо генератор не станет настолько хорош в том, что он делает, что дискриминатор не сможет

Есть еще один способ взглянуть на то, что происходит в GAN, помимо гонки вооружений: это похоже на динамику учитель-ученик.

Дискриминатор можно рассматривать как «учителя», который сообщает ученику (генератору), что нужно улучшить. Теперь мы все знаем, что намного легче стать лучше, если у вас есть эксперт, который исправит ваши мелкие ошибки. И GAN пытаются воплотить ту же идею в машинное обучение.

Таким образом, GAN становятся намного более гибкими, чем традиционное обучение машинному обучению на основе потерь. Когда вы учились писать эссе, вы, вероятно, не пытались выяснить, какие персонажи составят «оптимальное эссе», а затем работать в обратном направлении. Вместо этого вы написали черновик, получили помощь, отредактировали его и повторили, пока не получили что-то хорошее.

Сети GAN пытаются учиться совершенно по-другому, чем традиционные алгоритмы машинного обучения, и это может быть или не быть положительным или отрицательным. На мой взгляд, это метод, в большей степени мотивированный людьми, чем типичная минимизация потерь, что может привести к усовершенствованию протокола обучения.

Сети GAN также обладают «творчеством» - они склонны узнавать об общих тенденциях данных, на которых они обучаются, поэтому они могут фактически экстраполировать на основе этих изученных функций. Подходы к обучению с учителем, как известно, плохо справляются с экстраполяцией. Поскольку генератор спрашивает: «Как мне лучше всего обмануть этот дискриминатор?», Ему не нужно напрямую учиться на выборочных данных. На самом деле он может предлагать новые решения, имитирующие образцы данных: на самом деле он может выходить за пределы исходного пространства функций.

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

Выше мы видим, как GAN пытается сгенерировать изображения на основе набора данных ImageNet. По сути, все, что ему нужно сделать, это сжать 200 ГБ данных до 50 МБ веса, чтобы изучить наиболее важные особенности данных. Например, он должен

Эта концепция GAN, действующей как встраивание, основана на идее арифметики функций. Репрезентативное обучение всегда было в основе глубокого обучения, и хорошее встраивание - основная цель этого пространства. Word2Vec и правильные кодировки слов являются причиной того, что NMT работает так же хорошо, как и сегодня. Отличительной особенностью векторных кодировок Word2Vec была его способность выполнять арифметические операции между словами: в векторных представлениях: «Мальчик» - «Девочка» + «Племянник» = «Племянница». Эти типы двусмысленности позволили машинному обучению хорошо работать в пространстве задач. .

Оказывается, вы действительно можете выполнять аналогичные типы арифметики с помощью GAN! Это называется функциональной арифметикой. Например, если вы возьмете улыбающуюся женщину - нейтральную женщину + нейтрального мужчину, вы получите улыбающегося мужчину.

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

Это лишь некоторые из областей исследований, которые действительно интересны для сетей GAN, и вскоре мы увидим действительно интересные их применения.

Лично я очень надеюсь на GAN в самых разных ситуациях.