Навчання ознак

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

В машинному навчанні навча́ння озна́к (англ. feature learning) або навча́ння предста́влень (англ. representation learning)[1] — це набір методик навчання ознаки: перетворення сирого входу даних на представлення, яке зможе ефективно використовуватися в завданнях машинного навчання. Воно дозволяє позбутися ручного проектування ознак, яке в іншому разі було би необхідним, і дозволяє машині як вчитися на конкретному завданні (застосовуючи ознаки), так і вчитися самих ознак: вчитися, як вчитися.

Необхідність у навчанні ознак обумовлено тим фактом, що такі завдання машинного навчання, як класифікація, часто потребують входу, що є математично та обчислювально зручним для обробки. Проте дані реального світу, такі як зображення, відео та давачеві вимірювання є зазвичай складними, надлишковими й дуже мінливими. Тому в сирих даних необхідно виявляти зручні ознаки або представлення. Традиційні ознаки ручної роботи часто вимагають дорогої людської праці, та часто покладаються на знання фахівців. Крім того, вони, як правило, погано узагальнюються. Це спонукає розробляти дієві методики навчання ознак, для автоматизації та узагальнення.

Навчання ознак може бути поділено на дві категорії: кероване на спонтанне навчання ознак, аналогічно цим категоріям в машинному навчанні загалом.

Кероване навчання ознак[ред.ред. код]

Кероване навчання ознак здатне навчатися ознак з мічених даних. Далі наведено кілька підходів до нього.

Кероване навчання словника[ред.ред. код]

Навчання словника є навчанням набору (словника) показових елементів із вхідних даних, таких, що кожну точку даних може бути представлено як зважену суму показових елементів. Елементи словника та вагові коефіцієнти може бути знайдено мінімізацією середньої похибки представлення (над вхідними даними), разом з L1-регуляризацією вагових коефіцієнтів для забезпечення розрідженості (тобто, щоби представлення кожної точки даних мало лише декілька ненульових вагових коефіцієнтів).

Кероване навчання словника (англ. supervised dictionary learning) для оптимізації елементів словника використовує як структуру, що стоїть за вхідними даними, так і мітки. Наприклад, одну з методик керованого навчання словника було запропоновано Мейралем та ін. 2009 року.[6] Автори застосовують навчання словника до задач класифікації шляхом спільної оптимізації на основі вхідних даних елементів словника, вагових коефіцієнтів для представлення точок даних, та параметрів класифікатора. Зокрема, сформульовано задачу мінімізації, в якій цільова функція складається з похибки класифікації, похибки представлення, L1-регуляризації вагових коефіцієнтів, що представляють кожну точку даних (для забезпечення розрідженого представлення даних) та L2-регуляризації параметрів класифікатора.

Нейронні мережі[ред.ред. код]

Нейронні мережі використовуються для пояснення сімейства алгоритмів навчання через «мережу», що складається з кількох шарів з'єднаних між собою вузлів. Вони натхнені нервовою системою, де вузли розглядаються як нейрони, а ребра розглядаються як синапси. Кожне ребро має пов'язану з ним вагу, а мережа визначає обчислювальні правила, за якими вхідні дані проходять від вхідного шару до вихідного. Функція мережі, пов'язана з нейронною мережею, характеризує співвідношення між вхідним та вихідним шарами, що параметризується ваговими коефіцієнтами. Для відповідно визначених функцій мережі різні завдання навчання можуть виконуватися шляхом мінімізації функції втрат над функцією мережі (ваговими коефіцієнтами).

Для виконання навчання ознак можуть використовуватися багатошарові нейронні мережі, оскільки вони навчаються представлення їхнього входу на прихованих шарах, яке потім використовується для класифікації або регресії на вихідному шарі.

Спонтанне навчання ознак[ред.ред. код]

Спонтанне навчання ознак є для навчання ознак з немічених даних. Метою спонтанного навчання ознак часто є виявлення ознак низької розмірності, що схоплюють певну структуру, що лежить за вхідними даними високої розмірності. Коли навчання ознак виконується спонтанним чином, воно уможливлює певний вид напівавтоматичного навчання, коли спочатку відбувається навчання ознак з неміченого набору даних, які потім застосовуються для покращення продуктивності в керованому режимі з міченими даними.[7][8] Далі наведено кілька підходів.

Кластеризація методом k–середніх[ред.ред. код]

Одним з підходів до векторного квантування є кластеризація методом k–середніх. Зокрема, для заданої множини з n векторів кластеризація методом k–середніх групує їх в k кластерів (тобто, підмножин) таким чином, що кожен вектор належить до кластера з найближчим середнім значенням. Ця задача є обчислювально NP-складною, і для кластеризації k–середніми було розроблено підоптимальні жадібні алгоритми.

