18+
реклама
18+
Бургер менюБургер меню

Максим Байтович – Нейросети. Роадмап (страница 2)

18

Потому что «Бабушка» и «Собака» — это не числа вроде цвета и размера. Это сложные концепции.

Решение нашли не в новых идеях (идея нейросетей стара), а в железе и данных. Появились мощные видеокарты, и мы смогли строить глубокие сети (Deep Learning).

Как это работает?

Представьте конвейер на заводе.

Первый слой (низкий уровень): Смотрит на пиксели и учится видеть линии и границы. Горизонтальная линия, вертикальная, угол в 45 градусов.

Второй слой: Собирает линии в фигуры. «О, круг!», «О, треугольник ушей!».

Третий слой: Собирает фигуры в части объектов. «О, это похоже на глаз!», «А это — на нос».

Четвертый слой: Собирает части в объекты. «Глаза + уши + морда = Кошка».

Чем глубже сеть, тем более абстрактные вещи она видит. Нейросеть буквально строит иерархию понимания.

Итак, почему это не магия?

Магия — это когда вы не знаете правил.

Нейросеть — это когда правила выучены алгоритмом, но мы можем залезть внутрь и посмотреть, какие веса стали большими, а какие маленькими.

В следующих главах мы перестанем бояться и начнем пользоваться этим инструментом. Но запомните главное из этой главы:

Нейросеть — это статистическая машина, которая учится на примерах, подбирая миллионы чисел (весов), чтобы превращать входные данные (текст, картинку) в нужный результат (ответ, подпись).

Мини-итог главы 1:

Искусственный нейрон — это очень простое устройство: умножил, сложил, сравнил с порогом.

Сеть нейронов — это универсальный «подгоняльщик» формул. Она может выучить любую сложную зависимость.

«Обучение» — это процесс автоматической подстройки весов, чтобы уменьшить количество ошибок.

Глубина (много слоев) позволяет сети видеть в данных нечто большее, чем видит человек-аналитик.

Глава 2. Математический минимум (Без паники!)

или «Почему ваш калькулятор вдруг стал гением»

Страшное слово, которое все боятся

Признаюсь честно: когда я впервые открыл учебник по машинному обучению, на второй странице меня встретила формула, похожая на заклинание из «Гарри Поттера». Там были греческие буквы, двойные суммы и значки, которые я не видел со школы. Я закрыл вкладку и пошел смотреть сериал.

Прошло несколько лет, и я понял удивительную вещь: нейросети строят не математики. Ну, то есть математики их придумали, но пользуются ими — дизайнеры, маркетологи, врачи, журналисты и даже дети. И все они прекрасно живут без высшей математики.

Но есть одно «но».

Если вы хотите не просто пользоваться нейросетями, а понимать, почему они иногда тупят, и как их приручить — вам нужно освоить три простые идеи. Всего три. Я обещаю, что объясню их так, как объяснил бы другу за кружкой пива.

Вот они:

Градиентный спуск — как нейросеть учится на ошибках.

Матрицы — как компьютер хранит информацию.

Вероятность — почему нейросеть никогда не уверена на 100%.

Поехали.

Идея первая: Градиентный спуск, или Как слепой человек находит дно долины

Представьте, что вы стоите на склоне горы. Ночь. Туман. Вы ничего не видите. Но вам нужно спуститься вниз, в долину, где находится решение вашей задачи (например, идеальный рецепт борща).

Что вы сделаете? Вы потрогаете землю ногой. Если под ногой есть наклон влево — вы шагнете влево. Если впереди круто вниз — шагнете вперед. Вы будете делать маленькие шаги в сторону наибольшего наклона.

Рано или поздно вы окажетесь на дне.

Именно это делает нейросеть.

Только вместо горы — ландшафт ошибки. Чем выше вы находитесь — тем больше нейросеть ошибается. Чем ниже — тем она умнее. А вместо ноги — математическая операция, которая называется «производная». Она показывает, в какую сторону нужно изменить веса (те самые числа внутри нейронов), чтобы ошибка стала чуть меньше.

Важные детали, которые объясняют поведение нейросетей:

