# Искусственный интеллект: какой он изнутри и почему?

Елена Георгиевна Конюшкова

Порою банальные мысли приходят не так скоро, как должны бы. То, что я написала ниже очевидно до банальности, но мне это пришло в голову лишь недавно. Подозреваю, что многим еще не пришло, и, быть может, никогда не придет. Даже если они программисты. Чего уже говорить о всех прочих, ничего не видящих за этими программными закорючками? Ограничимся пока кругом людей, что-то понимающим в программировании. Ведь его давно уже даже в школе проходят. Потому спешу поделиться со всеми, не столь близкими к теме, но любознательными, этими простыми рассуждениями.

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


Несмотря на это, мы научились ставить задачи в формате этих алгоритмов, обучать их и получать интересные результаты. Но как только речь заходила о том, почему эти программы работают столь странным образом, все разводили руками: понятия не имеем! Результаты получаем, а объяснить не можем! Фантастика!


Я бы даже сказала - оксюморон. То бишь, известное неизвестное. Как хотите, так и понимайте. И эта фантастика длится, заметьте, уже годами.


Хочешь - не хочешь, а придется коснуться сути алгоритмов, дабы внести ясность. Конечно, полное понимание тут не может быть достигнуто (без программ), но хотя бы общие очертания.


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


И вот эта особенность алгоритмов была непонятна даже специалистам, программирующим эти ИИ. Никто толком не мог сказать, почему алгоритмы мозга составлены именно таким образом. Однако результат достигался.


Фактически мы имеем дело с интерполяцией, которую начинаем со случайных коэффициентов (весов) и доводим до значений, описывающих реальный процесс.

Не зная сначала значимость объекта, мы назначаем случайные коэффициенты.


Но почему? Ведь, зная обрабатываемый процесс, лучше начинать сразу с приемлемых значений? Оказывается, нет. Потому что, мы не знаем, какие приемлемы. Не забывайте, алгоритмы скопированы с работы мозга. А чем вообще по жизни занимается наш мозг? Очевидно: обработкой всего нами так или иначе воспринятого плюс последующие размышления и т.д. Что характерно для восприятия в широком смысле? Оценка окружающей реальности, как в общем, так и в деталях. Для чего? Для того, чтобы знать, как себя вести в этой среде наилучшим для себя образом.


А какая может быть обстановка? Любая. В общем случае заранее неизвестно. Именно потому, что обстановка может быть любая, т.е. случайная, программы начинают работу со случайных цифр, то бишь, значений весов. То есть, значимость объекта на первых шагах неизвестна. Судя по всему, эти веса с их колебаниями пытаются встроить данный объект в систему уже сложившихся объектов так, чтобы он гармонично "ужился" с ними, образуя достоверный образ уже сложившегося реального мира. Мы формируем свой внутренний мир, чтобы ориентироваться во внешнем. Этим, если говорить обобщенно, исчерпываются базовые задачи мозга.


Когда мы пишем конкретные программы для ИИ, эта банальная мысль - мозг оценивает реальность - как-то теряется за насущными проблемами. Однако именно таким вероятностным (!!) образом мы оцениваем реальность. А программы, которые мы пишем, имеют дело с локальными данными, и потому выглядят несколько странно, оторванные от своего базового глобального контекста.


И теперь становится понятным, почему программы для ИИ именно такие. И всего-то! А сколько писали в разных статьях, что якобы, хотя результаты были получены, но понять смысл работы программ невозможно даже работающим там программистам! Оказалось, возможно.