Навчання ознак
В машинному навчанні навча́ння озна́к (англ. feature learning) або навча́ння предста́влень (англ. representation learning)[1] — це набір методик, що дозволяє системі автоматично виявляти представлення, необхідні для виявлення ознак, або класифікування з сирих даних. Воно замінює ручне конструювання ознак і дозволяє машині як навчатися ознак, так і застосовувати їх для виконання конкретного завдання.
Необхідність у навчанні ознак обумовлено тим фактом, що такі завдання машинного навчання, як класифікування, часто потребують входу, що є математично та обчислювально зручним для обробки. Проте дані реального світу, такі як зображення, відео та давачеві вимірювання, ще не піддаються спробам алгоритмічного визначення конкретних ознак. Альтернативою є виявляти такі ознаки або представлення через дослідження, не покладаючись на явні алгоритми.
Навчання ознак може бути або керованим, або спонтанним.
- У керованому навчанні ознак машина навчається ознак із застосуванням мічених входових даних. До прикладів належать керовані нейронні мережі, багатошаровий перцептрон та (кероване) навчання словника.
- У спонтанному навчанні ознак машина навчається ознак з неміченими входовими даними. До прикладів належать навчання словника, метод незалежних компонент, автокодувальники, розклад матриць[2] та різні види кластерування.[3][4][5]
Кероване
Кероване навчання ознак є навчанням ознак з мічених даних. Мітка даних дозволяє системі обчислювати член похибки, міру, до якої системі не вдається виробити мітку, що може бути потім використано як зворотний зв'язок для правлення процесу навчання (зниження/мінімізування цієї похибки). До його підходів належать:
Кероване навчання словника
Навчання словника виробляє набір (словник) показових елементів із входових даних, таких, що кожну точку даних може бути представлено як зважену суму показових елементів. Елементи словника та вагові коефіцієнти може бути знайдено мінімізацією середньої похибки представлення (над входовими даними), разом з L1-регуляризацією вагових коефіцієнтів для забезпечення розрідженості (тобто, щоби представлення кожної точки даних мало лише декілька ненульових вагових коефіцієнтів).
Кероване навчання словника (англ. supervised dictionary learning) для оптимізації елементів словника використовує як структуру, що стоїть за входовими даними, так і мітки. Наприклад, ця[6] методика керованого навчання словника застосовує навчання словника до задач класифікації шляхом спільної оптимізації на основі входових даних елементів словника, вагових коефіцієнтів для представлення точок даних, та параметрів класифікатора. Зокрема, сформульовано задачу мінімізації, в якій цільова функція складається з похибки класифікації, похибки представлення, L1-регуляризації вагових коефіцієнтів, що представляють кожну точку даних (для забезпечення розрідженого представлення даних) та L2-регуляризації параметрів класифікатора.
Нейронні мережі
Нейронні мережі є сімейством алгоритмів навчання, що використовують «мережу», яка складається з кількох шарів з'єднаних між собою вузлів. Їх натхнено нервовою системою тварин, де вузли розглядають як нейрони, а ребра розглядають як синапси. Кожне ребро має пов'язану з ним вагу, а мережа визначає обчислювальні правила для передавання входових даних з шару входу мережі до шару виходу. Функція мережі, пов'язана з нейронною мережею, характеризує співвідношення між шарами входу та виходу, що параметризується ваговими коефіцієнтами. Для відповідно визначених функцій мережі різні завдання навчання можливо виконувати шляхом мінімізування функції втрат над функцією мережі (ваговими коефіцієнтами).
Для виконання навчання ознак можливо використовувати багатошарові нейронні мережі, оскільки вони навчаються представлення їхнього входу на прихованих шарах, яке потім використовується для класифікації або регресії на шарі виходу. Найпопулярнішою мережною архітектурою цього типу є сіамські мережі.
Спонтанне
Спонтанне навчання ознак навчається ознак з немічених даних. Метою спонтанного навчання ознак часто є виявлення ознак низької розмірності, що вловлюють певну структуру, що лежить за входовими даними високої розмірності. Коли навчання ознак виконують спонтанним чином, воно уможливлює певний вид напівавтоматичного навчання, коли ознаки, навчені з неміченого набору даних, потім застосовують для покращення продуктивності в керованому режимі з міченими даними.[7][8] Далі наведено кілька підходів.
Кластерування методом k–середніх
Одним з підходів до векторного квантування є кластерування методом k–середніх. Зокрема, для заданої множини з n векторів кластерування методом k–середніх групує їх в k кластерів (тобто, підмножин) таким чином, що кожен вектор належить до кластера з найближчим середнім значенням. Ця задача є обчислювально NP-складною, хоча було розроблено підоптимальні жадібні алгоритми.
Кластерування k–середніми можливо застосовувати для групування неміченого набору входів у k кластерів, з наступним використанням центроїдів цих кластерів для формування ознак. Ці ознаки можливо виводити кількома способами. Найпростішим є додавати k двійкових ознак до кожного зразка, де кожна ознака j має одиничне значення тоді й лише тоді, коли j-тий центроїд, навчений k–середніми, є найближчим до зразка, що розглядають.[3] Також можливо використовувати як ознаки відстані до кластерів, принаймні після їх перетворення радіальною базисною функцією (методика, яку застосовували для тренування мереж РБФ[9]). Котс та Ин зауважують, що деякі варіанти k–середніх поводяться подібно до алгоритмів розрідженого кодування.[10]
Під час порівняльної оцінки методів спонтанного навчання ознак Котс, Лі та Ин з'ясували, що кластерування k-середніми з відповідним перетворенням в завданні класифікації зображень перевершує винайдені пізніше автокодувальники та ОМБ.[3] K-середні також покращують продуктивність в галузі ОПМ, особливо в розпізнаванні іменованих сутностей;[11] там вони конкурують з кластеруванням Брауна, а також із розподіленими представленнями слів (також відомими як нейронні вкладення слів).[8]
Метод головних компонент
Для зниження розмірності часто застосовують метод головних компонент (МГК, англ. principal component analysis, PCA). Для заданого неміченого набору n векторів входових даних МГК породжує p (що є набагато меншим за розмірність входових даних) правих сингулярних векторів, що відповідають p найбільшим сингулярним числам матриці даних, де k-тий рядок матриці даних є k-тим входовим вектором входових даних, зсунутим на вибіркове середнє входу (тобто, з відніманням вибіркового середнього від вектора даних). Рівнозначно, ці сингулярні вектори є власними векторами, що відповідають p найбільшим власним значенням вибіркової коваріаційної матриці входових векторів. Ці p сингулярних векторів є векторами ознак, навченими з входових даних, і вони представляють напрямки, вздовж яких дані мають найбільший розкид.
МГК є лінійним підходом до навчання ознак, оскільки p сингулярних векторів є лінійними функціями матриці даних. Сингулярні вектори може бути породжено простим алгоритмом з p ітерацій. На i-тій ітерації віднімають проекцію матриці даних на (i-1)-й власний вектор, і знаходять i-тий сингулярний вектор як правий сингулярний вектор, що відповідає найбільшому сингулярному числу залишкової матриці даних.
МГК має кілька обмежень. По-перше, він припускає, що напрямки з найбільшою дисперсією становлять найвищий інтерес, що може бути не так. МГК покладається лише на ортогональні перетворення первинних даних, і використовує моменти даних лише першого та другого порядків, які можуть не добре характеризувати цей розподіл даних. Більше того, МГК може дієво зменшувати розмірність лише тоді, коли вектори входових даних є корельованими (що призводить до кількох домінантних власних значень).
Локальне лінійне вкладення
Локальне лінійне вкладення (ЛЛВ, англ. local linear embedding, LLE) є нелінійним підходом до навчання для породження представлень низької розмірності, що зберігають сусідство, з (неміченого) входу високої розмірності. Цей підхід було запропоновано Ровейсом та Солом 2000 року.[12][13] Загальною ідеєю ЛЛВ є відбудова первинних даних високої розмірності із застосуванням точок нижчої розмірності при збереженні деяких геометричних властивостей околів у первинному наборі даних.
ЛЛВ складається з двох основних етапів. Перший етап слугує «збереженню сусідства», на ньому кожна точка входових даних Xi відбудовують як зважену суму K найближчих сусідніх точок даних, і знаходять оптимальні вагові коефіцієнти шляхом мінімізування середньої квадратичної похибки відбудови (тобто різниці між входовою точкою та її відбудовою) за обмеження, що вагові коефіцієнти, пов'язані з кожною точкою даних, повинні в сумі давати одиницю. Другий етап слугує «зниженню розмірності» шляхом пошуку векторів у просторі нижчої розмірності, що мінімізує похибку представлення із застосуванням оптимізованих вагових коефіцієнтів з першого етапу. Зауважте, що на першому етапі вагові коефіцієнти оптимізують за незмінних даних, що можливо розв'язувати як задачу найменших квадратів. На другому етапі точки нижчої розмірності оптимізують із незмінними ваговими коефіцієнтами, що можливо розв'язувати через розріджений власний розклад.
Вагові коефіцієнти відбудови, отримані на першому етапі, схоплюють «внутрішні геометричні властивості» околу у входових даних.[13] Вважають, що первинні дані лежать на гладкому многовиді нижчої розмірності, і очікують, що «внутрішні геометричні властивості», схоплені ваговими коефіцієнтами первинних даних, є також на цьому многовиді. Ось чому ті ж самі вагові коефіцієнти використовують на другому етапі ЛЛВ. У порівнянні з МГК, ЛЛВ є потужнішим у використанні внутрішньої структури даних.
Метод незалежних компонент
Метод незалежних компонент (МНК, англ. Independent component analysis, ICA) — це методика для формування представлення даних із застосуванням зваженої суми незалежних не-ґаусових компонент.[14] Припущення про не-ґаусовість накладають тому, що вагові коефіцієнти не може бути визначено однозначно, якщо всі компоненти слідують ґаусовому розподілу.
Спонтанне навчання словника
Спонтанне навчання словника (англ. unsupervised dictionary learning) для оптимізування словникових елементів не користується мітками даних, а використовує лише внутрішню структуру даних. Прикладом спонтанного навчання словника є розріджене кодування, спрямоване на навчання базисних функцій (словникових елементів) для представлення даних із немічених входових даних. Розріджене кодування можливо застосовувати для навчання переповнених словників, у яких кількість елементів є більшою за розмір входових даних.[15] Аарон та ін. для навчання словника елементів, що уможливлює розріджене представлення, запропонували алгоритм K-СРМ (англ. K-SVD).[16]
Багатошарові/глибинні архітектури
Ієрархічна будова біологічної нервової системи надихає архітектури глибинного навчання для навчання ознак декількома накладеними шарами вузлів навчання.[17] Ці архітектури часто розробляють на основі припущення про розподілене представлення: спостережувані дані породжуються взаємодіями багатьох різних чинників на декількох рівнях. В архітектурі глибинного навчання вихід кожного проміжного шару можливо розглядати як представлення первинних входових даних. Кожен рівень використовує представлення, вироблене попереднім рівнем, як вхід, і виробляє нові представлення на виході, що потім подають до вищих рівнів. Входом на найнижчому рівні є сирі дані, а виходом завершального рівня є остаточна ознака або представлення низької розмірності.
Обмежена машина Больцмана
Як будівельні блоки для архітектур багатошарового навчання часто використовують обмежені машини Больцмана (ОМБ, англ. restricted Boltzmann machine, RBM).[3][18] ОМБ може бути представлено неорієнтованим дводольним графом, що складається з групи двійкових прихованих змінних, групи видимих змінних, та ребер, що з'єднують приховані та видимі вузли. Вона є окремим випадком загальніших машин Больцмана з обмеженням відсутності міжвузлових з'єднань. Кожне ребро в ОМБ пов'язано з ваговим коефіцієнтом. Вагові коефіцієнти разом зі з'єднаннями визначають енергетичну функцію, на основі якої може бути винайдено спільний розподіл видимих та прихованих вузлів. Виходячи з топології ОМБ, приховані (видимі) змінні незалежно обумовлено видимими (прихованими) змінними.[прояснити: ком.] Така умовна незалежність полегшує обчислення.
ОМБ можливо розглядати як одношарову архітектуру для спонтанного навчання ознак. Зокрема, видимі змінні відповідають входовим даним, а приховані змінні відповідають детекторам ознак. Вагові коефіцієнти може бути треновано максимізацією ймовірності видимих змінних із застосуванням алгоритму порівняльної розбіжності (ПР, англ. contrastive divergence, CD) Джефрі Гінтона.[18]
В цілому, тренування ОМБ розв'язанням задачі максимізації призводить в результаті до не розріджених представлень. Для уможливлення розріджених представлень було запропоновано розріджену ОМБ (англ. sparse RBM).[19] Ідея полягає в додаванні до цільової функції правдоподібності даних члена регуляризації, який штрафував би відхилення очікуваних прихованих змінних, починаючи з невеликої сталої .
Автокодувальник
Однією з парадигм для архітектур глибинного навчання є автокодувальник, що складається з кодувальника та декодувальника. Гінтоном та Салахутдіновим було запропоновано приклад,[18] в якому кодувальник використовує сирі дані (наприклад, зображення) як вхід, і виробляє ознаку або представлення як вихід, а декодувальник використовує виявлені кодувальником ознаки як вхід, і відбудовує первинні входові сирі дані як вихід. Кодувальник та декодувальник побудовано накладенням декількох шарів ОМБ. Параметри, залучені до цієї архітектури, в оригіналі було треновано жадібним пошаровим чином: після того, як один шар було навчено детекторів ознак, їх подають вище як видимі змінні для тренування відповідної ОМБ. Поточні підходи зазвичай застосовують тренування з краю в край методами стохастичного найшвидшого спуску. Тренування може тривати доти, поки не стане задоволено певні критерії зупинки.
Див. також
Примітки
- 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. PMID 23787338. arXiv:1206.5538. doi:10.1109/tpami.2013.50. (англ.)
- Nathan Srebro; Jason D. M. Rennie; Tommi S. Jaakkola (2004). Maximum-Margin Matrix Factorization NIPS. (англ.)
- 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). Архів оригіналу за 13 серпня 2017. Процитовано 12 січня 2016. (англ.)
- 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. (англ.)
- Daniel Jurafsky; James H. Martin (2009). Speech and Language Processing. Pearson Education International. с. 145–146. (англ.)
- Mairal, Julien; Bach, Francis; Ponce, Jean; Sapiro, Guillermo; Zisserman, Andrew (2009). Supervised Dictionary Learning. Advances in Neural Information Processing Systems. (англ.)
- Percy Liang (2005). Semi-Supervised Learning for Natural Language (M. Eng.). MIT. с. 44–52. (англ.)
- 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. Архів оригіналу за 26 лютого 2014. Процитовано 12 січня 2016. (англ.)
- Schwenker, Friedhelm; Kestler, Hans A.; Palm, Günther (2001). Three learning phases for radial-basis-function networks. Neural Networks 14 (4–5): 439–458. PMID 11411631. doi:10.1016/s0893-6080(01)00027-2. Проігноровано невідомий параметр
|citeseerx=
(довідка) (англ.) - 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. (англ.)
- 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. (англ.)
- 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. JSTOR 3081722. PMID 11125150. doi:10.1126/science.290.5500.2323. (англ.)
- Saul, Lawrence K; Roweis, Sam T (2000). An Introduction to Locally Linear Embedding. (англ.)
- 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. (англ.)
- Lee, Honglak; Battle, Alexis; Raina, Rajat; Ng, Andrew Y (2007). Efficient sparse coding algorithms. Advances in Neural Information Processing Systems. (англ.)
- 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. Bibcode:2006ITSP...54.4311A. doi:10.1109/TSP.2006.881199. (англ.)
- Bengio, Yoshua (2009). Learning Deep Architectures for AI. Foundations and Trends in Machine Learning 2 (1): 1–127. doi:10.1561/2200000006. (англ.)
- Hinton, G. E.; Salakhutdinov, R. R. (2006). Reducing the Dimensionality of Data with Neural Networks. Science 313 (5786): 504–507. Bibcode:2006Sci...313..504H. PMID 16873662. doi:10.1126/science.1127647. (англ.)
- Lee, Honglak; Ekanadham, Chaitanya; Andrew, Ng (2008). Sparse deep belief net model for visual area V2. Advances in Neural Information Processing Systems. (англ.)