Pull to refresh

Изучение важных функций путем распространения различий в активации. DeepLIFT

Reading time24 min
Views2.2K
Original author: Avanti Shrikumar , Peyton Greenside , Anshul Kundaje

Аннотация

Предполагаемая природа типа «черный ящик» нейронных сетей является препятствием для использования в приложениях, где важна интерпретируемость. Здесь мы представляем DeepLIFT (Deep Learning Important FeaTures), метод декомпозиции выходного предсказания нейронной сети на конкретном входе путем обратного распространения откликов всех нейронов (узлов) сети на каждый признак входного сигнала. DeepLIFT сравнивает активацию каждого нейрона с его «эталонной активацией» и присваивает оценки его отдельного вклада. При необходимости раздельно рассматривая положительные и отрицательные вклады, DeepLIFT может также выявить зависимости, которые упускаются другими подходами. Баллы могут быть эффективно вычислены за один обратный проход. Мы применяем DeepLIFT к моделям, обученным на MNIST и смоделированных геномных данных,  показывая значительные преимущества перед градиентными методами. 

Video tutorial: http://goo.gl/qKb7pL

ICML slides: bit.ly/deeplifticmlslides

ICML talk: https://vimeo.com/238275076

code: http://goo.gl/RM8jvH

1. Введение 

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

2. Похожие работы 

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

2.1. Подходы прямого распространения на основе возмущений 

Эти подходы создают возмущения для отдельных входов или нейронов позволяют наблюдать воздействие на последующие нейроны в сети. Зейлер & Фергус (Зейлер & Фергус, 2013 [12]) изолировали различные сегменты входного изображения и визуализировали изменения в активации более поздних наслоений. «In-silico mutagenesis» (Zhou & Troyanskaya, 2015 [13]) ввел виртуальные мутации в отдельные положения геномной последовательности и количественно оценил их влияние на выход. Zintgraf и соавт. (Zintgraf et al., 2017 [14]) предложили умную стратегию анализа разницы в прогнозе после изоляции по каждому входному патчу. Однако такие методы могут быть вычислительно неэффективными, поскольку каждое возмущение требует отдельного прямого распространения по сети. Они также могут недооценивать важность признаков, которые насыщают их вклад в результат (Рис. 1). 

Рис. 1. Подходы, основанные на возмущениях, и подходы на основе градиента не способны моделировать насыщение.
Рис. 1. Подходы, основанные на возмущениях, и подходы на основе градиента не способны моделировать насыщение.

Проиллюстрирована простая сеть, демонстрирующая насыщение сигнала с ее входов. В точке, где i1 = 1 и i2 = 1, изменение значения i1 или i2 до 0 не приведет к изменению выходного сигнала. Обратите внимание, что градиент выхода относительно входов также равен нулю, когда i1 + i2> 1.

2.2. Подходы, основанные на обратном распространении 

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

2.2.1. ГРАДИЕНТЫ, ДЕКОНВОЛЮЦИОННЫЕ (НЕСОПРЯЖЕННЫЕ, НЕСВЕРТОЧНЫЕ) СЕТИ И УПРАВЛЯЕМОЕ ОБРАТНОЕ РАСПРОСТРАНЕНИЕ 

Симонян и др. (Симонян и др., 2013 [9]) предложили использовать градиент выходной мощности относительно пикселей входного изображения для вычисления «карты значимости» изображения в контексте задач классификации изображений. Авторы показали, что это было похоже на деконволюционные (несверточные) сети (Zeiler & Fergus, 2013 [12]), за исключением обработки нелинейности в выпрямленных линейных блоках (ReLU). При обратном распространении важности с помощью градиентов градиент, поступающий в ReLU во время обратного прохода, равен нулю, если вход в ReLU во время прямого прохода отрицателен. Напротив, при обратном распространении сигнала важности в деконволюционных сетях сигнал важности, поступающий в ReLU во время обратного прохода, обнуляется тогда и только тогда, когда он отрицателен, без учета знака входа в ReLU во время прямого прохода. Спрингенберг и др. (Springenberg et al., 2014 [10]) объединили эти два подхода в управляемое обратное распространение, которое обнуляет сигнал важности в ReLU, если либо вход в ReLU во время прямого прохода отрицательный, либо сигнал важности во время обратного прохода отрицательный. Управляемое обратное распространение можно рассматривать как эквивалент вычисления градиентов с оговоркой, что любые градиенты, которые становятся отрицательными во время обратного прохода, отбрасываются в ReLU. Из-за обнуления отрицательных градиентов, как управляемое обратное распространение, так и деконволюционные (несверточные) сети могут не выделять входы, которые вносят отрицательный вклад в выход. Кроме того, ни один из трех подходов не решит проблему насыщения, показанную на рис. 1, поскольку градиент y относительно h является отрицательным (в результате чего управляемое обратное распространение и сети деконволюции присваивают нулевую важность), а градиент h относительно i1 и i2 равен нулю, когда i1 + i2> 1 (в результате чего оба градиента и управляемое обратное распространение равны нулю). Разрывы градиентов также могут вызывать нежелательные явления (рис. 2). 

