Чтобы поделиться волшебством ДАЛЛ·Е 2 с широкой аудиторией нам нужно было снизить риски, связанные с мощными моделями генерации изображений. Для этого кладем различные защитное ограждение чтобы сгенерированные изображения не нарушали наши контентная политика. Этот пост посвящен предтренировочные смягчения, подмножество этих ограждений, которые напрямую изменяют данные, из которых DALL·E 2 получает информацию. В частности, DALL·E 2 обучается на сотнях миллионов изображений с подписями из Интернета, и мы удаляем и повторно взвешиваем некоторые из этих изображений, чтобы изменить то, что изучает модель.
Этот пост состоит из трех разделов, в каждом из которых описывается различное предтренировочное смягчение:
- В первом разделе мы описываем, как мы отфильтровывали изображения насилия и сексуального характера из обучающего набора данных DALL·E 2. Без этого смягчения модель научилась бы создавать графические или явные изображения, когда их запрашивали, и могла бы даже непреднамеренно возвращать такие изображения в ответ на, казалось бы, безобидные запросы.
- Во втором разделе мы обнаруживаем, что фильтрация обучающих данных может усилить предвзятость, и описываем наш метод смягчения этого эффекта. Например, без этого смягчения мы заметили, что модели, обученные на отфильтрованных данных, иногда генерировали больше изображений, изображающих мужчин, и меньше изображений, изображающих женщин, по сравнению с моделями, обученными на исходном наборе данных.
- В заключительном разделе мы обращаемся к проблеме запоминания и обнаруживаем, что такие модели, как DALL·E 2, могут иногда воспроизводить образы, на которых они обучались, а не создавать новые образы. На практике мы обнаружили, что это регургитация изображения возникает из-за изображений, многократно повторяющихся в наборе данных, и устраните проблему, удалив изображения, визуально похожие на другие изображения в наборе данных.
Сокращение графических и явных обучающих данных
Поскольку обучающие данные формируют возможности любой изученной модели, фильтрация данных является мощным инструментом для ограничения нежелательных возможностей модели. Мы применили этот подход к двум категориям — изображениям, изображающим сцены насилия и изображения сексуального характера, — используя классификаторы для фильтрации изображений этих категорий из набора данных перед обучением DALL·E 2. Мы обучили эти классификаторы изображений собственными силами и продолжаем изучать влияние фильтрации набора данных на нашу обученную модель.
Чтобы обучить наши классификаторы изображений, мы повторно использовали подход, который мы ранее использовали для фильтрации обучающих данных для GLIDE. Основные шаги этого подхода следующие: во-первых, мы создаем спецификацию для категорий изображений, которые мы хотели бы пометить; во-вторых, мы собираем несколько сотен положительных и отрицательных примеров для каждой категории; в-третьих, мы используем процедуру активного обучения, чтобы собрать больше данных и улучшить соотношение точность/отзыв; и, наконец, мы запускаем полученный классификатор на всем наборе данных с консервативным порогом классификации, чтобы отдавать предпочтение отзыву, а не точности. Чтобы установить эти пороговые значения, мы отфильтровали все плохой данные о выходе во всех хорошо данные. Это связано с тем, что мы всегда можем настроить нашу модель позже, используя больше данных, чтобы научить ее новым вещам, но гораздо сложнее заставить модель забыть что-то, чему она уже научилась.
На этапе активного обучения мы неоднократно улучшали наши классификаторы, собирая человеческие ярлыки для потенциально сложных или неправильно классифицированных изображений. Примечательно, что мы использовали два метода активного обучения, чтобы выбирать изображения из нашего набора данных (который содержит сотни миллионов немаркированных изображений) для представления людям для маркировки. Во-первых, чтобы уменьшить количество ложных срабатываний нашего классификатора (т. е. частоту, с которой он ошибочно классифицирует доброкачественные изображения как насильственные или сексуальные), мы присвоили человеческие ярлыки изображениям, которые текущая модель классифицировала как положительные. Чтобы этот шаг работал хорошо, мы настроили наш порог классификации почти на 100% отзыва, но с высоким уровнем ложноположительных результатов; таким образом, наши маркировщики в основном маркировали действительно отрицательные случаи. Хотя этот метод помогает уменьшить количество ложных срабатываний и уменьшает потребность маркировщиков в просмотре потенциально опасных изображений, он не помогает найти больше положительных случаев, которые в настоящее время отсутствуют в модели.
Чтобы уменьшить количество ложноотрицательных результатов нашего классификатора, мы использовали второй метод активного обучения: поиск ближайшего соседа. В частности, мы провели многократную перекрестную проверку, чтобы найти положительные образцы в нашем текущем наборе данных с метками, которые модель имела тенденцию ошибочно классифицировать как отрицательные (для этого мы буквально обучили сотни версий классификатора с различными разделениями проверки обучения). Затем мы просканировали нашу большую коллекцию немаркированных изображений в поисках ближайших соседей этих образцов в пространстве перцептивных признаков и присвоили обнаруженным изображениям человеческие метки. Благодаря нашей вычислительной инфраструктуре было несложно масштабировать как обучение классификатору, так и поиск ближайшего соседа на множество графических процессоров, что позволило выполнять этап активного обучения в течение нескольких минут, а не часов или дней.
Чтобы проверить эффективность наших фильтров данных, мы обучили две модели GLIDE с одинаковыми гиперпараметрами: одну на нефильтрованных данных и одну на наборе данных после фильтрации. Мы называем предыдущую модель нефильтрованная модель, а последний как отфильтрованная модель. Как и ожидалось, мы обнаружили, что нефильтрованная модель обычно создавала менее явный или графический контент в ответ на запросы такого рода контента. Однако мы также обнаружили неожиданный побочный эффект фильтрации данных: она создавала или усиливала предубеждения модели в отношении определенных демографических данных.
Устранение смещения, вызванного фильтрами данных
Генеративные модели пытаются соответствовать распределению своих обучающих данных, включая любые отклонения в них. В результате фильтрация обучающих данных может создать или усилить систематические ошибки в последующих моделях. В целом исправление смещения в исходном наборе данных — сложная социотехническая задача, которую мы продолжаем изучать, и она выходит за рамки этого поста. Проблема, которую мы здесь рассматриваем, заключается в усилении предубеждений, вызванных именно самой фильтрацией данных. С нашим подходом мы стремимся предотвратить отфильтрованную модель. БОЛЕЕ смещен, чем нефильтрованная модель, существенно уменьшая сдвиг распределения, вызванный фильтрацией данных.
В качестве конкретного примера усиления смещения из-за фильтрации рассмотрим подсказку «генеральный директор». Когда наша нефильтрованная модель генерировала изображения для этой подсказки, она, как правило, давала больше изображений мужчин, чем женщин, и мы ожидаем, что большая часть этого смещения является отражением наших текущих данных обучения. Однако, когда мы прогоняли ту же самую подсказку через нашу отфильтрованную модель, предвзятость, казалось, усиливалась; поколения были почти исключительно изображениями мужчин.
Мы предполагаем, что этот конкретный случай усиления предвзятости происходит по двум причинам: во-первых, даже если женщины и мужчины имеют примерно одинаковое представительство в исходном наборе данных, набор данных может быть смещен в сторону представления женщин в более сексуализированных контекстах; и, во-вторых, сами наши классификаторы могут быть предвзятыми либо из-за реализации, либо из-за определения класса, несмотря на наши усилия по обеспечению того, чтобы этого не было на этапах сбора и проверки данных. Из-за обоих этих эффектов наш фильтр может удалять больше изображений женщин, чем мужчин, что меняет соотношение полов, которое модель наблюдает при обучении.
Чтобы более тщательно исследовать предвзятость, вызванную фильтрами, нам нужен был способ измерить, насколько наши фильтры данных влияют на предвзятость в отношении различных концепций. Примечательно, что наши фильтры насилия и сексуального контента основаны исключительно на изображениях, но мультимодальный характер нашего набора данных позволяет нам напрямую измерять влияние этих фильтров на текст. Поскольку каждое изображение сопровождается текстовой подписью, мы смогли посмотреть на относительную частоту выбранных вручную ключевых слов в отфильтрованном и нефильтрованном наборе данных, чтобы оценить, насколько фильтры повлияли на ту или иную концепцию.
Чтобы применить это на практике, мы использовали Apache Spark для вычисления частотности нескольких ключевых слов (например, «родитель», «женщина», «ребенок») по всем подписям в наших отфильтрованных и неотфильтрованных наборах данных. Несмотря на то, что наш набор данных содержит сотни миллионов пар текст-изображение, вычисление частот этих ключевых слов заняло всего несколько минут с использованием нашего вычислительного кластера.
После вычисления частоты ключевых слов мы смогли подтвердить, что наши фильтры набора данных действительно искажали частоты одних ключевых слов больше, чем другие. Например, фильтры уменьшили частоту слова «женщина» на 14%, а частоту слова «мужчина» — всего на 6%. Это подтвердило в большом масштабе то, что мы уже случайно наблюдали, проводя выборку из моделей GLIDE, обученных на обоих наборах данных.
Теперь, когда у нас был прокси для измерения смещения, вызванного фильтром, нам нужен был способ смягчить его. Чтобы решить эту проблему, мы стремились повторно взвесить отфильтрованный набор данных, чтобы его распределение лучше соответствовало распределению нефильтрованных изображений. В качестве игрушечного примера, иллюстрирующего эту идею, предположим, что наш набор данных состоит из 50% фотографий кошек и 50% фотографий собак, но наши фильтры данных удаляют 75% собак, но только 50% кошек. Окончательный набор данных будет состоять из ⅔ кошек и ⅓ собак, и генеративная модель, основанная на правдоподобии, обученная на этом наборе данных, вероятно, создаст больше изображений кошек, чем собак. Мы можем исправить этот дисбаланс, умножив потери при обучении каждого изображения собаки на 2, эмулируя эффект повторения каждого изображения собаки дважды. Оказывается, мы можем масштабировать этот подход на наши реальные наборы данных и модели в значительной степени автоматически, то есть нам не нужно вручную выбирать функции, которые мы хотим переоценить.
Мы вычисляем веса для изображений в отфильтрованном наборе данных, используя вероятности из специального классификатора, аналогично подходу, используемому Choi et al. (2019). Чтобы обучить этот классификатор, мы равномерно отбираем изображения из обоих наборов данных и предсказываем, из какого набора данных было получено изображение. В частности, эта модель предсказывает P(нефильтрованное|изображение), учитывая априорную P(нефильтрованный) = 0.5. На практике мы не хотим, чтобы эта модель была слишком мощной, иначе она может изучить точную функцию, реализованную нашими фильтрами в первую очередь. Вместо этого мы хотим, чтобы модель была более гладкой, чем наши исходные фильтры данных, охватывая широкие категории, на которые влияют фильтры, но при этом не зная, будет ли фильтроваться конкретное изображение или нет. С этой целью мы обучили линейный зонд поверх небольшого CLIP модели.
Когда у нас есть классификатор, который предсказывает вероятность того, что изображение взято из нефильтрованного набора данных, нам все равно нужно преобразовать это предсказание в вес изображения. Например, предположим, что P(нефильтрованное|изображение) = 0.8. Это означает, что вероятность обнаружения выборки в нефильтрованных данных в 4 раза выше, чем в отфильтрованных, и вес 4 должен исправить дисбаланс. В более общем случае мы можем использовать вес P(нефильтрованное|изображение)/P(фильтрованное|изображение).[1]
Насколько хорошо эта схема повторного взвешивания на самом деле смягчает усиленное смещение? Когда мы доработали нашу предыдущую отфильтрованную модель с новой схемой взвешивания, поведение отлаженной модели стало намного лучше соответствовать неотфильтрованной модели на ранее обнаруженных нами необъективных примерах. Хотя это было обнадеживающим, мы также хотели более тщательно оценить это снижение, используя нашу эвристику смещения на основе ключевых слов. Чтобы измерить частоту ключевых слов с учетом нашей новой схемы взвешивания, мы можем просто взвесить каждый экземпляр ключевого слова в отфильтрованном наборе данных по весу содержащей его выборки. Делая это, мы получаем новый набор частот ключевых слов, которые отражают веса выборки в отфильтрованном наборе данных.
По большинству проверенных нами ключевых слов схема повторного взвешивания уменьшила изменение частоты, вызванное фильтрацией. Для наших предыдущих примеров «мужчины» и «женщины» относительное снижение частоты стало 1% и -1%, тогда как их предыдущие значения были 14% и 6% соответственно. Хотя эта метрика является всего лишь косвенным показателем фактической предвзятости фильтрации, она обнадеживает, что наша схема повторного взвешивания на основе изображений действительно значительно улучшает текстовую метрику.
Мы продолжаем исследовать оставшиеся предубеждения в DALL·E 2, отчасти посредством более широких оценок поведения модели и исследований того, как фильтрация повлияла на предубеждения и развитие возможностей.
Предотвращение регургитации изображения
Мы заметили, что наши внутренние предшественники DALL·E 2 иногда воспроизводили тренировочные изображения дословно. Такое поведение было нежелательным, так как мы хотели, чтобы DALL·E 2 по умолчанию создавал оригинальные, уникальные образы, а не просто «сшивал» фрагменты существующих образов. Кроме того, дословное воспроизведение обучающих изображений может вызвать юридические вопросы, связанные с нарушением авторских прав, прав собственности и конфиденциальности (если фотографии людей присутствовали в обучающих данных).
Чтобы лучше понять проблему регургитации изображений, мы собрали набор данных о запросах, которые часто приводили к дублированию изображений. Для этого мы использовали обученную модель для выборки изображений для 50,000 50 подсказок из нашего набора обучающих данных и отсортировали образцы по сходству восприятия с соответствующим обучающим изображением. Наконец, мы проверили лучшие совпадения вручную и нашли лишь несколько сотен истинных пар-дубликатов из 1 0 подсказок. Несмотря на то, что частота регургитации оказалась менее XNUMX%, мы сочли необходимым снизить ее до XNUMX по причинам, изложенным выше.
Когда мы изучали наш набор данных регургитированных изображений, мы заметили две закономерности. Во-первых, изображения почти все представляли собой простую векторную графику, которую, вероятно, было легко запомнить из-за малой информативности. Во-вторых, что более важно, у всех изображений было много почти дубликатов в наборе обучающих данных. Например, может быть векторная графика, которая выглядит как часы, показывающие время 1 час, но тогда мы обнаружим обучающую выборку, содержащую те же часы, показывающие 2 часа, затем 3 часа и т. д. Однажды мы поняли это, мы использовали распределенный поиск ближайшего соседа, чтобы убедиться, что действительно все изрыгнутые изображения имели воспринято похожие дубликаты в наборе данных. Другое работает наблюдали подобное явление в больших языковых моделях, обнаружив, что дублирование данных тесно связано с запоминанием.
Приведенный выше вывод предполагает, что, если мы дедуплицируем наш набор данных, мы можем решить проблему регургитации. Для этого мы планировали использовать нейронную сеть для определения групп изображений, которые выглядели одинаково, а затем удалять все изображения, кроме одного, из каждой группы.[2] Однако для этого потребуется проверить для каждого изображения, является ли оно дубликатом любого другого изображения в наборе данных. Поскольку весь наш набор данных содержит сотни миллионов изображений, нам наивно пришлось бы проверять сотни квадриллионов пар изображений, чтобы найти все дубликаты. Хотя технически это достижимо, особенно в большом вычислительном кластере, мы нашли гораздо более эффективную альтернативу, которая работает почти так же хорошо при небольшой доле затрат.
Подумайте, что произойдет, если мы сгруппируем наш набор данных перед выполнением дедупликации. Поскольку соседние образцы часто попадают в один и тот же кластер, большинство повторяющихся пар не пересекают границы кластера. Затем мы могли бы дедуплицировать выборки в каждом кластере, не проверяя наличие дубликатов за пределами кластера, пропуская лишь небольшую часть всех пар дубликатов. Это намного быстрее, чем наивный подход, поскольку нам больше не нужно проверять каждую пару изображений.[3] Когда мы протестировали этот подход эмпирически на небольшом подмножестве наших данных, он обнаружил 85% всех повторяющихся пар при использовании K = 1024 кластеры.
Чтобы повысить вероятность успеха вышеупомянутого алгоритма, мы использовали одно ключевое наблюдение: когда вы кластеризуете разные случайные подмножества набора данных, результирующие границы решения кластера часто сильно различаются. Следовательно, если повторяющаяся пара пересекает границу кластера для одной кластеризации данных, эта же пара может попасть в один кластер в другой кластеризации. Чем больше кластеризаций вы попробуете, тем больше вероятность того, что вы обнаружите данную дублирующую пару. На практике мы остановились на использовании пяти кластеризаций, что означает поиск дубликатов каждого изображения в объединении пяти разных кластеров. На практике это обнаружило 97% всех повторяющихся пар в подмножестве наших данных.
Удивительно, но почти четверть нашего набора данных была удалена путем дедупликации. Когда мы рассмотрели найденные почти повторяющиеся пары, многие из них содержали значимые изменения. Вспомните приведенный выше пример с часами: набор данных может включать множество изображений одних и тех же часов в разное время суток. Хотя эти изображения, вероятно, заставят модель запомнить внешний вид этих конкретных часов, они также могут помочь модели научиться различать время суток на часах. Учитывая, сколько данных было удалено, мы беспокоились, что удаление таких изображений могло повредить производительности модели.
Чтобы проверить влияние дедупликации на наши модели, мы обучили две модели с одинаковыми гиперпараметрами: одну на полном наборе данных, а другую на дедуплицированной версии набора данных. Для сравнения моделей мы использовали те же человеческие оценки, что и для нашей исходной модели GLIDE. Удивительно, но мы обнаружили, что оценщики немного привилегированный модель обучалась на дедуплицированных данных, предполагая, что большое количество избыточных изображений в наборе данных на самом деле снижает производительность.
После того, как у нас была модель, обученная на дедуплицированных данных, мы повторно запустили повторный поиск, который мы ранее выполняли по более чем 50 50 подсказок из набора обучающих данных. Мы обнаружили, что новая модель никогда не повторяла обучающее изображение, когда ей давали точную подсказку для изображения из набора обучающих данных. Чтобы продвинуть этот тест еще на один шаг вперед, мы также выполнили поиск ближайшего соседа по всему набору обучающих данных для каждого из XNUMX XNUMX сгенерированных изображений. Таким образом, мы думали, что можем поймать модель, извергающую изображение, отличное от того, которое связано с данной подсказкой. Даже при этой более тщательной проверке мы так и не обнаружили случая регургитации изображения.
Следующие шаги
Несмотря на то, что все рассмотренные выше меры по снижению рисков представляют собой значительный прогресс в достижении нашей цели по снижению рисков, связанных с DALL·E 2, для каждого из них еще есть возможности для улучшения:
- Улучшенные фильтры предварительной подготовки могут позволить нам обучать DALL·E 2 на большем количестве данных и, возможно, еще больше уменьшить погрешность в модели. Наши текущие фильтры настроены на низкий процент промахов за счет множества ложных срабатываний. В результате мы отфильтровали примерно 5% всего нашего набора данных, хотя большинство этих отфильтрованных изображений вообще не нарушают нашу политику в отношении контента. Улучшение наших фильтров может позволить нам восстановить некоторые из этих обучающих данных.
- Смещение вводится и потенциально усиливается на многих этапах разработки и развертывания системы. Оценка и смягчение предвзятости в таких системах, как DALL·E 2, а также вреда, причиняемого этим предвзятостью, — важная междисциплинарная проблема, которую мы продолжаем изучать в OpenAI в рамках нашей более широкой миссии. Наша работа над этим включает в себя создание оценок для лучшего понимания проблемы, подбор новых наборов данных и применение таких методов, как человеческая обратная связь и тонкая настройка, для создания более надежных и репрезентативных технологий.
- Также крайне важно, чтобы мы продолжали изучать запоминание и обобщение в системах глубокого обучения. Хотя дедупликация является хорошим первым шагом к предотвращению запоминания, она не дает нам всего, что нужно знать о том, почему и как такие модели, как DALL·E 2, запоминают обучающие данные.
- 000
- 2019
- a
- О нас
- Учетная запись
- Достигать
- через
- активный
- адрес
- затрагивающий
- алгоритм
- Все
- Позволяющий
- позволяет
- уже
- альтернатива
- всегда
- количество
- Другой
- появившийся
- прикладной
- Применение
- подхода
- около
- назначенный
- связанный
- аудитория
- , так как:
- до
- не являетесь
- Лучшая
- между
- Beyond
- строить
- Строительство
- возможности
- Подписи
- случаев
- случаев
- Привлекайте
- Категории
- вызванный
- определенный
- изменение
- контроль
- Выберите
- класс
- классификация
- классифицированный
- Часы
- лыжных шлемов
- сравненный
- Вычисление
- вычисление
- сама концепция
- Рассматривать
- содержит
- содержание
- контексты
- продолжать
- авторское право
- нарушение авторского права
- соответствующий
- может
- Создайте
- создали
- Создающий
- решающее значение
- Текущий
- В настоящее время
- данным
- день
- Дней
- решение
- глубоко
- Демографическая
- развертывание
- описывать
- Несмотря на
- Развитие
- различный
- трудный
- непосредственно
- обнаружить
- открытый
- расстояние
- распределенный
- распределение
- вниз
- дубликаты
- в течение
- каждый
- эффект
- фактически
- эффективность
- эффекты
- эффективный
- усилия
- поощрение
- особенно
- по существу
- оценка
- и т.д
- оценивать
- многое
- пример
- Примеры
- исключительно
- существующий
- ожидать
- ожидаемый
- быстрее
- Особенность
- Особенности
- Обратная связь
- фигура
- фильтрация
- фильтры
- в заключение
- обнаружение
- First
- фиксированный
- фокусируется
- следующим образом
- найденный
- от
- полный
- функция
- далее
- сбор
- пол
- Общие
- в общем
- порождать
- генерируется
- поколение
- поколения
- генеративный
- цель
- хорошо
- Графические процессоры
- графика
- группы
- Группы
- гарантированный
- горсть
- помощь
- помогает
- здесь
- High
- Как
- Однако
- HTTPS
- человек
- Людей
- Сотни
- идея
- определения
- изображение
- изображений
- реализация
- в XNUMX году
- важную
- улучшать
- улучшенный
- улучшение
- включают
- включены
- включает в себя
- В том числе
- информация
- Инфраструктура
- пример
- Интернет
- исследовать
- вопрос
- IT
- саму трезвость
- Основные
- этикетка
- маркировка
- Этикетки
- язык
- большой
- больше
- УЧИТЬСЯ
- узнали
- изучение
- Юр. Информация
- Вероятно
- посмотреть
- смотрел
- сделать
- отметка
- Совпадение
- значимым
- означает
- проводить измерение
- измерение
- Мужчина
- может быть
- военный
- миллионы
- Наша миссия
- модель
- Модели
- БОЛЕЕ
- самых
- умножения
- природа
- необходимо
- отрицательный
- сеть
- номер
- заказ
- Организованный
- оригинал
- Другое
- собственность
- часть
- особый
- производительность
- выполнения
- фаза
- штук
- запланированный
- политика
- положительный
- возможное
- потенциал
- мощный
- практика
- предсказывать
- прогноз
- представить
- предупреждение
- предыдущий
- политикой конфиденциальности.
- зонд
- Проблема
- процесс
- производит
- Произведенный
- протест
- полномочие
- Четверть
- повышение
- достигать
- реализованный
- причины
- уменьшить
- Цена снижена
- снижение
- отражать
- отражение
- осталось
- удаление
- представлять
- представление
- представитель
- Запросы
- требовать
- требуется
- ответ
- в результате
- возвращают
- рисках,
- Run
- то же
- Шкала
- схема
- Поиск
- набор
- формы
- Поделиться
- сдвиг
- значительный
- аналогичный
- просто
- с
- одинарной
- Размер
- небольшой
- So
- РЕШАТЬ
- некоторые
- удалось
- Space
- особый
- конкретно
- Спецификация
- расколы
- этапы
- Начало
- заявил
- По-прежнему
- Кабинет
- успех
- система
- системы
- с
- снижения вреда
- технологии
- тестXNUMX
- Ассоциация
- следовательно
- вещи
- тщательно
- три
- порог
- Через
- время
- раз
- инструментом
- топ
- к
- Train
- Обучение
- понимать
- союз
- созданного
- us
- использование
- Проверка
- различный
- проверить
- версия
- стремятся
- Что
- будь то
- в то время как
- в
- без
- Женщина
- Работа
- работает
- беспокоиться
- бы
- X