Глиф Учебники

Урок 1. Что такое ИИ, машинное обучение и нейросеть

Курс «Искусственный интеллект» · урок 1 из 8 · 5 минут чтения

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

Обычная программа и ИИ

Обычная программа выполняет правила, которые написал программист: «если сумма покупки больше 100 рублей — дать скидку 5 %». Так хорошо решаются задачи, где правила известны и их можно записать: расчёты, учёт, расписание.

А теперь попробуйте записать правила, по которым вы узнаёте кошку на фото. Уши, усы, шерсть — но у каждой кошки они свои, на фото разный свет, кошка может быть повёрнута боком или наполовину спрятана за диваном. Правил получатся тысячи, и всё равно они будут ошибаться.

Для таких задач и нужен искусственный интеллект (ИИ). Так называют программы, которые справляются с тем, что раньше умел только человек: узнать лицо, понять речь, перевести текст, ответить на вопрос, нарисовать картинку. Сам термин появился в 1950-х годах, но по-настоящему ИИ вошёл в обычную жизнь в последние полтора десятка лет — когда появились большие объёмы данных и мощные видеокарты.

Машинное обучение

Машинное обучение (machine learning, ML) — способ, которым сегодня делают почти весь ИИ. Вместо правил программе дают много примеров с ответами: тысячи фото с подписями «кошка» и «не кошка». Программа сама подбирает правило, которое лучше всего совпадает с примерами. Этот процесс называется обучением, а то, что получилось в итоге, — моделью.

Обычная программаМашинное обучение
Что даёт человекПравилаПримеры с ответами
Что получаетсяОтвет по правиламМодель, которая сама находит ответ
Где сильнаРасчёты, учёт, игры по правиламФото, речь, текст, прогнозы

Обученная модель отвечает и на новые примеры, которых не было при обучении: на новое фото, новое письмо, новый вопрос. Ради этого её и обучают.

Обычная программа Правила пишет человек если сумма покупки больше 100 рублей — дать скидку 5 % Программа выполняет правила Ответ по правилам скидка: да или нет Машинное обучение Примеры с ответами даёт человек, тысячи фото «кошка» «не кошка» Обучение подбирает правило Модель сама находит ответ «кошка» новое фото
Обычная программа выполняет правила, написанные человеком; при машинном обучении человек даёт примеры с ответами, обучение подбирает правило, и модель отвечает на новые фото.

Машинное обучение бывает трёх основных видов:

Нейросеть

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

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

Python
def neuron(inputs, weights, bias):
    total = bias
    for x, w in zip(inputs, weights):
        total += x * w
    return 1 if total > 0 else 0

# Веса: тепло, дождь, свободное время
weights = [2, -3, 1]
bias = -2

days = [[1, 0, 1], [1, 1, 1], [0, 0, 1], [1, 0, 0]]
for day in days:
    answer = neuron(day, weights, bias)
    print(day, "гулять" if answer else "остаться дома")
Вывод
[1, 0, 1] гулять
[1, 1, 1] остаться дома
[0, 0, 1] остаться дома
[1, 0, 0] остаться дома

Разберите первый день: −2 + 2 + 0 + 1 = 1, сумма больше нуля — гулять. У дождя вес отрицательный и большой (−3), поэтому дождь перевешивает и тепло, и свободное время. Число bias (смещение) — порог: без тепла и свободного времени вместе сумма не выходит в плюс.

входы: 1 — да, 0 — нет веса вход × вес тепло 1 дождь 0 свободное время 1 × 2 × −3 × 1 2 0 1 смещение bias −2 сумма −2 + 2 + 0 + 1 = 1 1 > 0 выход 1 гулять
Нейрон из примера для первого дня: каждый вход умножается на свой вес, к произведениям прибавляется смещение −2, сумма 1 больше нуля — выход 1, «гулять».

Здесь веса подобраны вручную. Обучение нейросети — это как раз автоматический подбор весов. Сеть отвечает на примеры, её ответы сравниваются с верными, и веса понемногу сдвигаются так, чтобы ошибок стало меньше. Это повторяется много раз, пока ошибки не перестанут уменьшаться.

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

Как всё это связано

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

Что ИИ умеет и чего не умеет

Модель хорошо находит закономерности в огромных объёмах данных и работает быстро: распознаёт речь, переводит, сортирует письма, находит похожие картинки. Но у неё нет понимания мира, как у человека. Модель знает только то, что было в её примерах. Если кошки в данных были сфотографированы только дома, кошку на снегу модель может не узнать. Если в данных были ошибки или перекосы, модель их повторит.

Поэтому ответ модели — это обоснованная догадка, а не истина. В важных делах её проверяет человек.

Коротко

Проверьте себя

1. Чем машинное обучение отличается от обычного программирования?
2. Что меняется при обучении нейросети?
3. Что ответит нейрон из урока для входа [1, 1, 0] — тепло, дождь, свободного времени нет?
4. Как связаны нейросети и машинное обучение?
5. Почему модель, обученная на фото кошек только в комнате, может не узнать кошку на снегу?