У навчанні ознак кластеризація k–середніми може застосовуватися для групування неміченого набору входів у k кластерів, а потім використання центроїдів цих кластерів для формування ознак. Ці ознаки можуть виводитися кількома способами. Найпростішим способом є додавати k двійкових ознак до кожного зразка, де кожна ознака j має одиничне значення тоді й лише тоді, коли j-тий центроїд, навчений k–середніми, є найближчим до зразка, який розглядається.[3] Також можливо використовувати як ознаки відстані до кластерів, принаймні після їх перетворення радіально-базисною функцією[en] (методика, що застосовувалася для тренування мереж РБФ[9]). Котс та Ин[en] зауважують, що деякі варіанти k–середніх поводяться подібно до алгоритмів розрідженого кодування.[10]

Під час порівняльної оцінки методів спонтанного навчання ознак Котс, Лі та Ин з'ясували, що кластеризація k-середніми з відповідним перетворенням в завданні класифікації зображень перевершує винайдені пізніше автокодувальники та ОМБ.[3] Також було показано, що k-середні покращують продуктивність в галузі ОПМ, особливо в розпізнаванні іменованих сутностей[en];[11] там вони конкурують з кластеризацією Брауна[en], а також із розподіленими представленнями слів (також відомими як нейронні вкладення слів).[8]

Метод головних компонент[ред.ред. код]

Для зниження розмірності часто застосовують метод головних компонент (МГК, англ. principal component analysis, PCA). Для заданого неміченого набору n векторів вхідних даних МГК породжує p (що є набагато меншим за розмірність вхідних даних) правих сингулярних векторів, що відповідають p найбільшим сингулярним числам матриці даних, де k-тий рядок матриці даних є k-тим вхідним вектором вхідних даних, зсунутим на вибіркове середнє входу (тобто, з відніманням вибіркового середнього від вектора даних). Рівнозначно, ці сингулярні вектори є власними векторами, що відповідають p найбільшим власним значенням вибіркової коваріаційної матриці[en] вхідних векторів. Ці p сингулярних векторів є векторами ознак, навченими з вхідних даних, і вони представляють напрямки, вздовж яких дані мають найбільший розкид.

МГК є лінійним підходом до навчання ознак, оскільки p сингулярних векторів є лінійними функціями матриці даних. Сингулярні вектори може бути породжено простим алгоритмом з p ітерацій. На i-тій ітерації віднімається проекція матриці даних на (i-1)-й власний вектор, і знаходиться i-тий сингулярний вектор як правий сингулярний вектор, що відповідає найбільшому сингулярному числу залишкової матриці даних.

МГК має кілька обмежень. По-перше, він припускає, що напрямки з найбільшою дисперсією становлять найвищий інтерес, що в багатьох застосуваннях може бути не так. МГК покладається лише на ортогональні перетворення первинних даних, і використовує моменти даних лише першого та другого порядків, які можуть не добре характеризувати розподіл даних. Більше того, МГК може дієво зменшувати розмірність лише тоді, коли вектори вхідних даних є корельованими (що призводить до кількох домінантних власних значень).

Локальне лінійне вкладення[ред.ред. код]

Локальне лінійне вкладення[en] (ЛЛВ, англ. local linear embedding, LLE) є нелінійним підходом до спонтанного навчання для породження представлень низької розмірності, що зберігають сусідство, з (неміченого) входу високої розмірності. Цей підхід було запропоновано Семом Ровейсом та Лоуренсом Солом 2000 року.[12][13]

Загальною ідеєю ЛЛВ є відбудова первинних даних високої розмірності із застосуванням точок нижчої розмірності при збереженні деяких геометричних властивостей околів у первинному наборі даних. ЛЛВ складається з двох основних етапів. Перший етап слугує «збереженню сусідства», на ньому кожна точка вхідних даних Xi відбудовується як зважена сума K найближчих сусідніх точок даних, і знаходяться оптимальні вагові коефіцієнти шляхом мінімізації середньої квадратичної похибки відбудови (тобто різниці між точкою та її відбудовою) за обмеження, що вагові коефіцієнти, пов'язані з кожною точкою даних, повинні в сумі давати одиницю. Другий етап слугує «зниженню розмірності» шляхом пошуку векторів у просторі нижчої розмірності, що мінімізує помилку представлення із застосуванням оптимізованих вагових коефіцієнтів з першого етапу. Зауважте, що на першому етапі вагові коефіцієнти оптимізуються при незмінних даних, що може розв'язуватися як задача найменших квадратів; тоді як на другому етапі точки нижчої розмірності оптимізуються при незмінних вагових коефіцієнтах, що може розв'язуватися через розріджений власний розклад.

