tariel.ge › Полезное: бесплатные книги › ИИ изнутри: от нейрона до своей моделиБесплатно · автор Тариел Бежанидзе
← ИИ изнутри ЛИСТ 02ФундаментРЕВ. 1
Глава 02 · Фундамент

Нейрон: три операции, из которых состоит всё

Умножить, сложить, согнуть. Из этих трёх операций собраны все модели мира, включая те, что рисуют картинки и пишут код.

Один нейрон целиком

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

  1. Умножает каждый входной сигнал на свой коэффициент — вес.
  2. Складывает всё это, добавляя постоянную поправку — смещение.
  3. Пропускает сумму через нелинейную функцию — активацию.
нейрон на трёх входах
вход:      x₁     x₂     x₃
вес:       w₁     w₂     w₃

сумма  =  x₁·w₁ + x₂·w₂ + x₃·w₃ + b
                                  ↑ смещение

выход  =  f(сумма)
              ↑ активация

Всё. Больше внутри нейрона ничего нет.

Знакомая аналогия

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

Разница только в одном

В вашей схеме номиналы резисторов выбираете вы, исходя из расчёта. В нейросети веса подбирает алгоритм, глядя на примеры. Глава 04 — про то, как именно.

Конкретный пример

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

подобранные обучением веса
напряжение в норме?    x₁ = 1     w₁ = +2.0    → сильный довод «исправен»
пульсации высокие?     x₂ = 1     w₂ = -3.0    → сильный довод «неисправен»
перегрев?              x₃ = 0     w₃ = -2.5    → не сработал

сумма = 1·2.0 + 1·(-3.0) + 0·(-2.5) + 0.5  =  -0.5

выход: отрицательно → «неисправен»

Обратите внимание: знак веса — это направление довода, а модуль — его сила. Пульсации весят −3.0, то есть перевешивают нормальное напряжение с его +2.0. Именно такие соотношения и подбираются при обучении.

Зачем нужна нелинейность

Самый неочевидный и самый важный пункт главы. Без активации вся сеть, сколько бы слоёв в ней ни было, схлопывается в одно-единственное линейное преобразование.

Почему так

Линейная функция от линейной функции — снова линейная. Сто слоёв умножений и сложений математически эквивалентны одному слою с другими коэффициентами. Глубина не даёт ничего. Нелинейность — единственное, что позволяет слоям добавлять выразительность, а не дублировать друг друга.

Практический смысл: линейная модель может провести только прямую границу. Задачи вроде «исправно, если напряжение в норме и пульсации низкие, но при перегреве всё равно нет» прямой не разделяются. Нелинейность даёт возможность гнуть границу.

Какие бывают активации

НазваниеЧто делаетГде встречается
ReLUОтрицательное обнуляет, положительное пропускает как естьРабочая лошадка. Проста и быстра
GELUТо же, но со сглаженным переходом около нуляСовременные языковые модели
SiLU / SwishПохожа на GELUМногие свежие архитектуры
SigmoidСжимает что угодно в диапазон от 0 до 1Выход, когда нужна вероятность
TanhСжимает в диапазон от −1 до 1Старые архитектуры
SoftmaxПревращает набор чисел в вероятности, дающие в сумме единицуПоследний слой классификатора
ReLU — почти диод

Отрицательное не пропускает, положительное пропускает без изменений. Ровно идеализированный диод из вашей схемотехники. Именно за счёт такой предельной простоты она и вытеснила более «математичные» варианты: быстро считается и хорошо обучается.

Softmax — стоит понять отдельно

Она вам ещё встретится и во внимании (глава 08), и при генерации текста. Задача: превратить произвольные числа в вероятности.

пример
сеть выдала оценки:   драйвер 3.2   кристалл 1.1   конденсатор 0.4

после softmax:        драйвер 0.79  кристалл 0.16  конденсатор 0.05
                                    в сумме ровно 1.0

Обратите внимание на важное свойство: softmax усиливает разрыв. Разница между 3.2 и 1.1 была троекратной, стала почти пятикратной. Это потому, что внутри стоит возведение в степень. Свойство пригодится, когда будем говорить о температуре при генерации текста.

Сколько нейронов нужно

ЗадачаПорядок
Разделить две группы точек прямойОдин нейрон
Логическое «исключающее или»Три-четыре, в два слоя
Узнать рукописную цифруТысячи
Узнать объект на фотографииМиллионы
Понимать и писать текстМиллиарды

«7B» из названия модели — это и есть количество весов и смещений, сложенных вместе. Семь миллиардов чисел, каждое из которых участвует в описанных трёх операциях.

Проверьте, что поняли

Что дальше

Один нейрон почти ничего не умеет. Соберём из них сеть и посмотрим, откуда берётся способность узнавать сложное.

Глава02 — Нейрон: три операции, из которых состоит всё
БлокФундамент
Далее03 — Сеть: слои, веса и откуда берутся миллиарды
Ревизия1
↑ Оглавление Предыдущая глава← 01 · Что значит «научиться»: правило против примера Следующая глава03 · Сеть: слои, веса и откуда берутся миллиарды →

Бесплатная книга · tariel.ge · версии инструментов и команды проверяйте в документации проектов

Книга бесплатна для чтения. Автор — Тариел Бежанидзе, компьютерный мастер в Батуми · tariel.ge · все бесплатные книги. Копировать текст целиком на другие сайты — только со ссылкой на источник.