Шаг обучения (Learning Rate). Если вы будете шагать слишком широко, вы перепрыгнете долину и окажетесь на другом склоне. Ошибка не уменьшится, а увеличится. Если шагать слишком маленькими шажками — вы будете спускаться вечность, и обучение займет годы. Инженеры тратят кучу времени, чтобы подобрать правильный размер шага.

Локальный минимум (Ловушка). Иногда вы спускаетесь и попадаете в маленькую ямку на склоне горы. Вам кажется, что вы на дне. Но на самом деле настоящая долина — еще ниже, за перевалом. Нейросети иногда «застревают» в таких ямках и думают, что уже всему научились, хотя на самом деле могли бы быть умнее. Поэтому иногда мы запускаем обучение заново с другой точки горы.

Итерации (Эпохи). Нейросеть не спускается за один раз. Она делает шаг, смотрит на результат, делает еще шаг. Один проход по всем данным называется «эпохой». Иногда нужно 10 эпох, иногда — 1000. Поэтому обучение нейросети занимает часы, дни, а иногда и недели.

Запомните эту картинку: Нейросеть — это слепой путник, который спускается с горы ошибок, делая маленькие шаги в сторону наибольшего наклона. Никакой магии. Просто терпение и миллионы шагов.

Идея вторая: Матрицы, или Почему фотография — это просто таблица

Когда вы смотрите на фотографию кота, вы видите кота. Когда компьютер смотрит на ту же фотографию, он видит таблицу чисел.

Серьезно.

Любая картинка — это прямоугольник, разбитый на пиксели. Каждый пиксель — это три числа: сколько в нем красного, зеленого и синего (RGB). Если картинка размером 1000×1000 пикселей, то это миллион пикселей и три миллиона чисел.

Матрица — это просто таблица чисел. Ничего страшного. В Excel вы каждый день работаете с матрицами, даже не замечая этого.

А теперь представьте, что текст — это тоже матрица. Каждое слово — это вектор (набор чисел), который отражает его смысл. Например, слово «король» может быть закодировано так, что оно будет находиться в математическом пространстве рядом со словом «мужчина», но далеко от слова «огурец».

Компьютеры любят матрицы. Видеокарты (те самые GPU, которые нужны для нейросетей) — это машины по перемножению гигантских таблиц чисел с невероятной скоростью. Когда вы слышите, что «обучение идет на мощном железе», знайте: там просто очень быстро перемножают таблицы.

Зачем вам это знать? Чтобы не бояться слова «тензор». Тензор — это злая версия матрицы. Матрица — это прямоугольная таблица (2D). А тензор — это таблица в 3D, 4D или вообще 100D. Но суть та же: просто числа, разложенные по полочкам.

Идея третья: Вероятность, или Почему нейросеть никогда не говорит «Я не знаю»

Спросите у ChatGPT: «Какова столица Франции?»

Он ответит: «Париж» — и будет уверен.

Но на самом деле внутри него нет железобетонного факта «Париж — столица». Внутри — распределение вероятностей.

Нейросеть смотрит на ваши слова и вычисляет: с какой вероятностью следующее слово в ответе должно быть именно «Париж», а не «Лион», «Бордо» или «Крокодил».

Для слова «Париж» вероятность 99.9%.

Для слова «Лион» — 0.05%.

Для слова «Крокодил» — одна миллиардная процента.

Но она выбирает из этого списка. И иногда выбирает неправильно! Именно поэтому нейросети иногда «галлюцинируют» — выдают красивую и уверенную чушь. Они не врут специально. Просто в их вероятностной таблице слово «чушь» на долю секунды показалось им самым подходящим, и они его выдали с апломбом профессора.

Отсюда два практических вывода:

Никогда не доверяйте фактам от нейросети на 100%. Она — генератор вероятных текстов, а не база данных. Проверяйте.

Параметр «Температура» (о котором мы поговорим позже) — это ручка настройки азарта. Если понизить температуру — сеть будет выбирать самые вероятные слова (будет скучной, но точной). Если повысить — начнет импровизировать и халлюцинировать (будет креативной, но неадекватной).

Маленькое резюме

Я прошу вас запомнить из этой главы всего три вещи:

Обучение — это слепой спуск с горы ошибок. Нейросеть делает шажок, смотрит, ошиблась ли она, и корректирует направление.