Вагові коефіцієнти відбудови, отримані на першому етапі, схоплюють «внутрішні геометричні властивості» околу у вхідних даних.[13] Вважається, що первинні дані лежать на гладкому многовиді нижчої розмірності, і очікується, що «внутрішні геометричні властивості», схоплені ваговими коефіцієнтами первинних даних, є також на цьому многовиді. Ось чому ті ж самі вагові коефіцієнти використовуються на другому етапі ЛЛВ. У порівнянні з МГК, ЛЛВ є потужнішим у використанні внутрішньої структури даних.

Метод незалежних компонент[ред.ред. код]

Метод незалежних компонент[en] (МНК, англ. Independent component analysis, ICA) — це методика для навчання представлення даних із застосуванням зваженої суми незалежних не-ґаусових компонент.[14] Припущення про не-ґаусовість накладається тому, що вагові коефіцієнти не може бути визначено однозначно, якщо всі компоненти слідують ґаусовому розподілу.

Спонтанне навчання словника[ред.ред. код]

На відміну від керованого навчання словника, спонтанне навчання словника (англ. unsupervised dictionary learning) для оптимізації словникових елементів не користується мітками на даних, а використовує лише їхню внутрішню структуру. Прикладом спонтанного навчання словника є розріджене кодування, спрямоване на навчання базисних функцій (словникових елементів) для представлення даних із немічених вхідних даних. Розріджене кодування може застосовуватися для навчання переповненого словника, в якому кількість елементів більша за розмір вхідних даних.[15] Аарон та ін. запропонували алгоритм, відомий як K-СРМ (англ. K-SVD), для навчання з немічених вхідних даних словника елементів, що уможливлює розріджене представлення даних.[16]

Багатошарові/глибинні архітектури[ред.ред. код]

Ієрархічна будова нервової системи надихає архітектури глибинного навчання для навчання ознак декількома накладеними шарами простих блоків навчання.[17] Ці архітектури часто розробляють на основі припущення про Розподілене представлення: спостережувані дані породжуються взаємодіями багатьох різних чинників на декількох рівнях. В архітектурі глибинного навчання вихід кожного проміжного шару може розглядатися як представлення первинних вхідних даних. Кожен рівень використовує представлення, вироблене попереднім рівнем, як вхід, і виробляє нові представлення на виході, що потім подаються до вищих рівнів. Входом найнижчого рівня є сирі дані, а виходом завершального рівня є остаточна ознака або представлення низької розмірності.

Обмежена машина Больцмана[ред.ред. код]

Як будівельні блоки для архітектур багатошарового навчання часто використовують обмежені машини Больцмана (ОМБ, англ. restricted Boltzmann machine, RBM).[3][18] ОМБ може бути представлено неорієнтованим дводольним графом, що складається з групи двійкових[en] прихованих змінних, групи видимих змінних, та ребер, що з'єднують приховані та видимі вузли. Вона є окремим випадком загальніших машин Больцмана з обмеженням відсутності міжвузлових з'єднань. Кожне ребро в ОМБ пов'язане з ваговим коефіцієнтом. Вагові коефіцієнти разом зі з'єднаннями визначають енергетичну функцію, на основі якої може бути винайдено спільний розподіл видимих та прихованих вузлів. Виходячи з топології ОМБ, приховані (видимі) змінні незалежно обумовлено видимими (прихованими) змінними. Така умовна незалежність полегшує обчислення на ОМБ.

ОМБ може розглядатися як одношарова архітектура для спонтанного навчання ознак. Зокрема, видимі змінні відповідають вхідним даним, а приховані змінні відповідають детекторам ознак. Вагові коефіцієнти може бути треновано максимізацією ймовірності видимих змінних із застосуванням алгоритму порівняльної розбіжності (ПР, англ. contrastive divergence, CD) Джефрі Хінтона[en].[18]

В цілому, тренування ОМБ розв'язанням наведеної вище задачі максимізації призводить в результаті до не розріджених представлень. Для уможливлення розріджених представлень було запропоновано видозміну ОМБ, розріджену ОМБ (англ. sparse RBM).[19] Ідея полягає в додаванні до цільової функції правдоподібності даних члена регуляризації, який штрафував би відхилення очікуваних прихованих змінних, починаючи з невеликої сталої .

Автокодувальник[ред.ред. код]

Однією з парадигм для архітектур глибинного навчання є автокодувальник, що складається з кодувальника та декодувальника. Хінтоном та Салахутдіновим було запропоновано приклад,[18] в якому кодувальник використовує сирі дані (наприклад, зображення) як вхід, і виробляє ознаку або представлення як вихід, а декодувальник використовує виявлені кодувальником ознаки як вхід, і відбудовує первинні вхідні сирі дані як вихід. Кодувальник та декодувальник побудовано накладенням декількох шарів ОМБ. Параметри, залучені до цієї архітектури, в оригіналі було треновано жадібним пошаровим чином: після того, як один шар було навчено детекторів ознак, вони подаються до вищих шарів як видимі змінні для тренування відповідної ОМБ. Поточні підходи зазвичай застосовують тренування з краю в край методами стохастичного найшвидшого спуску. Тренування може тривати доти, поки не задовольниться певний критерій зупинки.

