Том 33. Разум, машины и математика. Искусственный интеллект и его задачи | страница 40
Нечто похожее происходит с ребенком, который не учится умножать, а запоминает таблицу умножения. Если мы попросим его найти произведение двух чисел из таблицы, он ответит без запинки, но если мы попросим его перемножить два других числа, ребенок задумается.
Таблицы умножения — прекрасный пример обучения путем запоминания.
* * *
С годами архитектура нейронных сетей и методы обучения усложнялись. Постепенно возникло множество разновидностей нейронных сетей для решения самых разных задач реальной жизни. Сегодня наиболее часто используются нейронные сети Хопфилда, в которых реализован механизм запоминания под названием «ассоциативная память».
Схема нейронной сети Хопфилда.
В ассоциативной памяти информация упорядочена по содержанию. Следовательно, для доступа к ней необходимо указать содержание информации, а не ее физическое расположение, как при чтении с жесткого диска или из оперативной памяти компьютера.
Другой тип нейронных сетей, широко используемых сегодня, это самоорганизующиеся карты Кохонена. Нейронные сети этого типа содержат новаторское решение: их обучение происходит не под наблюдением. Напротив, сама сеть учится на своих ошибках.
В физике существует отдельная дисциплина, инверсная кинематика, которая занимается расчетом движений, необходимых для того, чтобы переместить предмет из точки А в точку В. По мере внесения в систему новых степеней свободы сложность расчетов (различных операций над матрицами) возрастает экспоненциально.
Рассмотрим в качестве примера роботизированную руку с выдвижным манипулятором, способную вращаться в четырех местах. Если мы будем решать матричные уравнения инверсной кинематики классическим способом, то даже суперкомпьютеру потребуется несколько часов на то, чтобы определить, как именно необходимо сместить руку в каждом направлении, чтобы переместить инструмент, закрепленный в манипуляторе, из точки А в точку В.
Таким образом, при реализации роботизированных систем, способных изменять траектории движения в реальном времени, классические методы решения матричных уравнений неприменимы. Если речь идет о роботах, систематически выполняющих одни и те же задачи (это могут быть роботы на сборочном конвейере автомобильного завода), то можно заранее рассчитать и последовательно запрограммировать работу моторов и выдвижного манипулятора. Но если мы хотим сконструировать роботизированную руку, способную действовать автономно и координировать движения в зависимости от ситуации (представьте себе роботов, которые используются на космических кораблях, в хирургии или первых экспериментальных домашних роботов), то нам потребуются более передовые системы, способные быстро вычислять, как именно должны двигаться детали робота, чтобы выполнить поставленную задачу.