Как ни посмотришь на выступления популяризаторов технологии, так обязательно натолкнешься на бодрого молодого (или не очень) человека с горящими, но усталыми, мудрыми глазами, который расскажет о надвигающемся светлом будущем господства нейронный сетей. “Искусственный интеллект на подходе” - заключит докладчик и снисходительно посмотрит в зрительный зал! Доклад будет живым, с юмором и слайдами про поиск и генерацию изображений разных фигур, людей и котят. Будущее уже наступило, осталось только еще немножечко потренировать нейронки и вот уже машина научится думать сама и нашей многострадальной цивилизации придет конец.

Ой ли? Да и вообще!? О чем идет речь?

Как устроен компьютер? Это устройство, которое воспроизводит некую заданную последовательность действий. Для нашей истории не так важно каких именно действий. Главное эта последовательность должна существовать. Такая последовательность действий называется алгоритмом и это открытие было сделано совсем недавно. Ведь раньше математики оперировали только формулами, уравнениями. Но такие ребята как Гёдель и Тьюринг показали, что любое математическое уравнение можно свести к последовательности действий и эту последовательность может проделать машина.

Вот нужно нам “предсказать” как полетит снаряд. У нас есть уравнение, которое может быть выражено в последовательности действий для машины, и машина, исполняя эту последовательность, может вычислить верный ответ. Это путь цифровой вычислительной машины.

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

Итак! Ключевое понятие - “знание уравнений”.

А вот представьте себе, что мы не знаем уравнение движения, но уже научились паять. Бросили камешек, посмотрели куда упадет, перепаяли проводки. Опять бросили камешек, если наш аналоговый комп не угадал куда упадет камешек (недолет/перелет), опять перепаяли, подпаяли, подкрутили. И так много-много раз. Пока наш аналоговый комп не станет угадывать куда камешек (или снаряд) упадет. Это мы назовем “глубоким обучением”.

И вот перед нами другая задача. Мы покажем машине бумажку на которой нарисован треугольник и попросим машину сказать “ДА” если там треугольник. Как написать такую программу. Для этого нам же необходимы уравнения. Надо как-то долго думать, вычислять расстояние точек, зависимости расположения точек и пытаться алгебраическим путем решить это треугольник или нет. А если показать окружность? А если показать котика? Есть ли у нас универсальные уравнения изображения котика которое мы может формализовать в последовательность команд для машины?

Нет у нас универсальной формулы котика. Что делать.

Мы создадим модель аналогового компьютера и после каждого показа картинки будем “перепаивать” подправлять нашу схему чтобы она в итоге более-менее точно стала находить треугольник (или котика). У нас есть понимание сути котика, есть алгоритм отображения котика? У нас есть фактор понимания сути котика или его отличности от треугольника? Нет. У нас есть только набор искусственно подогнанных аналоговых фильтров, которые получая некий набор сигналов и суммируя их с определенной степенью уверенности, может сказать похож сигнал на нечто под номеро 1 или 2.

Далее история немного усложнилась. Опираясь на биологов инженеры подумали, что совершенно незачем распознавать весь сигнал целиком. Можно распознать фрагмент сигнала. горизонтальную черточку, вертикальную, волнистую. А если мы распознали совокупность элементов, то их ансамбль сложится в мозаику более сложного объекта.

Точность аналогового компьютера увеличилась. Такой сумматор стали называть “свёрточной нейронной сетью”.

Иными словами, мы создали сложный аналоговый сумматор для выявления шаблонов в потоке сигналов и запрограммировали его в цифровой машине. Процесс подгонки готовых решений (с постоянным заглядыванием в ответ) называем “глубоким обучением”.

Можно ли на основе аналоговых алгоритмов распознавания сигнальных паттернов, и не зная собственно алгоритмов мышления, создать мышление? Старый вопрос, причем вопрос уже философский.