Див. також[ред.ред. код]

Примітки[ред.ред. код]

  1. Y. Bengio; A. Courville; P. Vincent (2013). Representation Learning: A Review and New Perspectives. IEEE Trans. PAMI, special issue Learning Deep Architectures 35. с. 1798–1828. doi:10.1109/tpami.2013.50.  (англ.)
  2. Nathan Srebro; Jason D. M. Rennie; Tommi S. Jaakkola (2004). Maximum-Margin Matrix Factorization NIPS[en].  (англ.)
  3. а б в г Coates, Adam; Lee, Honglak; Ng, Andrew Y. (2011). An analysis of single-layer networks in unsupervised feature learning Int'l Conf. on AI and Statistics (AISTATS).  (англ.)
  4. Csurka, Gabriella; Dance, Christopher C.; Fan, Lixin; Willamowski, Jutta; Bray, Cédric (2004). Visual categorization with bags of keypoints ECCV Workshop on Statistical Learning in Computer Vision.  (англ.)
  5. Daniel Jurafsky; James H. Martin (2009). Speech and Language Processing. Pearson Education International. с. 145–146.  (англ.)
  6. Mairal, Julien; Bach, Francis; Ponce, Jean; Sapiro, Guillermo; Zisserman, Andrew (2009). Supervised Dictionary Learning. Advances in neural information processing systems.  (англ.)
  7. Percy Liang (2005). Semi-Supervised Learning for Natural Language (M. Eng.). MIT. с. 44–52.  (англ.)
  8. а б Joseph Turian; Lev Ratinov; Yoshua Bengio (2010). Word representations: a simple and general method for semi-supervised learning Proceedings of the 48th Annual Meeting of the Association for Computational Linguistics.  (англ.)
  9. Schwenker, Friedhelm; Kestler, Hans A.; Palm, Günther (2001). Three learning phases for radial-basis-function networks. Neural Networks 14. с. 439–458. doi:10.1016/s0893-6080(01)00027-2. CiteSeerX: 10.1.1.109.312.  (англ.)
  10. Coates, Adam; Ng, Andrew Y. (2012). «Learning feature representations with k-means». У G. Montavon, G. B. Orr and K.-R. Müller. Neural Networks: Tricks of the Trade. Springer.  (англ.)
  11. Dekang Lin; Xiaoyun Wu (2009). Phrase clustering for discriminative learning Proc. J. Conf. of the ACL and 4th Int'l J. Conf. on Natural Language Processing of the AFNLP. с. 1030–1038.  (англ.)
  12. Roweis, Sam T; Saul, Lawrence K (2000). Nonlinear Dimensionality Reduction by Locally Linear Embedding. Science, New Series 290 (5500). с. 2323–2326. JSTOR 3081722. PMID 11125150. doi:10.1126/science.290.5500.2323.  (англ.)
  13. а б Saul, Lawrence K; Roweis, Sam T (2000). An Introduction to Locally Linear Embedding.  (англ.)
  14. Hyvärinen, Aapo; Oja, Erkki (2000). Independent Component Analysis: Algorithms and Applications. Neural Networks 13 (4). с. 411–430. PMID 10946390. doi:10.1016/s0893-6080(00)00026-5.  (англ.)
  15. Lee, Honglak; Battle, Alexis; Raina, Rajat; Ng, Andrew Y (2007). Efficient sparse coding algorithms. Advances in neural information processing systems.  (англ.)
  16. Aharon, Michal; Elad, Michael; Bruckstein, Alfred (2006). K-SVD: An Algorithm for Designing Overcomplete Dictionaries for Sparse Representation. IEEE Trans. Signal Process. 54 (11). с. 4311–4322. doi:10.1109/TSP.2006.881199.  (англ.)
  17. Bengio, Yoshua (2009). Learning Deep Architectures for AI. Foundations and Trends in Machine Learning 2 (1). с. 1–127. doi:10.1561/2200000006.  (англ.)
  18. а б в Hinton, G. E.; Salakhutdinov, R. R. (2006). Reducing the Dimensionality of Data with Neural Networks. Science 313 (5786). с. 504–507. PMID 16873662. doi:10.1126/science.1127647.  (англ.)
  19. Lee, Honglak; Ekanadham, Chaitanya; Andrew, Ng (2008). Sparse deep belief net model for visual area V2. Advances in neural information processing systems.  (англ.)