2.2.2. ПОСЛОЙНОЕ РАСПРОСТРАНЕНИЕ РЕЛЕВАНТНОСТИ И ГРАДИЕНТ × ВХОД 

Бах и др. (Bach et al., 2015 [1]) предложили подход для распространения оценок важности, называемый послойным распространением релевантности (LRP). Шрикумар и др. и Kindermans et al. (Shrikumar et al., 2016; Kindermans et al., 2016 [8]) показали, что при отсутствии модификаций, связанных с численной стабильностью, правила LRP для сетей ReLU были эквивалентны в пределах масштабного коэффициента элементному произведению между картами значимости Simonyan et al. и вход (другими словами, градиент × вход). В наших экспериментах мы сравниваем DeepLIFT с gradient × input, поскольку последний легко реализуется на GPU, тогда как LRP не имел реализации GPU, известной нам на момент написания статьи. 

Хотя градиент × входной сигнал часто предпочтительнее, чем лишь градиенты, поскольку он использует знак и силу входного сигнала, он все же не решает проблему насыщения на рис. 1 или явление порогового значения на Рис. 2. 

2.2.3. ИНТЕГРИРОВАННЫЕ ГРАДИЕНТЫ 

Вместо того, чтобы вычислять градиенты только для текущего значения входа, можно интегрировать градиенты по мере увеличения входных значений от некоторого начального значения (например: все нули) до их текущего значения (Sundararajan et al., 2016). Это решает проблемы насыщения и определения порога, показанные на рисунках 1 и 2, но численное вычисление высококачественных интегралов (учитывающих малые промежутки, скачки интегрируемой функции, ее сложный вид)  увеличивает вычислительные затраты. Кроме того, этот подход все еще может давать вводящие в заблуждение результаты (см. Раздел 3.4.3). 

2.3. Grad-CAM и управляемый CAM 

Grad-CAM (Selvaraju et al., 2016 [7]) вычисляет разреженную карту важности объектов, связывая карты объектов в конечном сверточном слое с конкретными классами на основе градиентов каждого класса относительно каждой карты объектов, а затем, используя взвешенные активации карт объектов в качестве указания того, какие входные данные являются наиболее важными. Чтобы получить более мелкозернистую (менее разреженную карту) значимость признака, авторы предложили выполнить поэлементное произведение между баллами, полученными от Grad-CAM и баллами, полученными от управляемого обратного распространения, называемого управляемым Grad-CAM. Однако эта стратегия наследует ограничения управляемого обратного распространения, вызванные обнулением отрицательных градиентов во время обратного распространения. Он также специфичен для сверточных нейронных сетей. 

3. Метод DeepLIFT 

3.1. Философия DeepLIFT 

DeepLIFT объясняет разницу между выходными данными некоторых «эталонных» выходных данных с точки зрения отличий входных данных от некоторых «эталонных». «Эталонный» вход представляет собой какой-то вход по умолчанию или «нейтральный» вход, который выбирается в зависимости от того, что подходит для рассматриваемой проблемы (более подробную информацию см. В разделе 3.3). Формально, пусть t представляет некоторый целевой выходной нейрон, представляющий интерес, и пусть x1, x2, ..., xn представляют некоторые нейроны в некотором промежуточном слое или наборе слоев, которые необходимы и достаточны для вычисления t. Пусть t0 представляет собой эталонную активацию t. Величину ∆t мы определяем как отличие от эталона, то есть ∆t = t − t0. DeepLIFT присваивает оценки вклада 

C_{\Delta x_i \Delta t} \; для   \Delta xi  \; как
C _{∆x_i ∆t} \text {может быть ненулевым}\text{даже если }\frac{∂t } {∂x_i} \text{равно нулю. }

Это позволяет DeepLIFT устранить фундаментальное ограничение градиентов, поскольку, как показано на Рис. 1, нейрон может передавать значимую информацию даже в режиме, когда его градиент равен нулю. Еще один недостаток градиентов, устраняемый DeepLIFT, показан на Рис.2, где кусочно-линейный (ступенчатый) характер градиентов вызывает внезапные скачки оценки важности по сравнению с бесконечно малыми изменениями входных данных. Напротив, отличие от эталона является непрерывным, что позволяет глубинному сдвигу избежать разрывов, вызванных смещенными членами. 

Рисунок 2. Прерывистые градиенты могут давать неверные оценки важности.
Рисунок 2. Прерывистые градиенты могут давать неверные оценки важности.

Отклик единичного выпрямленного линейного блока с уклоном -10. И градиент, и вход градиента имеют разрыв при x = 10; при x = 10 + e, градиент × вход присваивает вклад 10 + e в x и -10 в смещении (е - небольшое положительное число). Когда x < 10, вклады на x и смещение равны 0. Напротив, отличие от эталона (красная стрелка, верхний рисунок) дает непрерывное увеличение оценки вклада. 

