Skip to main content

Выразительная температура

Автор статьи - Robin Sloan, ссылка на оригинал: Expressive temperature. Перевод опубликован с разрешения автора.

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

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

Грунтовка по температуре

В системах машинного обучения, предназначенных для генерирования текста или аудио, часто существует последний шаг между системной моделью обучающих данных и некоторым конкретным результатом, который человек может оценить или насладиться. Технически, это ВЫБОРКА ИЗ МНОГОЧЛЕННОГО РАСПРЕДЕЛЕНИЯ, но назовите это вращением гигантских костей, многогранных, а также взвешенных. Странные кости

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

Это проще всего понять на примерах.

Вот некоторый текст, взятый из модели, натренированной на фантастические истории. Сначала давайте установим температуру отбора проб на 0.1. Веса получают разделенный на температуре, так что значение меньше 1.0будет делать тяжести много heavier- который должен сказать, что более likely- дает нам гудение данных учебной наиболее основные темы:

Это была странная вещь. Странное утверждение состояло в том, что состояние планеты было странным состоянием особых проблем.

Вы могли бы пробовать страницы и страницы текста, отобранные при этой температуре, и вы не читали бы о многом, кроме планет и странностей.

Напротив, если мы установим температуру на 1.0, мы получим хороший, удивительный образец:

Это было здесь вчера. Было двойное вымышленное устройство с крокодиловыми плечами и странными океанами и Катчанни.

Хорошо! Вы никогда, никогда не найдете Katchanni при температуре 0.1.

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

Это был Уинстед, мои испорченные 46 старомодных крыс.

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

Оооо ... давайте контролировать это.

Поворачивая ручку

Если бы я повторил вышеупомянутое упражнение, но заменил образцы аудио на текст, вы бы узнали ту же схему: при низких («крутых»?) Температурах, осторожности и повторении; вокруг 1.0, серьезная попытка представить разнообразие обучающих данных; за пределами, здесь быть драконами .

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

Давай поиграем.

Инструментарий:

  • Реализация SampleRNN Ричарда Ассара , которую я также использовал для создания звука для аудиокниги моего последнего романа. Он больше не является современным, но, на мой взгляд, дает результаты, более интересные, чем все, что в настоящее время доступно как открытый исходный код.
  • Модель обучалась нескольким различным исполнениям песни, которая мне нравится (которая останется безымянной). Это относительно небольшой набор данных, поэтому на практике эта модель действует как шероховатый, обходной тип сэмплера, преобразуя и регургитируя песню новыми способами.

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

Наконец - я чувствую, что всегда заканчиваю тем, что включаю какую-то версию этого манифеста caveat-slash - меня привлекают эти методы, потому что они создают материал с интересными (может быть, уникальными?) Характеристиками, которые автор или художник могут затем редактировать, ремикшировать, и / или отбросить в сторону. Пожалуйста, рассмотрите примеры ниже в этом контексте. Другие люди - как исследователи, так и тинкеры - более мотивированы мечтой о системе, которая может написать целую песню из конца в конец. По мере того, как они продвигаются к этой цели ... Я с радостью использую их инструменты и подчиняю их своим целям.

Хорошо! Для начала, вот образец, сгенерированный нормальным способом, при постоянной температуре 1.0.

Модель с одной песней, постоянная температура, 30 секунд

Я думаю, что это звучит хорошо, но / и у него есть характерный «меандр» сэмплов, сгенерированных этими системами, как текста, так и аудио. Им не хватает дальнобойной структуры; они никуда не уходят. Это не плохая извилина, и есть определенные способы использовать этот материал творчески и продуктивно.

Но что, если мы хотим чего-то другого?

Вот еще один пример - та же модель, все то же самое - полученная путем измерения температуры от и 0.75до 1.1:

Модель с одной песней, температура, 30 секунд

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

Пойдем еще дальше.

Этот следующий образец был сгенерирован с использованием (1) той же температурной развертки, а также (2) «направляющей дорожки» - крошечного зацикленного фрагмента аудио, скопированного из обучающих данных. Вы услышите это. При низких температурах направляющая колея используется для «подталкивания» модели. (Ограждение? Straightjacket?) Когда температура повышается, влияние направляющей колеи исчезает до тех пор, пока модель совсем не подталкивается, и не может ... качаться.

Модель с одной песней, температура, ориентир, 30 секунд

На данный момент мы не используем SampleRNN удаленно, как это было задумано; это даже машинное обучение больше? Если бы все, что мы вышли из этого вычислительного обхода, было синусоидальной волной, было бы справедливо сказать, что мы использовали неправильный инструмент для этой работы.

Но ... мы получаем что-то совершенно другое!

Конечно, мы можем повернуть ручку температуры, как мы хотим. Давайте попробуем более сложную кривую:

Модель с одной песней, температура, 90 секунд

И вот еще один образец, сгенерированный с использованием (1) той же кривой температуры, но (2) другой модели, этой, обученной на связке музыки из синтетических фильмов. Опять же, это прямо из SampleRNN, так что ожидайте некоторых отрыжек и воплей:

Более богатая модель, температура, 90 секунд

Я имею в виду ... человек может сделать что-то из этого!

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

Пока мы ждем, все это немного трудоемко, но о, мне когда-нибудь нравится текстура того, что появляется.

Август 2018, Окленд