Hello World. Как быть человеком в эпоху машин | страница 59



Конечно, можно добавить команды для каждого такого случая, предусмотреть все вероятные типы собачьего уха и шерсти, различные позы, в которых сидят собаки, но прежде чем вы начнете кое-как отличать собак от других предметов и существ с четырьмя ножками или лапами и ворсом или шерстью, программа разрастется до неудобоваримого объема и станет непригодной для работы. Надо придумать что-то другое. Есть одна хитрость — можно отойти от подробно описанных процедур и взять на вооружение так называемую искусственную нейронную сеть, или просто нейросеть>[159].

Нейросеть можно представить в виде колоссальной математической структуры со множеством рычажков и ручек настройки. Вы вводите в нее картинку, нейросеть пропускает ее через себя и на выходе выдает результат — что там изображено. Варианты ответа на каждом этапе: “Собака” или “Не собака”.

Поначалу нейросеть абсолютно бесполезна. У нее нет исходной информации, и она не имеет ни малейшего понятия, что является собакой, а что нет. Все рычажки и ручки повернуты как попало. Результаты сумбурны и лишены логики, машина не разглядела бы на фото собаку, даже если это было бы необходимо для бесперебойной работы ее источника питания. Однако с каждой следующей картинкой вы подстраиваете ручки и рычажки. Мало-помалу вы обучаете нейросеть.

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

Удивительно, что операторы нейросетей обычно не понимают, как и почему алгоритм делает тот или иной вывод. Отбирая изображения собак, нейросеть не ищет те характерные особенности, которые мы с вами считаем собачьими. Степень сходства с определенной породой, будь то чихуахуа или дог, машину не интересует, она ориентируется на гораздо более абстрактные параметры, такие как контуры фигуры и светотень, которые человеку мало что говорят (взгляните на пример распознавания изображения из главы “Власть”, и вы поймете, что я имею в виду). Поскольку человеку трудно осмыслить этот процесс, операторы знают лишь, что они скорректировали свои алгоритмы так, чтобы те выдавали верные ответы, а подробности работы алгоритмов не всегда известны.