3.2. Множители и правило цепочки 

3.2.1. ОПРЕДЕЛЕНИЕ МНОЖИТЕЛЕЙ 

Для заданного входного нейрона x с отличием от эталона ∆x и целевого нейрона t с разницей от эталона ∆t, вклад в который хотим вычислить, мы определяем множитель m∆x∆t как: 

Другими словами, множитель m∆x∆t - это вклад ∆x в ∆t, деленный на ∆x. Обратите внимание на близкую аналогию с идеей частных производных: частная производная ∂t / ∂x - это бесконечно малое приращение ∆t, вызванное бесконечно малым приращением ∆x, деленным на бесконечно малое приращение ∆x. Множитель по духу похож на частную производную, но использует конечные разности вместо бесконечно малых.

3.2.2. ПРАВИЛО ЦЕПИ ДЛЯ МНОЖИТЕЛЕЙ 

Предположим, у нас есть входной слой с нейронами x1, ..., xn, скрытый слой с нейронами y1, ..., yn и некоторый целевой выходной нейрон t. При заданных значениях

m_{∆x_i∆y_j} \; и \; m_{∆y_j∆t} \; следующее \; определение \; m_{∆x_i∆t}

согласуется со свойством суммирования с дельтой в уравнении. 1 (см. Доказательство в Приложении А): 

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

3.3. Определение отношения

Формулируя правила DeepLift, описанные в разделе 3.5, мы предполагаем, что ссылка нейрона - это его активация на опорном входе. Формально: у нас есть нейрон y с входами x1, x2, ... такой, что y = f(x1, x2,...). Учитывая опорные активации

x^0_1, x^0_2 ...

, ... входов, мы можем вычислить опорную активацию y0 выхода как: 

то есть ссылки для всех нейронов можно найти, выбрав опорный вход и распространяя активации по сети. 

Выбор опорного входа имеет решающее значение для получения глубоких результатов от DeepLIFT. На практике выбор хорошей ссылки будет зависеть от знаний конкретной области, и в некоторых случаях, возможно, лучше всего вычислить баллы DeepLIFT по нескольким различным ссылкам. В качестве руководящего принципа мы можем спросить себя «в чем я заинтересован в измерении различий?». Для MNIST мы используем опорный вход всех нулей, так как это фон изображений. Для задач бинарной классификации на входах последовательностей ДНК (строки по алфавиту {A,C,G, T}) мы получили разумные результаты, используя либо опорный вход, содержащий ожидаемые частоты ACGT в фоновом режиме (Рис. 5), либо усредняя результаты по нескольким опорным входам для каждой последовательности, которые генерируются путем перемешивания каждой исходной последовательности (приложение J).

Важно отметить, что градиент × вход неявно использует эталон всех нулей (это эквивалентно приближению Тейлора первого порядка градиента × ∆входа, где ∆ измеряется относительно ввода нулей). Аналогичным образом, интегрированные градиенты (раздел 2.2.3) требуют, чтобы пользователь указал точку начала для интеграла, что концептуально аналогично указанию ссылки для DeepLIFT. Хотя Guided Backprop и чистые градиенты не используют ссылку, мы утверждаем, что это является ограничением, поскольку эти методы описывают только локальное поведение вывода при определенном входном значении, без учета того, как вывод ведет себя в диапазоне входов. 

3.4. Разделение положительных и отрицательных вкладов 

В Разделе 3.5.3 мы увидим, что в некоторых ситуациях важно по-разному рассматривать положительные и отрицательные вклады. Для чего, для каждого нейрона y мы введем ∆y + и ∆y−, чтобы представить положительные и отрицательные компоненты ∆y, так что: 

Для линейных нейронов ∆y+ и ∆y− находятся путем записи ∆y как суммы членов, включающих его входы ∆xi, и группирования положительных и отрицательных членов вместе. Важность этого станет очевидной при применении правила RevealCancel (раздел 3.5.3), где для заданного целевого нейрона t мы можем обнаружить, что m∆y + ∆t и m∆y − ∆t различаются. Однако при применении только линейных правил или правил изменения масштаба (Раздел 3.5.1 и Раздел 3.5.2) имеем: m∆y∆t = m∆y + ∆t = m∆y − ∆t

3.5. Правила присвоения баллов за вклад 

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

3.5.1. Линейное правило 

Это относится к плотным и сверточным слоям (исключая нелинейности). Пусть y - линейная функция его входов xi такая, что

y = b + \sum_{i=1}^n w_ix_i

Мы имеем:

∆y =\sum_{i}w_ix_i

Мы определяем положительную и отрицательную части ∆y как:

Это приводит к следующему выбору для взносов: 

Затем мы можем найти множители, используя определение в разделе 3.2.1.

А что насчет того, когда ∆xi = 0? Хотя установка множителей «в нуль» в этом случае будет согласована с суммированием «в дельту», возможно, что ∆x + i и ∆x - i ненулевые (компенсируют друг друга), и в этом случае установка множителя «в нуль» не будет способствовать распространению важности для них. Чтобы этого избежать, мы устанавливаем 

