Лінійна алгебра для машинного навчання: вектори, матриці й чому ШІ передусім множить
Вектори, скалярний добуток і косинусна подібність, матриці як перетворення, визначник, шар нейронної мережі як Wx + b і власні вектори — з малюнками, які обчислює код.
Серія Основи ШІ Частина 9 з 52
- Мапа штучного інтелекту: що є що і як усе це пов’язано
- Коротка історія штучного інтелекту: від Тюрінга до мовних моделей
- Дані, модель, тренування, інференс: основні поняття на одному прикладі
- Як читати математичний запис: символи, індекси, суми та квантори
- Множини й відношення: конструктор, з якого складаються означення в ШІ
- Функції й відображення: чому кожна модель у ШІ — це функція
- Логіка й доведення: правила, за якими міркують у ШІ
- Графи й дерева: структура, на якій тримаються пошук і нейронні мережі
- Лінійна алгебра для машинного навчання: вектори, матриці й чому ШІ передусім множить
- Похідні, градієнт і правило ланцюжка: як модель дізнається, у якому напрямку вчитися
- Градієнтний спуск: як навчається модель
- Що таке ймовірність: від кидка кубика до аксіом Колмогорова
- Умовна ймовірність і теорема Баєса: як змінити оцінку, коли дізнаєтеся щось нове
- Випадкова величина і функція розподілу: одна функція, яка каже про розподіл усе
- Функція щільності та функція маси ймовірності: чому неперервна величина має в точці ймовірність нуль
- Математичне сподівання, дисперсія і коваріація: де лежить розподіл, наскільки він широкий і що з чим пов’язано
- Огляд розподілів ймовірностей: Бернуллі, біноміальний, Пуассона, рівномірний, нормальний і експоненційний
- Закон великих чисел і центральна гранична теорема: чому середні поводяться так передбачувано
- Статистика й оцінювання параметрів: максимальна правдоподібність, MAP і довірчі інтервали
- Теорія інформації: ентропія, перехресна ентропія і KL-дивергенція — звідки беруться функції втрат
- Пошук у просторі станів: BFS, DFS, UCS і A* з анімаціями
- Ігри та суперник: мінімакс, альфа-бета відсікання і Monte Carlo tree search
- Задоволення обмежень: бектрекінг, поширення обмежень і AC-3 на судоку та мапі чеських країв
- Логіка й системи, засновані на знаннях: пряме і зворотне виведення, резолюція та експертні системи
- Планування: STRIPS, світ кубиків, евристики з релаксації та планування в AI-агентах
- Локальний пошук та імітація відпалу: комівояжер через обласні центри Чехії
- Генетичні алгоритми: популяція, схрещування, мутація і добір на рюкзаку для походу
- Еволюційні стратегії і генетичне програмування: від правила однієї п’ятої до закону Кеплера
- Оптимізація мурашиною колонією: як феромоновий слід знаходить короткий шлях
- Оптимізація роєм частинок: інерція, власний досвід і досвід рою
- Нейроеволюція: еволюція ваг і форми нейронних мереж та алгоритм NEAT
- Нечіткі множини й функції належності: як записати «трохи тепло»
- Нечітка логіка та ймовірність: чому «трохи тепло» не означає «імовірно тепло»
- Нечітка логіка: t-норми, імплікації та правила ЯКЩО–ТО
- Нечітке керування: Мамдані та Суґено від вентилятора до маятника на візку
- Нечітка кластеризація: алгоритм fuzzy c-means і точки між кластерами
- Нейро-нечіткі системи (ANFIS): нечіткі правила, які навчаються з даних
- Марковські ланцюги: матриця переходів, стаціонарний розподіл і PageRank
- Приховані марковські моделі: алгоритм Вітербі й нечесне казино
- Байєсівські мережі: чому трава мокра і що з цього випливає для дощувача
- Фільтр Калмана: як за неточними вимірюваннями оцінити, де авто і як швидко воно їде
- Види машинного навчання: з учителем, без учителя, з частковим залученням учителя та інші
- Промпти, контекст і RAG: як дати моделі правильну інформацію
- Варіаційні автокодувальники (VAE): нові зображення з неперервного латентного простору
- Генеративні змагальні мережі (GAN): фальшувальник проти детектива
- Дифузійні моделі: як із чистого шуму постає зображення
- Марковські процеси ухвалення рішень: стани, дії, винагороди й рівняння Беллмана
- Q-навчання і DQN: як навчитися цінності дій — від таблиці до нейронної мережі
- Policy gradient і PPO: навчання безпосередньо політики
- Як працює ШІ-агент: мовна модель у циклі з інструментами
- Програмування з AI-агентами: завдання, тести й перевірка
- Оцінювання і безпека систем ШІ: як вимірювати і як стежити
Повна програма серії Готово: 52 з 83 тем
- Що таке вектор і скалярний добуток — і як з них обчислюють подібність слів.
- Чому матриця — це перетворення простору, що каже визначник і чому множення матриць — це композиція.
- Що шар нейронної мережі — це Wx + b з нелінійністю і що таке власні вектори, на яких стоїть PCA.
Що варто знати заздалегідь: Як читати математичний запис: символи, індекси, суми та квантори, Функції й відображення: чому кожна модель у ШІ — це функція
Якби ви розібрали будь-яку модель штучного інтелекту до самої основи, то знайшли б передусім одну операцію: множення матриць. Зображення для моделі — це таблиця чисел, слово — список чисел, шар нейронної мережі — матриця, а відеокарти такі важливі саме тому, що вміють множити матриці швидше за будь-що інше. Лінійна алгебра — це мова, якою рахує ШІ.
Ми не охоплюватимемо весь університетський курс. Розберемо лише те, що знадобиться вам у наступних частинах, — і для кожного поняття покажемо, де воно сидить в ШІ.
1. Вектори: стрілка і список чисел
Означення — вектор і дії з ним
Вектор у ℝn — це впорядкований набір із n дійсних чисел u = (u1, …, un); числа ui — його компоненти.
Сума обчислюється покомпонентно: u + v = (u1 + v1, …, un + vn). Множення на число: cu = (cu1, …, cun).
Вираз c1v1 + … + ckvk — це лінійна комбінація векторів v1, …, vk.
Вектор має два обличчя. Для комп’ютера це список чисел — ціна, площа й вік квартири. Для уяви це стрілка з початку координат до точки. Додавання векторів — це складання стрілок одна за одною: хто спершу йде за u, а потім за v, опиниться в u + v.
В ШІ вектором є майже все. Чорно-біле зображення 28 × 28 пікселів — це вектор у ℝ784. Слово в мовній моделі — вектор із сотень або тисяч компонент, так зване векторне представлення (embedding). А параметри всієї моделі — один величезний вектор θ.
2. Скалярний добуток, довжина і подібність
Означення — скалярний добуток, норма, кут
Скалярний добуток u · v = ∑i=1n uivi (також u⊤v).
Довжина (евклідова норма) ‖u‖ = √(u · u). Для кута φ між векторами cos φ = (u · v) / (‖u‖ ‖v‖); вектори перпендикулярні, коли u · v = 0.
Скалярний добуток перемножує відповідні числа й додає їх. Результат каже, наскільки два вектори «дивляться в один бік»: додатний і великий — схоже, нуль — перпендикулярно, від’ємний — протилежно.
Для u = (3, 1) і v = (1, 2) маємо u · v = 3 · 1 + 1 · 2 = 5, ‖u‖ = √10 ≈ 3,16, ‖v‖ = √5 ≈ 2,24 і cos φ = 5 / √50 ≈ 0,71 — вектори утворюють кут 45°.
Косинус кута відомий в ШІ як косинусна подібність. Уявіть собі іграшкове векторне представлення слів із трьома компонентами «тварина, домашнє, має колеса»: кіт (0,9; 0,8; 0), пес (0,85; 0,9; 0,05), авто (0; 0,3; 0,95). Подібність кота й пса дорівнює 0,995, кота й авто — лише 0,20. Саме так пошукові системи шукають «схожі» документи, а мовні моделі — «схожі» слова, тільки в сотнях вимірів замість трьох.
3. Матриці й множення на вектор
Означення — матриця і добуток матриці на вектор
Матриця розміру m × n — це таблиця дійсних чисел з m рядками й n стовпцями; Aij — елемент в i-му рядку і j-му стовпці.
Для A ∈ ℝm×n і x ∈ ℝn добуток Ax ∈ ℝm — вектор з компонентами (Ax)i = ∑j Aijxj — скалярний добуток i-го рядка на x.
Матриця — це машина для векторів: подаєте вектор і отримуєте інший. Кожен рядок матриці обчислює скалярний добуток із входом, і результат — одна компонента виходу.
A = [2 1; 1 3], x = (1, 2)
Ax = (2 · 1 + 1 · 2, 1 · 1 + 3 · 2) = (4, 7)
4. Матриця як перетворення простору
Найкращий спосіб «побачити» матрицю — подивитися, що вона робить із площиною. Кожна матриця 2 × 2 переводить сітку в іншу сітку — прямі лишаються прямими, а початок координат лишається на місці. Тому таке відображення називають лінійним. Сіре — початкова сітка, зелене — сітка після перетворення, помаранчеве — образ одиничного квадрата:
[0 -1; 1 0] · площа × 1
[1,5 0; 0 1,5] · площа × 2,25
[1 1; 0 1] · площа × 1
[1 0; 0 0] · площа × 0
Означення — визначник матриці 2 × 2
det [a b; c d] = ad − bc. Його абсолютна величина — це коефіцієнт зміни площі: одиничний квадрат переходить у паралелограм із площею |det A|.
Визначник каже, у скільки разів матриця збільшує площі. Поворот і зсув площу не змінюють (det = 1), розтяг 1,5× збільшує її у 2,25×, а проєкція сплющує площину в пряму — площа й визначник дорівнюють нулю, а те, що раз сплющилося, назад уже не розтягнеться.
5. Множення матриць — це композиція
Означення — добуток матриць
Для A ∈ ℝm×k і B ∈ ℝk×n маємо (AB)ij = ∑l AilBlj. Виконується (AB)x = A(Bx): добуток матриць — це композиція відображень — спершу B, потім A.
Множення матриць асоціативне, але загалом не комутативне: AB ≠ BA.
Перемножити дві матриці означає з’єднати дві машини одна за одною в одну. І так само, як у функцій, порядок важить: повернути, а потім зсунути — це не те саме, що зсунути, а потім повернути.
R = [0 −1; 1 0] (поворот), Z = [1 1; 0 1] (зсув)
RZ = [0 −1; 1 1], ZR = [1 −1; 1 0]
6. Шар нейронної мережі — це матриця
Тепер уже можна точно сказати, що робить один шар нейронної мережі:
y = ReLU(Wx + b)
Матриця W (ваги) і вектор b (зсув, bias) — це параметри, яких мережа навчається. Для W = [0,5 −1 2; 1 0 −0,5], входу x = (1, 2, 3) і b = (0, −1):
Wx = (0,5 − 2 + 6, 1 + 0 − 1,5) = (4,5; −0,5)
Wx + b = (4,5; −1,5), ReLU → (4,5; 0)
Шар перетворив три числа на два, а від’ємне занулив. Глибока мережа — це низка таких кроків один за одним, і без нелінійної функції (ReLU, сигмоїда) вся вона схлопнулася б в одну матрицю, бо композиція лінійних відображень — знову лінійне відображення. Коли мережа обробляє кілька входів одночасно (пакет, batch), вона складає їх у матрицю X, і весь пакет обчислюється одним множенням WX — а це саме та операція, яку відеокарти виконують найшвидше.
7. Обернена матриця і системи рівнянь
Означення — обернена матриця
Квадратна матриця A оборотна (невироджена), якщо існує A−1 з A−1A = AA−1 = I (одинична матриця). Матриця оборотна тоді й лише тоді, коли det A ≠ 0.
Для 2 × 2: [a b; c d]−1 = (1 / (ad − bc)) · [d −b; −c a]. Система Ax = y тоді має єдиний розв’язок x = A−1y.
Обернена матриця скасовує перетворення. Це можливо лише тоді, коли матриця не сплющила простір, — і саме за цим стежить визначник.
Для A = [2 1; 1 3] маємо det A = 2 · 3 − 1 · 1 = 5 і A−1 = [0,6 −0,2; −0,2 0,4]. З відомого результату (4, 7) ми так отримуємо назад вхід (1, 2). Так у замкненому вигляді обчислюється і лінійна регресія: метод найменших квадратів зводиться до системи нормальних рівнянь (X⊤X)θ = X⊤y.
8. Власні значення і власні вектори
Означення — власне значення і власний вектор
Ненульовий вектор v — це власний вектор матриці A із власним значенням λ, якщо Av = λv.
Власні значення — корені рівняння det(A − λI) = 0. Симетрична матриця має дійсні власні значення і взаємно перпендикулярні власні вектори.
Більшість векторів матриця повертає кудись інакше. Власні вектори — винятки: матриця їх лише розтягує або вкорочує, напрям лишається. Власне значення каже, у скільки разів. Це «природні осі» перетворення.
Власні значення матриці [2 1; 1 3] дорівнюють (5 ± √5)/2, тобто ≈ 3,62 і ≈ 1,38. Еліпс у напрямку першого власного вектора розтягнутий у 3,62×, у напрямку другого — у 1,38×. Сірі стрілки в довільному напрямку після перетворення повертаються, помаранчеві осі — ні. На цьому стоїть метод головних компонент (PCA): власні вектори коваріаційної матриці даних показують напрями, у яких дані відрізняються найбільше, а власні значення — наскільки.
9. Лінійна алгебра в штучному інтелекті
- Дані — це матриця: рядок — приклад, стовпець — ознака.
- Векторні представлення (embeddings) — це вектори; подібність вимірюють скалярним добутком або косинусом.
- Шар мережі — це Wx + b і нелінійність; навчання змінює елементи матриць W.
- Увага (attention) у трансформерах обчислює скалярні добутки всіх запитів (queries) з усіма ключами (keys) одночасно — множення матриць QK⊤.
- PCA і стиснення шукають власні вектори, рекомендаційні системи розкладають матрицю «користувач × фільм» на добуток менших матриць (матрична факторизація).
10. Підсумок
- Вектор — це і список чисел, і стрілка; додається покомпонентно.
- Скалярний добуток вимірює, наскільки два вектори дивляться в один бік, — косинусна подібність є його нормованою версією.
- Матриця — лінійне перетворення простору; визначник каже, у скільки разів змінюється площа, а нуль означає, що перетворення не можна скасувати.
- Множення матриць — це композиція перетворень, а шар нейронної мережі — це Wx + b з нелінійністю.
- Власні вектори — напрями, які матриця лише розтягує; на них стоїть PCA.
Маєте іншу думку? Напишіть на support@coden-app.com.