Навчання ознак — Вікіпедія

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

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

Навчання ознак може бути або керованим, або некерованим.

Кероване[ред. | ред. код]

Кероване навчання ознак є навчанням ознак з мічених даних. Мітка даних дозволяє системі обчислювати член похибки, міру, до якої системі не вдається виробити мітку, що може бути потім використано як зворотний зв'язок для правлення процесу навчання (зниження/мінімізування цієї похибки). До його підходів належать:

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

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

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

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

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

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

Некероване[ред. | ред. код]

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

Кластерування методом k–середніх[ред. | ред. код]

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

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

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

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

Для зниження розмірності часто застосовують метод головних компонент (МГК, англ. principal component analysis, PCA). Для заданого неміченого набору n векторів входових даних МГК породжує p (що є набагато меншим за розмірність входових даних) правих сингулярних векторів, що відповідають p найбільшим сингулярним числам матриці даних, де k-тий рядок матриці даних є k-тим входовим вектором входових даних, зсунутим на вибіркове середнє входу (тобто, з відніманням вибіркового середнього від вектора даних). Рівнозначно, ці сингулярні вектори є власними векторами, що відповідають p найбільшим власним значенням вибіркової коваріаційної матриці входових векторів. Ці 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) для оптимізування словникових елементів не користується мітками даних, а використовує лише внутрішню структуру даних. Прикладом некерованого навчання словника є розріджене кодування[en], спрямоване на навчання базисних функцій (словникових елементів) для представлення даних із немічених входових даних. Розріджене кодування можливо застосовувати для навчання переповнених словників, у яких кількість елементів є більшою за розмір входових даних.[15] Аарон та ін. для навчання словника елементів, що уможливлює розріджене представлення, запропонували алгоритм K-СРМ[en] (англ. K-SVD).[16]

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

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

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

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

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

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

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

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

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

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

  1. Y. Bengio; A. Courville; P. Vincent (2013). Representation Learning: A Review and New Perspectives. IEEE Transactions on Pattern Analysis and Machine Intelligence. 35 (8): 1798—1828. arXiv:1206.5538. doi:10.1109/tpami.2013.50. PMID 23787338. (англ.)
  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 (PDF). Int'l Conf. on AI and Statistics (AISTATS). Архів оригіналу (PDF) за 13 серпня 2017. Процитовано 12 січня 2016. (англ.)
  4. Csurka, Gabriella; Dance, Christopher C.; Fan, Lixin; Willamowski, Jutta; Bray, Cédric (2004). Visual categorization with bags of keypoints (PDF). ECCV Workshop on Statistical Learning in Computer Vision. Архів оригіналу (PDF) за 13 липня 2019. Процитовано 22 вересня 2019. (англ.)
  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 (PDF) (M. Eng.). MIT. с. 44—52. Архів оригіналу (PDF) за 26 лютого 2015. Процитовано 12 січня 2016. (англ.)
  8. а б Joseph Turian; Lev Ratinov; Yoshua Bengio (2010). Word representations: a simple and general method for semi-supervised learning (PDF). Proceedings of the 48th Annual Meeting of the Association for Computational Linguistics. Архів оригіналу (PDF) за 26 лютого 2014. Процитовано 12 січня 2016. (англ.)
  9. Schwenker, Friedhelm; Kestler, Hans A.; Palm, Günther (2001). Three learning phases for radial-basis-function networks. Neural Networks. 14 (4–5): 439—458. CiteSeerX 10.1.1.109.312. doi:10.1016/s0893-6080(01)00027-2. PMID 11411631. (англ.)
  10. Coates, Adam; Ng, Andrew Y. (2012). Learning feature representations with k-means. У G. Montavon, G. B. Orr and K.-R. Müller[en] (ред.). Neural Networks: Tricks of the Trade. Springer. (англ.)
  11. Dekang Lin; Xiaoyun Wu (2009). Phrase clustering for discriminative learning (PDF). Proc. J. Conf. of the ACL and 4th Int'l J. Conf. on Natural Language Processing of the AFNLP. с. 1030—1038. Архів оригіналу (PDF) за 3 березня 2016. Процитовано 12 січня 2016. (англ.)
  12. Roweis, Sam T; Saul, Lawrence K (2000). Nonlinear Dimensionality Reduction by Locally Linear Embedding. Science. New Series. 290 (5500): 2323—2326. Bibcode:2000Sci...290.2323R. doi:10.1126/science.290.5500.2323. JSTOR 3081722. PMID 11125150. (англ.)
  13. а б Saul, Lawrence K; Roweis, Sam T (2000). An Introduction to Locally Linear Embedding. Архів оригіналу за 14 травня 2009. Процитовано 12 січня 2016. (англ.)
  14. Hyvärinen, Aapo; Oja, Erkki (2000). Independent Component Analysis: Algorithms and Applications. Neural Networks. 13 (4): 411—430. doi:10.1016/s0893-6080(00)00026-5. PMID 10946390. (англ.)
  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 (PDF). IEEE Trans. Signal Process. 54 (11): 4311—4322. Bibcode:2006ITSP...54.4311A. doi:10.1109/TSP.2006.881199. Архів оригіналу (PDF) за 25 червня 2016. Процитовано 12 січня 2016. (англ.)
  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 (PDF). Science. 313 (5786): 504—507. Bibcode:2006Sci...313..504H. doi:10.1126/science.1127647. PMID 16873662. Архів оригіналу (PDF) за 23 грудня 2015. Процитовано 12 січня 2016. (англ.)
  19. Lee, Honglak; Ekanadham, Chaitanya; Andrew, Ng (2008). Sparse deep belief net model for visual area V2. Advances in Neural Information Processing Systems. (англ.)