m_{∆x^+_ i ∆y^+} = m_{∆x^+_i ∆y^−} = 0,5 w_i

когда ∆xi равно 0 (аналогично для ∆x-).

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

3.5.2. ПРАВИЛО МАСШТАБИРОВАНИЯ 

Это правило применяется к нелинейным преобразованиям, которые принимают один вход, таким как операции ReLU, tanh или sigmoid. Пусть нейрон y - нелинейное преобразование его входного сигнала x такое, что y = f(x). Так как y имеет только один вход, то есть путем прибавления к дельте, получим,  

C_{∆х∆у} = ∆Y, и, \; следовательно, m_{∆Х∆У} =\frac { ∆y}{∆x }

Правило пересчета: устанавливаем ∆y+ и ∆y− пропорционально ∆х+ и ∆x− следующим образом: 

Исходя из этого, мы получаем: 

В случае, когда

x → x^0, \; мы \;имеем ∆x → 0 \; и \; y → 0.

Определение множителя приближается к производной, т. е. 

m_{∆x∆y} → \frac{dy}{dx}, где \frac{dy}{dx} \; оценивается при \; x = x^0.

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

Обратите внимание, что правило масштабирования решает как проблемы насыщения, так и проблемы порогового значения, показанные на Рис. 1 и Рис. 2. В случае Рис. 1, если значения

i^0_1 = i^0_2 = 0, \; то \; при \; i_1 + i_2 > 1 \; имеем  ∆h= \text{-} 1и ∆y = 1, давая \; m_{∆h∆y} = \frac{∆h}{∆y} =  \text{-}1, \; хотя \; \frac{dу}{dh} = 0

(другими словами, используя дельту обеспечиваем поток информации, даже если градиент равен нулю). В случае Рис. 2, при условии х0 = у0 = 0, при x = 10 + е мы имеем, что ∆y = Е дает 

Напротив, градиент×вход присваивает вклад 10+e в x и -10 в член смещения (DeepLIFT никогда не придает значения терминам смещения). 

Как было показано в предыдущей работе (Lundberg & Lee, 2016 [6]), существует связь между ценностями DeepLIFT и Shapely. Вкратце, значения Shapely измеряют средний предельный эффект включения ввода по всем возможным порядкам, в которые входы могут быть включены. Если мы определяем «включение» входа как установку его фактического значения вместо его эталонного значения, DeepLIFT можно рассматривать как быстрое приближение значений Shapely. В то время как Lundberg & Lee процитировал препринт DeepLIFT, в котором описывались только правила линейного распространения и правила масштабирования без отдельной обработки положительных и отрицательных вкладов. 

3.5.3. УЛУЧШЕННАЯ АППРОКСИМАЦИЯ ЗНАЧЕНИЙ ФОРМЫ: ПРАВИЛО REVEALCANCEL 

Хотя правило масштабирования улучшается при простом использовании градиентов, все же есть некоторые ситуации, когда оно может привести к вводящим в заблуждение результатам. Рассмотрим операцию min (i1, i2), изображенную на рис. 3, с опорными значениями i1 = 0 и i2 = 0. Используя правило масштабирования, вся важность будет присвоена либо i1, либо i2 (в зависимости от того, что меньше). Это может скрыть тот факт, что оба входа имеют отношение к операции min

Чтобы понять, почему это происходит, рассмотрим случай, когда

 i_1 > i_2. \; У\; нас\; есть \; h_1 = (i_1 -  i_2) > 0 \; и  \; h_2 = max(0, h_1) = h_1.

По линейному правилу мы вычисляем, что

C_{∆i_1∆h_1} = i_1 \;и\; C_{∆i_2∆h_1} = \text{-}i2. 

По правилу пересчета мультипликатор

M_{∆h_1,∆h_2}  \; где \; \frac{∆h_2 }{∆h_1} = 1,

и, таким образом,

C_{∆i_1∆h_2} = m_{∆h_1 ∆h_2}C_{∆i_1∆h_1} =i_1  \; и \; C_ {∆i_2 ∆h_2} = m_{∆h_1∆ h_2}C_{∆i_2∆h_1} = \text{-}i2.

Суммарный вклад i1 к выходным будет

(i_1 \text{-} C_{∆i_1∆h_2}) = (i_1 \text{-} i_1) = 0,

и суммарный вклад

i_2 \; to \; o\; is \; \text{-}С∆i_2∆h_2 = i_2.

Этот расчет вводит в заблуждение, поскольку он не учитывает тот факт, что

C_{∆i_2∆h_2} \; было \;бы \;равно \;0,\; если \;бы \; i_1

был нулевым - другими словами, он игнорирует зависимость, индуцированную i1 и i2, которая возникает из-за того, что i2 отменяет i1 в нелинейном нейроне h2. Происходит подобный сбой при i1 < i2; на пересчет результатов работает правило 

