Напрямки, розріджені ознаки та як їх знаходять розріджені автоенкодери
Рівень нейронної мережі дає нам вектор чисел. Дослідники говорять про пошук ознак у цьому векторі: шаблон, пов’язаний з мовою, конструкція програмування або певний вид зображення. Вони також говорять про ці функції як про напрямки. Як напрямок набуває значення, і як у векторі може бути більше напрямків ознак, ніж чисел?
У Towards Monosemanticity дослідники розклали активації шару з 512 нейронами на понад 4000 вивчених функцій. Це не означає, що вони знайшли 4000 лінійно незалежних осей у 512-вимірному просторі. Вони вивчили більшу колекцію шаблонів і описали кожну активацію, використовуючи невелику їх вибірку.
Розріджений автокодер або SAE вивчає цей тип опису. Щоб зрозуміти, що він робить, ми створимо приклад із чотирма функціями в трьох вимірах. Ми побачимо, як розріджений набір сильних сторін може створити щільний вектор активації, чому напрямки, що накладаються, ускладнюють відновлення, і що SAE може навчитися з результатів. Потім ми проведемо невеликий експеримент, у якому знаємо генеруючі функції та зможемо перевірити відповідь.
Багато функцій, маленький вектор
Виберіть певний шар і позицію маркера в мовній моделі. Його активація може мати 128 координат:
Підрахунок координат повідомляє нам розмірність цього простору активації. Це не говорить нам, скільки різних властивостей може представляти модель для всіх входів, з якими вона стикається.
Особливість, на малюнку, який ми досліджуватимемо, є повторюваною властивістю з чисельною силою. Шаблон, пов’язаний із текстом французькою мовою, може мати велику силу на деяких вхідних даних і малу або нульову силу на інших. Необхідно перевірити, чи заслуговує конкретний вивчений шаблон такого опису; номери не надходять з написами.
А поки що уявіть, що ми знаємо особливості. Кожен має фіксований вектор , що описує, як він сприяє активації. Активація є їх зваженою сумою:
Скаляр показує, наскільки сильно присутня функція . Вектор показує, як ця сила впливає на координати . Це точна конструкція в нашому прикладі. У застосуванні до реальної моделі це стає гіпотезою про її представлення, як правило, з деякою помилкою реконструкції.
Тут з’являються два показники: кількість координат у та кількість можливих інгредієнтів у сумі. Першим кроком до розуміння SAE є розуміння того, чому вони можуть відрізнятися.
Об’єкт може змінити декілька координат
Зменште простір активації до трьох вимірів, щоб ми могли його намалювати. Припустимо, що одна властивість, яку ми назвемо D, сприяє цьому
Якщо його потужність і жодні інші функції не активні, активація є
Збільшення сили D від до змінює активацію на
Всі три координати зростають разом. Об’єкт має напрямок, навіть якщо не має спеціальної координати.
Три об’єкти виконують тут різні ролі. Точка представляє певну активацію. Вектор визначає зміну, спричинену однією одиницею D. Коефіцієнт визначає, який внесок цього вектора вносить. Власне, визначає як напрямок, так і масштаб; поділ його на довжину зберігає напрямок, змінюючи значення однієї одиниці коефіцієнта.
Та сама геометрія працює у 128 вимірах. Вектор ознак може містити 128 ненульових записів. Зміна однієї функції може змінити кожну координату активації.
Розріджені функції можуть викликати щільні активації
Наведіть у нашому прикладі чотири можливі характеристики від A до D. Їх сильні сторони утворюють окремий вектор:
Для входу з активним лише D ми могли б мати
Тільки одна з чотирьох сильних сторін відмінна від нуля, а всі три координати активації відмінні від нуля.
Рідкість описує, скільки сильних властивостей є активними для входу. Це не вимагає, щоб результуючий вектор активації містив нулі. Також не вимагається, щоб вектор напрямку об’єкта містив нулі.
Чотири особливості роблять відмінність видимою; практичні словники можуть містити тисячі або мільйони кандидатів, причому на кожному вході активна набагато менша кількість. Функції також не повинні бути взаємовиключними: один вхід може активувати декілька одночасно.
Для звичайного трансформатора вектор у цьому поясненні не повинен існувати як явний масив, що зберігається моделлю. Ми пропонуємо спосіб розкласти його активації. SAE створить явний код, який намагатиметься описати їх у цій формі.
Чотири напрямки поміщаються в трьох вимірах
Ось наш повний словник:
| Особливість | Вектор у просторі активації |
|---|---|
| A | |
| B | |
| C | |
| D |
Перші три вектори є лінійно незалежними: жоден не може бути побудований шляхом поєднання двох інших. Вони вже охоплюють весь 3D-простір.
D вказує на четвертий напрямок, але
Тому це не додає незалежного виміру. Чотири вектори є лінійно залежними: існує нетривіальна їх комбінація, яка дорівнює нулю.
Тривимірний простір містить нескінченну кількість можливих напрямків, але не більше трьох лінійно незалежних векторів. Обертання осей координат не змінює цю межу. Подібним чином 128-вимірний простір може містити тисячі різних напрямків об’єктів, допускаючи не більше 128 лінійно незалежних.
Запишіть чотири вектори у вигляді стовпців матриці:
Множення робить перекривання явним:
Кожна координата об’єднує внески. Зокрема, вектор може походити з будь-якого
Четверту стрілку легко намалювати. Відновлення того, які стріли внесли свій внесок, є складною частиною.
Чому розрідженість допомагає — і де вона перестає допомагати
Припустімо, ми знаємо, що кожен вхід активує щонайбільше одну функцію з невід’ємною силою. У нашому прикладі ненульова активація лежить на одному з чотирьох різних променів.
Точка ідентифікує A. Точка ідентифікує D. Їхні амплітуди говорять нам про сильні сторони ознак. Хоча словник є лінійно залежним, обмеження дозволених комбінацій робить ці випадки розрізненими.
Використовуйте елементи керування нижче, щоб дослідити різницю між коефіцієнтами та кінцевою точкою. Почніть з , налаштуйте , а потім виберіть .
Останній перемикач змінює три потужності функції та вимикає D, але чорна точка повертається в те саме місце. Якщо обидва пояснення дозволені, ми не зможемо зрозуміти, що сталося.
У матричних термінах,
Додавання цієї зміни коефіцієнта залишає активацію незмінною щоразу, коли кінцеві коефіцієнти залишаються дозволеними. Правило декодування може віддавати перевагу одному поясненню, але сама по собі активація не може встановити, що воно було оригінальним.
Зокрема, код, який надає перевагу одному активному запису, може описувати A, B і C, що діють разом, використовуючи тільки D. Він знайшов більш короткий опис. Це не означає, що система, що виробляє точку, мала окремий механізм D.
Ось чому розрідженість допомагає без надання універсальної гарантії. Відновлення також залежить від геометрії словника, комбінацій, що виникають, і кількості шуму. Два майже паралельні напрямки може бути важко розрізнити, навіть якщо активна лише одна функція.
У сенсі підрахунку функцій, який використовується в Іграшкових моделях суперпозиції, суперпозиція означає представлення більшої кількості функцій, ніж розміри простору активації, за допомогою напрямків, що накладаються. Його невеликі мережі, навчені на розріджених синтетичних функціях, демонструють таку поведінку з перешкодами, які нелінійні обчислення допомагають впоратися. Наш власноруч визначений словник ілюструє проблему зберігання та відновлення. Він не показує, що мережа завдань навчається впорядковувати напрямки таким чином.
Тому кількість математичних напрямків не є обіцянкою необмеженої корисної ємності. Оскільки більше функцій змагаються за той самий простір, їхнє накладання має значення.
Окреме питання, чому навчена мережа ділиться своїм доступним простором. Чи його обчислення мають корисну структуру, чи непов’язані обчислення упаковані разом, оскільки вони рідко заважають? Есе Ніка Каммарати про Goodfire Нейронні мережі вже чисті зосереджується на останньому значенні суперпозиції. Він кидає виклик реальним мережам, приймаючи результати синтетичної іграшки. Тут ми використовуємо визначення підрахунку ознак; наша конструкція не визначає, як реальні мережі організовують свої обчислення.
Чому скалярний добуток не відновлює функцію автоматично
Якщо D лежить уздовж , чи можемо ми відновити його силу, просто проектуючи на цей напрямок?
Коефіцієнт ортогональної проекції на дорівнює
Ми отримуємо внесок від D плюс внесок від інших функцій. Якщо тільки A має одиничну силу, це вимірювання повертає , навіть якщо D неактивний.
Це розділяє два варіанти використання вектора. Напрямок запису вказує на зміну активації:
Напрямок читання надає ваги для скалярного вимірювання:
Після запису це вимірювання змінюється на . Скалярний добуток говорить нам, наскільки читач чутливий до письменника. Це не означає, що читач реагує лише на цю функцію.
Насправді жоден лінійний зчитувач не може бути нульовим на всіх трьох векторах осі, реагуючи на D. Бути нульовим на A, B і C, усі три зчитувачі вагові коефіцієнти дорівнюють нулю.
Нелінійне правило може використовувати припущення про одну активну функцію. Для нашого невід’ємного прикладу розглянемо
Для кожного з чотирьох дозволених променів це точно відновлює генеруючі коефіцієнти. Але дайте йому активацію, вироблену A, B і C разом, і він замість цього повідомить D. Нелінійність дозволяє використовувати обмеження на дані; він не може вирішити точну колізію між дозволеними входами.
Ми розробили це правило, використовуючи відомий словник. З активаціями моделі потрібно вивчити як словник, так і корисне правило кодування.
Розріджений автокодер: виводити коефіцієнти, реконструювати вектор
Автокодер приймає вхідні дані, кодує їх і намагається реконструювати. Тут введенням є активація, зібрана з іншої моделі.
Наш невеликий SAE відображає три координати активації на чотири записи коду, а потім повертає на три координати:
Загальний кодер — це навчена афінна карта, за якою слідує ReLU:
Ми використовуємо для вивченого коду, щоб відрізнити його від відомих генеруючих коефіцієнтів у наших даних іграшок. ReLU замінює негативні бали нулем. Навчання заохочуватиме невелику кількість позитивних записів.
Декодер реконструює активацію:
Кожен стовпець є вивченим вектором у вихідному 3D-просторі. Назвіть ці стовпці :
Якщо лише два записи коду є відмінними від нуля, лише два вектори словника вносять внесок понад базову лінію . Це та сама конструкція зваженої суми, з якої ми почали, тепер із вивченими інгредієнтами.
Оскільки векторів словника більше, ніж розмірів активації, це надповний словник. Його стовпці не можуть утворювати лінійно незалежний базис. Чотири позиції коду забезпечують чотири потенційні інгредієнти; вони не створюють четвертий незалежний вимір у вихідному просторі.
Рядки кодера зчитуються з простору активації; стовпці декодера записують у нього. Вони не повинні бути однаковими векторами. Кодер також не є загальним лінійним зворотним декодером: відновити довільні чотиривимірні коефіцієнти з трьох чисел було б неможливо.
У типовому робочому процесі інтерпретації вихідна модель залишається замороженою. Ми збираємо активації на багатьох входах і навчаємо SAE окремо. Такі мітки, як «французький текст», не надаються об’єктом реконструкції.
Вивчення словника на прикладах
Загальна мета навчання SAE поєднує реконструкцію з покаранням за розрідженість:
Перший член винагороджує точну реконструкцію. Друге робить активацію дорогою, заохочуючи кодер пояснювати кожен приклад меншою чи меншою кількістю позитивних коефіцієнтів. ReLU надає точні нулі; покарання впливає на те, які записи залишаються активними та наскільки великими вони стають.
Сила контролює компроміс. Слабкий штраф може залишити щільний код; сильний може відкинути корисну інформацію. Необхідно також контролювати шкалу декодера. Інакше модель могла б збільшити стовпець декодера та зменшити його відповідний коефіцієнт, зменшивши покарання без зміни реконструкції. Обмеження стовпців декодера одиничною довжиною усуває цей ярлик масштабування.
Інший підхід, Top-K, зберігає лише найбільші активації кодера , а решту встановлює на нуль. Він може тренуватися тільки з втратою від реконструкції, оскільки бюджет діяльності виконується безпосередньо. Масштабування та оцінка розріджених автокодерів досліджує цей підхід і оцінює якість функцій за межами помилки реконструкції.
Давайте перевіримо найменшу версію: Top-1 SAE, яка може використовувати щонайбільше один вектор словника на приклад.
Для цього експерименту ми зберігаємо ті самі чотири напрямки, але нормалізуємо D до . Тоді всі чотири вектори мають довжину одиницю, тому коефіцієнт одиниці дає однакову довжину вектора для кожної функції. Це змінює шкалу коефіцієнтів D, а не її напрямок.
Ми генеруємо 4096 навчальних активацій. Кожен має рівно одну активну функцію, вибрану рівномірно, з рівномірною вибіркою сили між і . SAE бачить лише отримані 3D-точки. Він не отримує ані словник, ані сильні сторони функцій, які використовуються для їх створення.
Кодер і декодер не мають зміщень. Кодер застосовує лінійну карту, ReLU та Top-1; декодер формує зважену суму. Ми тренуємо п’ять ініціалізацій для 2000 оновлень кожна, а потім оцінюємо на 2048 незалежних прикладах. Декодер починає з випадкових позитивних стовпців, а кодер - з їх транспонування; дві матриці навчаються окремо. Позитивна ініціалізація — це вибір, який підходить для цього набору даних із позитивним октантом.
Ми також тренуємо три порівняння: необмежений автокодер ReLU на тих самих прикладах з однією функцією та Top-1 SAE на прикладах, які містять рівно дві або чотири активні генеруючі функції.
| Encoder | Generating features per example | Relative reconstruction error | Matched direction cosine | Active code entries |
|---|---|---|---|---|
| Top-1 | One | <0.0001% [<0.0001%, <0.0001%] | 1.000 [1.000, 1.000] | 1.00 |
| ReLU, no sparsity constraint | One | <0.0001% [<0.0001%, <0.0001%] | 0.874 [0.801, 0.915] | 3.26 |
| Top-1 | Two | 16.7% [16.3%, 16.8%] | 0.866 [0.862, 0.869] | 1.00 |
| Top-1 | Four | 21.6% [17.6%, 22.8%] | 0.771 [0.744, 0.813] | 1.00 |
Відносна помилка реконструкції ділить квадрат помилки реконструкції на помилку завжди прогнозувати середнє значення навчального набору. Нуль – ідеальна реконструкція; 100% — це так само погано, як і ця постійна базова лінія.
Косинус узгодженого напряму порівнює отримані вектори декодера з генеруючим словником. Нумерація ознак є довільною, тому ми намагаємося знайти кожну однозначну відповідність і повідомляємо найкращий середній косинус. Оцінка один означає, що всі чотири напрямки співпадають. Це порівняння використовує відомий словник лише для оцінки.
За даними однієї функції всі п’ять прогонів Top-1 відновлюють чотири напрямки до відображеної точності та реконструюють майже ідеально. Кожен вхід лежить на одному з чотирьох променів, і архітектура може вибрати інший промінь для різних входів. Чотири напрямки корисні, навіть якщо навколишній простір має лише три виміри.
Необмежений автокодер також реконструює майже ідеально, але його напрямки гірше узгоджуються зі словником, що генерує, і він використовує кілька записів коду на приклад. Реконструкція точки не підтверджує, що ми відновили її оригінальні інгредієнти.
З двома або чотирма активними функціями генерації моделі Top-1 мають іншу проблему: один вектор словника зазвичай не може представити їх суму. Вивчені вектори рухаються до сумішей, і помилка реконструкції зростає. Ці рядки навмисно не відповідають бюджету діяльності даним. Вони не встановлюють, що може відшкодувати SAE з більшим бюджетом.
Тут відновлення функцій означає відновлення словника, який ми використовували для створення даних. Жодна мовна модель не задіяна, і жодна мережа завдань не була навчена створювати цей словник. Експеримент встановлює, що ці автокодери дізнаються про цей конкретний розподіл. Чи розвиває мережа, навчена для іншого завдання, таке уявлення, є окремим емпіричним питанням.
Протокол експерименту та результати для завантаження
Усі прогони використовують Adam зі швидкістю навчання , партіями з 256 прикладів із вибіркою із заміною та нормалізацією стовпця декодера після кожного оновлення. Начальними числами ініціалізації є 7, 11, 23, 42 і 101. У кожній умові діяльності всі п’ять запусків мають однакові навчальні та тестові набори. Навчання має фіксовану тривалість; результати тесту не вибирають точку зупинки або бажаний пробіг.
У таблиці наведено середнє значення та діапазон для цих п’яти ініціалізацій. Ці діапазони описують цей експеримент, а не невизначеність щодо реальних мовних моделей. Деякі запуски з чотирма функціями залишають запис коду невикористаним; усі прогони залишаються в результатах.
завершити експеримент Python включає генерацію даних, навчання, зіставлення словників і перевірку геометрії статті. результати JSON містить вагові коефіцієнти кожного циклу, окремі зіставлені косинуси, помилку реконструкції, помилку коефіцієнта та підрахунок активності. Каталог sparse-experiment сховища містить інструкції з налаштування.
Що робить вивчений напрям інтерпретованим?
Наші іграшки мають назви від A до D, тому що ми їх створили. Ми можемо порівняти відновлений вектор із точним напрямком, який створив дані.
Реальні активації моделі не дають такого ключа відповіді. Вивчена словникова стаття може відповідати окремому механізму, комбінації механізмів або корисній статистичній моделі. Реконструкція та розрідженість самі по собі не відрізняють ці можливості. Неоднозначність між D і A + B + C стає питанням про обчислення: що створює цю активацію і що її читає?
Есе Гудфайра пропонує робочу гіпотезу: багато оригінальних нейронів уже можна інтерпретувати, і SAE може групувати існуючі механізми в описи певних контекстів. Його порівняння нейронів і словникових статей ілюструє цю можливість. Це спонукає порівнювати вивчені записи з оригінальними нейронами та відстежувати їхні зв’язки разом з оцінкою якості реконструкції словника.
Щоб прикріпити мітку до запису SAE, дослідники перевіряють вхідні дані, які його активують, і шукають повторюваний шаблон. Запис, який активується в багатьох визначеннях функцій Python, може запропонувати гіпотезу щодо синтаксису функції.
Ця гіпотеза потребує прикладів, окрім найвражаючих збігів. Чи активується функція також для незв’язаного тексту? Чи не вистачає багато прикладів, які повинні відповідати його етикетці? Чи зберігається опис у різних контекстах? Функція може змішувати шаблони, а кілька вивчених записів можуть розділяти те, що людина розглядатиме як одне поняття.
Втручання ставлять наступне питання: чи зміна активації в цьому напрямку впливає на поведінку моделі? Щоб збільшити введення коду на , зберігаючи оригінальний залишок реконструкції, напишіть
Це ізолює вибране доповнення від помилки реконструкції SAE. Заміна на всю реконструкцію також змінить залишковий , тому лише реконструкція потребує власного порівняння.
Спостережувана зміна випуску є доказом ефекту цього втручання. Це не доводить, що вектор представляє лише запропоновану концепцію або що одне й те саме редагування працює в будь-якому контексті. Описи функцій, якість реконструкції та причинно-наслідкові наслідки є пов’язаними вимірюваннями з різними завданнями.
Практичною перевагою SAE є набір шаблонів-кандидатів, які ми можемо перевірити та протестувати. Читабельна мітка – це інтерпретація доказів, а не мітка, гарантована функцією втрати.
Повернення до трансформаторів: проекція та розрідженість — різні операції
Є ще одне місце, де великий вектор стає меншим: проекція запиту трансформатора. Наприклад,
Вихід має 128 координат, оскільки матриця має 128 рядків. Кожен рядок обчислює скалярний добуток із 12 288-вимірними вхідними даними. У цих рядках можна читати комбінації координат, що перекриваються.
Маленька версія робить розрахунок видимим:
Ми зменшили три координати до двох, і обидві вихідні координати відмінні від нуля. Операція змішує вхідні координати; Зменшення розмірності не передбачає розрідженого результату.
Зникає здатність розрізняти входи, розділені вектором у нульовому просторі матриці. тут,
Таким чином, і відображаються на . Втрачене розрізнення стосується всіх трьох вхідних координат. У більшому прикладі нульовий ранг дає нульовий простір розмірності щонайменше .
Ця операція має іншу мету, ніж SAE:
| Проекція запиту | Розріджений автокодер | |
|---|---|---|
| Навчався для | Обчислення балів уваги за запитом | Реконструкція зібраних активацій за допомогою розрідженого коду |
| Типова форма в цьому прикладі | ||
| Розрідженість | Немає вимог, щоб запит містив нулі | Діяльність Кодексу штрафується або обмежується |
| Місце в робочому процесі | Частина оригінальної моделі | Зазвичай тренується окремо на замороженій моделі |
Розміри в останній колонці є ілюстративними. SAE може аналізувати запити, активації залишкового потоку або інше вибране місце; його словникові вектори живуть у тому просторі активації, який його навчили реконструювати.
Лінійна карта також трансформує напрямки об’єктів. Якщо ми змінимо його вхід на , тоді
Вхідне зміщення функції стає на виході або зникає, якщо . За допомогою цілого трансформаторного блоку нелінійні операції та залежна від вхідних даних увага можуть зробити ефект залежним від початкового контексту.
Щоб дізнатися більше про те, що зчитує та стирає матриця, дивіться векторне розкладання та підпростори. Експеримент зі стисненням ціни житла досліджує, що відбувається, коли атрибути, що постійно змінюються, ділять менший прихований простір. Наша практична стаття SAE робить наступний крок у зборі активацій від навченої мережі.
128-вимірна активація може мати 128 ненульових координат, але допускає корисне пояснення з точки зору кількох активних напрямків функції. Ці вказівки можуть бути отримані зі словника, значно більшого за 128. Вивчення цього словника, оцінка його коефіцієнтів і перевірка значення записів є окремими частинами, які роблять розріджені автокодери корисними.