C_{∆i_1∆_o} =  i_1 \; и \; C_{∆i_2∆o} = 0.

Обратите внимание, что градиенты, градиент×вход, направленное обратное распространение и интегрированные градиенты также присвоят всю важность либо i1, либо i2, поскольку для любого заданного входа градиент равен нулю для одного из i1 или i2 (подробный расчет см. В приложении C). 

Одним из способов решения этой проблемы является раздельное рассмотрение позитивного и негативного вклада. Мы снова рассмотрим нелинейный нейрон y = f (x). Вместо предположения, что ∆y + и ∆y− пропорциональны

∆х^+ и ∆^−  \; и  \; m_{∆х^+∆y^+} = m_{∆х^\text{-}∆y^\text{-}} = m_{∆x∆y}

(как это делается для правила масштабирования), мы определяем их следующим образом:

Другими словами, мы устанавливаем ∆y+ равным среднему влиянию ∆x+ после того, как никакие члены не были добавлены и после добавления ∆x−, мы устанавливаем ∆y− равным среднему влиянию ∆x− после того, как никакие члены не были добавлены и после добавления ∆x+. Это можно рассматривать как значения Shapely ∆x+ и ∆x−, влияющие на y.  

Рассматривая влияние положительных терминов в отсутствие отрицательных терминов и влияние отрицательных терминов в отсутствие положительных терминов, мы облегчаем некоторые проблемы, возникающие из-за того, что положительные и отрицательные термины отменяют друг друга. В случае рис. 3 RevealCancel присвоит вклад 0,5min(i1, i2) обоим входам (подробный расчет см. В приложении C). 

Хотя правило RevealCancel также позволяет избежать ошибок насыщения и порогового значения, показанных на Рис. 1 и рис.2, есть некоторые обстоятельства, при которых мы могли бы предпочесть использовать правило масштабирования. В частности, рассмотрим пороговое значение ReLU, где ∆y > 0 iff ∆x ≥ b. Если ∆x < b просто указывает на шум, мы хотели бы назначить нулевые вклады как для ∆x+, так и для ∆x− (как это делается по правилу масштабирования), чтобы уменьшить («срезать») шум. RevealCancel может присваивать ненулевые вклады, рассматривая ∆x+ в отсутствие ∆x- и наоборот. 

Рисунок 3. Сетевые вычисления o = min (i1, i2).
Рисунок 3. Сетевые вычисления o = min (i1, i2).

Предположим, что

i^0_1 =i^0_2 = 0.\; При \; i_1 < i_2 \; тогда \frac {dy}{di_2} = 0, \;а \; когда \; i_2 < i_1 \; тогда \; \frac{do}{di_1}=0

Используя любой из подходов, метод обратного распространения ошибки, описанной в разделе 2.2, будет результативней в значение присвоить либо только до i1 или i2. С помощью правила RevealCancel сеть назначает 0,5min(i1, i2) важности для обоих входов.

3.6. Выбор целевого слоя 

В случае softmax или сигмоидных выходов мы можем предпочесть вычислять вклады в линейный слой, предшествующий конечной нелинейности, а не саму конечную нелинейность. Это было бы сделано для того, чтобы избежать ослабления, вызванного свойством суммирования в дельту, описанным в разделе 3.1. Например, рассмотрим сигмоидный выход o = (y), где y - логит сигмоидной функции.

Предположим, что \;  y = x_1 + x_2, \; где \; x^0_1 = x^0_2 = 0. Когда x1 = 50 \; и \; x_2 = 0,

выход o насыщается очень близко к 1, а вклады x1 и x2 равны 0,5 и 0 соответственно. Однако, когда x1 = 100 и x2 = 100, выход o по-прежнему очень близок к 1, но вклады x1 и x2 теперь равны 0,25 оба. Это может ввести в заблуждение при сравнении оценок по различным входным данным, поскольку более сильный вклад в логит не всегда будет переводиться в более высокую оценку DeepLIFT. Чтобы избежать этого, мы вычисляем вклады в y, а не в o.

Настройки для слоев Softmax 

Если мы вычисляем вклады в линейный слой, предшествующий softmax, а не выход softmax, то может возникнуть проблема в том, что конечный выход softmax включает нормализацию по всем классам, а линейный слой перед softmax - нет. Чтобы решить эту проблему, мы можем нормализовать вклады в линейный слой, вычитая средний вклад для всех классов. Формально, если n - число классов, 

C_{∆x∆c_i}

представляет ненормализованный вклад в класс ci в линейном слое, а

C'_{ ∆x c_i}

представляет нормализованный вклад, то мы имеем: 

В качестве обоснования этой нормализации отметим, что вычитание фиксированного значения из всех входов в softmax оставляет выход softmax неизменным. 

4. Результаты 

4.1. Цифровая классификация (MNIST) 

Мы обучаем сверточную нейронную сеть на MNIST (Le-Cun et al., 1999) с использованием Keras (Chollet, 2015) для выполнения классификации цифр и получения точности набора тестов 99,2%. Архитектура состоит из двух сверточных слоев, за которыми следует полностью связанный слой, а затем выходной слой softmax (см. Приложение D для получения полной информации об архитектуре модели и обучении). Мы использовали свертки с шагом > 1 вместо объединения слоев, что не привело к снижению производительности, как это согласуется с предыдущей работой (Springenberg et al., 2014 [10]). Для DeepLift и интегрированных градиентов мы использовали опорный вход (все нули). 

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

S_{x_idiff} = S_{x_ic_o}-S_{x_ic_t} (где S_{x_ic}   \text{ - оценка для пикселя} \; x_i \text{и класса} \;c)

и стирая до 157 пикселей (20% изображения), ранжированных в порядке убывания 

S_{x_idiff}, \text{для которых }S_{x_idiff} > 0.

Затем мы оцениваем изменение логарифмических коэффициентов между классами Co и Ct для исходного изображения и изображения со стертыми пикселями. 

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

Сверху: результат маскировки пикселей, ранжированных как наиболее важные для исходного класса (8) относительно целевого класса (3 или 6). Также показаны оценки важности для классов 8, 3 и 6. Выбранное изображение имело самое высокое изменение логарифмических коэффициентов для преобразования 8→6 с использованием градиентного ввода * или интегрированных градиентов для ранжирования пикселей. Внизу: бокс-графики увеличения логарифмических коэффициентов целевого и исходного классов после применения маски для 1K изображений, принадлежащих исходному классу в тестировании набора. "Интегрированные градиенты-n" означает численное интегрирование градиентов по n равномерно распределенным интервалам с использованием правила средней точки. 

Рис. 5. DeepLIFT с RevealCancel дает качественно желаемое поведение при моделировании TAL-GATA.
Рис. 5. DeepLIFT с RevealCancel дает качественно желаемое поведение при моделировании TAL-GATA.

(а) точечные графики оценки важности и силы мотива TAL1 совпадают для различных задач и методов (см. Приложение G для GATA1). Для каждой области строятся топ-5 совпадений мотивов. Оси X: log-коэффициенты совпадения мотива TAL1 с фоном. Y - оси: общее значение соответствия для указанной задачи. Красные точки относятся к областям, где во время моделирования были вставлены мотивы TAL1 и GATA1; синие имеют только GATA1, зеленые имеют только TAL1, черные не имеют вставленных мотивов. “DeepLIFT-fc-RC-conv-RS” относится к использованию RevealCancel на полностью связном (сильно связном)слое и масштабированию на сверточных слоях, что, по-видимому, уменьшает шум по сравнению с использованием RevealCancel на всех слоях.  

(б) доля сильных совпадений (log-odds > 7) в TAL1 мотив в области, содержащие оба TAL1 и GATA1, который имел общий балл <= 0 для задачи 0; руководствуясь сетью с обратным распространением ошибки * INP и DeepLIFT с RevealCancel нет ложных предсказаний, но руководствуясь сетью с обратным распространением ошибки есть ложные срабатывания для задания 1 (панель (а)). 

4.2. Классификация Регуляторной ДНК (Геномика)

Затем мы сравнили методы оценки важности при применении к задачам классификации на входах последовательности ДНК (строки над алфавитом {A,C,G, T}). Геном человека содержит миллионы элементов последовательности ДНК (длиной 200-1000), содержащих специфические комбинации коротких функциональных слов, с которыми связываются регуляторные белки (RPs), регулирующие активность генов. Каждый RP (например, GATA1) обладает связывающим родством к определенным наборам коротких слов (мотивов, оснований) ДНК (например, GATAA и GATTA). Ключевой проблемой вычислительной геномики является обнаружение мотивов в регуляторных элементах ДНК, которые приводят к появлению различных молекулярных сигнатур (меток), которые могут быть измерены экспериментально. Здесь, чтобы сравнить методы DeepLIFT и конкурирующие методы для выявления прогностических паттернов в последовательностях ДНК, мы используем простое моделирование, которое отражает суть проблемы обнаружения мотивов, описанной выше. 

Фоновые последовательности ДНК длиной 200 были сгенерированы путем выборки букв ACGT в каждой позиции с вероятностями 0,3, 0,2, 0,2 и 0,3 соответственно. Экземпляры мотивов были случайным образом отобраны из ранее известных вероятностных моделей мотивов (см. приложение F) двух RPs с именами GATA1 и TAL1(рис. 6а) (Kheradpour &Kellis, 2014 [3]), и 0-3 экземпляра данного мотива были вставлены в случайные неперекрывающиеся позиции в последовательностях ДНК. Мы обучили многозадачную нейронную сеть с двумя сверточными слоями, глобальным средним пулом и одним полностью связанным слоем на 3 задачах бинарной классификации. Положительные помеченные последовательности в задаче 1 представлены «обе - GATA1 и TAL1 присутствуют (мотивы)», задаче 2 представлены «GATA1 присутствует (мотив)» и в задаче 3 представлены «TAL1 присутствует (мотив)». 1/4 последовательностей имели как мотивы GATA1, так и TAL1 (помеченные 111), 1/4 имели только GATA1 (помеченные 010), 1/4 имели только TAL1 (помеченные 001) и 1/4 не имели мотивов (помеченные 000). Подробная информация о моделировании, сетевой архитектуре и прогнозных характеристиках приведена в приложении F. Для глубоких и интегрированных градиентов мы использовали опорный вход, который имел ожидаемые частоты ACGT в каждой позиции (т. е. мы установили ось канала ACGT на 0.3, 0.2, 0.2, 0.3; результаты с использованием перетасованных последовательностей в качестве эталона см. В приложении J). Для правдивости сравнения эта ссылка также использовалась для градиентного×входного сигнала и направленного обратного потока×входного сигнала (более точно называется "Вход", где measured измеряется относительно эталона). Для последовательности ДНК входов, мы нашли, руководствуясь сетью с обратным распространением ошибки, что вход×осуществляется лучше, чем ванильная, руководствуясь сетью с обратным распространением ошибки; таким образом, мы использовали предыдущую. 

Учитывая конкретную подпоследовательность, можно вычислить оценку логарифма шансов того, что подпоследовательность была выбрана из конкретного мотива по сравнению с исходным из фонового распределения ACGT. Чтобы оценить различные методы оценки важности, мы нашли 5 лучших совпадений (ранжированных по их логарифмической оценке вероятностей) для каждого мотива в каждой последовательности из набора тестов, а также общую важность, присвоенную совпадению различными методами оценок важности для каждой задачи. Результаты показаны на рис. 5 (для TAL1) и в Приложении E (для GATA1). В идеале мы ожидаем, что метод оценки важности продемонстрирует следующие свойства: (1) высокие баллы для мотивов TAL1 в задаче 2 и (2) низкие баллы для мотивов TAL1 в задаче 1, причем (3) более высокие баллы соответствуют более сильным совпадениям логарифмических коэффициентов ; аналогичный паттерн для мотивов GATA1 (высокий для задания 1, низкий для задания 2); (4) высокие баллы для мотивов TAL1 и GATA1 для задачи 0, с (5) более высокие баллы для последовательностей, содержащих оба типа мотивов, по сравнению с последовательностями, содержащими только один вид (выявляя кооперацию; соответствует красным точкам, расположенным над зелеными точками на рис. 5). 

Мы наблюдаем сбой управляемого обратного распространения × ввод (2) путем присвоения положительной важности TAL1 в задаче 1 (пример последовательности см. В Приложении H). Он не соответствует свойству (4), поскольку не может идентифицировать взаимодействие в задаче 0 (красные точки накладываются на зеленые точки). Как Guided Backprop × input, так и gradient × input демонстрируют неоптимальное поведение в отношении свойства (3), поскольку имеет место внезапное увеличение важности, когда логарифмические вероятности оценок составляет около 7, но есть небольшая дифференциация при более высоких оценках logodds (напротив, другие методы показывают постепенное увеличение). В результате, Guided Backprop × input и gradient × input могут придавать слишком большое значение слабым совпадениям мотивов (рис. 6). Это практическое следствие проблемы определения порога из рис. 2. Большие прерывистые скачки градиента также приводят к завышению оценок (обратите внимание на шкалу на оси y) по сравнению с другими методами. 

Мы исследовали три версии DeepLIFT: масштабирование при всех нелинейностях (DeepLIFT-Rescale), RevealCancel при всех нелинейностях (DeepLIFT-RevealCancel) и изменение масштаба на сверточных уровнях сRevealCancel на полностью подключенном уровне (DeepLIFT-fc-RC-conv-RS). В отличие от результатов MNIST, мы обнаружили, что DeepLIFT-fc-RC-convRS снижает шум по сравнению с чистым RevealCancel. Мы думаем, что это из-за свойства подавления шума, обсуждаемого в разделе 3.5.3; если сверточные слои действуют как детекторы мотивов, входные данные сверточных нейронов, которые не срабатывают, могут просто представлять сам шум, и важность им не должна передаваться (см. рисунок 6 для примера последовательности). 

Gradient × inp, интегрированные градиенты и DeepLIFT-Rescale иногда не соответствуют релевантности TAL1 для Задачи 0 (рис. 5b), что исправляется с помощью RevealCancel на полностью подключенном слое (см. Примерную последовательность на рис. 6). Обратите внимание, что оценки RevealCancel кажутся многоуровневыми. Как показано в Приложении I, это связано с наличием нескольких экземпляров данного мотива в последовательности (например: когда имеется несколько мотивов TAL1, важность, придаваемая присутствию TAL1, распределяется по всем мотивам). 

Рис. 6. RevealCancel выделяет мотивы TAL1 и GATA1 для задачи 0.
Рис. 6. RevealCancel выделяет мотивы TAL1 и GATA1 для задачи 0.

(a) PWM-представления мотива GATA1 и мотива TAL1, использованные при моделировании. (b) Показатели, например, последовательности, содержащей как мотивы TAL1, так и GATA1. Высота буквы отражает оценку. Синий прямоугольник - это расположение встроенного мотива GATA1, зеленый - расположение встроенного мотива TAL1. Красное подчеркивание - вероятность слабого совпадения с TAL1 (CAGTTG вместо CAGATG). Мотивы TAL1 и GATA1 должны быть выделены для задачи 0. RevealCancel только на полностью подключенном слое снижает шум по сравнению с RevealCancel на всех уровнях. 

5. Заключение 

Мы представили DeepLIFT, новый подход к вычислению оценок важности, основанный на объяснении отличий выходных данных от некоторых «эталонных» выходных данных с точки зрения отличий входных данных от их «эталонных» входных данных. Использование разницы от эталона позволяет информации распространяться даже при нулевом градиенте (рис. 1), что может оказаться особенно полезным в рекуррентных нейронных сетях, где популярны насыщающие активации, такие как сигмоид или tanh. DeepLIFT старается не придавать потенциально вводящее в заблуждение значение условиям систематической ошибки (в отличие от ввода градиента * - см. Рис. 2). Допуская раздельную обработку положительных и отрицательных вкладов, правило DeepLIFT-RevealCancel может определять зависимости, пропущенные другими методами (рис. 3). Открытые вопросы: (а) как применить DeepLIFT к RNN,(b) как эмпирически вычислить хороший эталон на основе данных и (c)как лучше всего распространять важность с помощью «максимальных» операций (как в Maxout или Maxpooling нейронах) помимо простого использования градиентов. 

Ссылки

[1] Bach, Sebastian, Binder, Alexander, Montavon, Gregoire, Klauschen, Frederick, Muller, Klaus-Robert, and Samek, Wojciech. On Pixel-Wise explanations for Non-Linear classifier decisions by Layer-Wise relevance propagation. PLoS One, 10(7):e0130140, 10 July 2015.

[2] Chollet, Franois. keras. https://github.com/fchollet/keras, 2015.

[3] Kheradpour, Pouya and Kellis, Manolis. Systematic discovery and characterization of regulatory motifs in encode tf binding experiments. Nucleic acids research, 42 (5):2976–2987, 2014.

[4] Kindermans, Pieter-Jan, Schtt, Kristof, Mller, KlausRobert, and Dhne, Sven. Investigating the influence of noise and distractors on the interpretation of neural networks. CoRR, abs/1611.07270, 2016. URL https://arxiv.org/abs/1611.07270.

[5] LeCun, Yann, Cortes, Corinna, and Burges, Christopher J.C. The mnist database of handwritten digits. http://yann.lecun.com/exdb/mnist/,1999.

[6] Lundberg, Scott and Lee, Su-In. An unexpected unity among methods for interpreting model predictions. CoRR, abs/1611.07478, 2016. URL http://arxiv.org/abs/1611.07478.

[7] Selvaraju, Ramprasaath R., Das, Abhishek, Vedantam, Ramakrishna, Cogswell, Michael, Parikh, Devi, and Batra, Dhruv. Grad-cam: Why did you say that? visual explanations from deep networks via gradient-based localization. CoRR, abs/1610.02391, 2016. URL http://arxiv.org/abs/1610.02391.

[8] Shrikumar, Avanti, Greenside, Peyton, Shcherbina, Anna,and Kundaje, Anshul. Not just a black box: Learning important features through propagating activation differences. arXiv preprint arXiv:1605.01713, 2016.

[9] Simonyan, Karen, Vedaldi, Andrea, and Zisserman, Andrew. Deep inside convolutional networks: Visualising image classification models and saliency maps. arXiv preprint arXiv:1312.6034, 2013.

[10] Springenberg, Jost Tobias, Dosovitskiy, Alexey, Brox, Thomas, and Riedmiller, Martin A. Striving for simplicity: The all convolutional net. CoRR, abs/1412.6806, 2014. URL http://arxiv.org/abs/1412.6806.

[11] Sundararajan, Mukund, Taly, Ankur, and Yan, Qiqi. Gradients of counterfactuals. CoRR, abs/1611.02639, 2016. URL http://arxiv.org/abs/1611.02639.

[12] Zeiler, Matthew D. and Fergus, Rob. Visualizing and understanding convolutional networks. CoRR, abs/1311.2901, 2013. URL http://arxiv.org/abs/1311.2901.

[13] Zhou, Jian and Troyanskaya, Olga G. Predicting effects of noncoding variants with deep learning-based sequence model. Nat Methods, 12:931–4, 2015 Oct 2015. ISSN 1548-7105. doi: 10.1038/nmeth.3547.

[14] Zintgraf, Luisa M, Cohen, Taco S, Adel, Tameem, and Welling, Max. Visualizing deep neural network decisions: Prediction difference analysis. ICLR, 2017. URL https://openreview.net/pdf?id=BJ5UeU9xx

Tags:
Hubs:
Total votes 2: ↑1 and ↓10
Comments0

Articles