⚡Не политический пост
Глава 3. Эйфория цифрового человечества
⏰С момента завершения предыдущей части прошло довольно много времени, и я как-то грешным делом подумал забросить окончание размышлений на эту тему. До лучших времен, тем более, что актуальны сейчас вроде бы совсем другие вопросы.
Но нет... То и дело сталкиваюсь с восторженными отзывами об искусственном интеллекте (ИИ) — буквально как о новой панацее, которая сделает жизнь человечества "лучше".
🤖Действительно, ИИ уже и в шахматы играет лучше человека, и картины рисует, и даже музыку сочиняет!.. "Вот! — говорят его поклонники, — Он уже преодолел барьер творчества!.." Да, продолжают они, сейчас это все пока неважно выглядит и звучит, но потом... Потом все изменится! Ведь машинное обучение — великая сила. А значит, эти ИИ "научатся" со временем всему, что нужно...
Так что, думаю, пора все же поговорить о том, что из себя представляет искусственный интеллект в плане его организации, а также способов "машинного обучения".
Часть 1. Искусственный интеллект?
👉Искусственная нейронная сеть (ИНС) состоит из нейронов — обработчиков (процессоров) сигналов, которые принимают определенные сигналы (один или несколько), обрабатывают их некоторым образом, и передают сигналы другим нейронам или на выходы сети. Таким образом, ИНС можно представить как некий черный ящик, у которого есть несколько входов и несколько выходов, результат которых зависит от сигналов на входах.
Создание нейронных сетей изначально было связано с моделированием процессов в человеческом мозге и только потом его стали применять к решению некоторых практических задач — в основном, распознавания образов (различного типа).
Нейронные сети бывают однослойными и многослойными. В первом случае входные сигналы обрабатываются одним слоем нейронов, которые принимают их и сразу формируют выходы сети. Во втором случае выходы первого слоя передаются на второй, снова обрабатываются и передаются далее — по слоям, до тех пор, пока эта цепочка не "дойдет" до выхода.
👨🎓Обучение нейронной сети предполагает определение некоторых специальных чисел — весовых коэффициентов, которые использует нейрон для преобразования входных чисел (одного или нескольких). Он эти числа умножает — каждое на свой коэффициент (постоянный, разумеется) — и складывает общую сумму. После этого над полученной суммой может быть произведено еще какое-либо функциональное преобразование — и полученное значение уходит дальше по сети или на выход.
Так вот... на вход нейросети подается некоторый известный массив данных, про которые точно известно — что должно получиться на выходе... И тогда, по сути, получается некоторая система уравнений относительно неизвестных коэффициентов. Она решается примерно так, как это проделывал каждый из нас в школе на уроках математики — и получаются эти самые неизвестные коэффициенты.
Естественно, входные данные могут содержать (и чаще всего — так оно и есть) ошибки-шумы. Тогда решение несколько усложняется. В частности, при "зашумленной" системе — чем больше мы имеем известных примеров — тем точнее получится в решение. Поэтому исходная база должна быть как можно более широкой.
❗Тут можно сразу подметить, что если подходящего массива входных данных — с известными наперед решениями — нет, то и обучение сети становится невозможно. Проще говоря — если не знаешь, что должно получиться, то и не понятно, что делать...
Конечно, существуют некоторые маневры, позволяющие несколько обойти жесткие ограничения. Можно сформулировать некий условный критерий качества результата, чтобы нейросеть "училась" на нем. Но вот если нет критерия — нет обучения нейросети. Она, по сути, неспособна решить задачу с неизвестным решением.
🎲Для шахмат все понятно: есть набор позиций и есть известный, уже ставший очень качественным, алгоритм оценки позиции на шахматной доске, который выдает некоторое число, выражающее преимущество одного игрока над другим. Идеальное сочетание для обучения ИИ!
А в шашки, которые еще более формализованы и ограничены, у компьютера выиграть уже просто невозможно! Математически нельзя, потому что игра просчитана. Полностью!
С шахматами пока не совсем так...
🎓Но это совсем не человеческий поиск ученого, который иногда не знает, что может получить, но все равно двигается к некоей — иногда далеко не количественно выраженной — цели. И это не творческий процесс художника 🌄 или композитора 🎼, который ведом чем-то трансцендентальным, вообще не имеющим в нашем (нынешнем, скажем осторожно) понимании количественного выражения!
Я попрошу прощения у читателя за, быть может, несколько избыточную "техничность" написанного в нескольких предыдущих абзацах, но я постарался свести ее к минимуму. И нужно еще немного остаться в русле этой "технической" направленности, чтобы добраться до сути вопроса.
***
👉В теории управления (технического) одними из важнейших понятий являются устойчивость системы и вытекающая из нее необходимость линейности системы. Оба этих понятия связаны с одним правилом: малое управляющее воздействие должно вызывать только сопоставимо малые изменения в характере работы системы.
Оно и понятно: если слегка отклонив ручку регулятора пилот получает резкий бросок, скажем, вертолета, в сторону, то такая система управления никому и даром не нужна. Более того, у технической системы есть запас прочности, и выводить ее предельными нагрузками за рамки прочности просто вредно — она не умеет самосовершенствоваться! Только сломается, и дело с концом.
✅Поэтому традиционный подход к управлению сложными системами, для которых формальные законы (математические) управления написать нельзя (или крайне затруднительно) — состоит в следующем:
1) линеаризовать систему в некотором режиме ее работы (как говорят, в окрестности некоторого состояния системы);
2) написать соответствующую этому состоянию линейную систему уравнений;
3) решить ее и получить систему управления.
В математике есть такое понятия — интерполяция, то есть приближение некоторой неизвестной функции известной между заданными известными значениями, чтобы получить возможность пользоваться этим приближением на всем необходимом интервале неизвестной функции.
Примерно это же имеет место и при линеаризации системы управления. И вот тут как нельзя кстати приходится нейронная сеть. Ведь она, по существу, именно это и делает: приближает некоторую неизвестную функцию (передаточную функцию, как ее иногда называют, потому что она преобразует вход в выход) совершенно линейной комбинацией известных функций. То есть решает задачу линейной интерполяции неизвестной передаточной функции.
❗Таким образом, в моем понимании, нейронная сеть — это не более чем способ приближения некоторой неизвестной функции (передаточной или управления) линейной комбинацией известных функций.
Это то же самое, что издавна делали все построители всех технических систем управления, только другим — более "ленивым", скажем так — способом. Ни о какой революции речи не идет и идти не может. Она идет всего лишь о решении старой задачи новым способом.
Это конечно, немало, спору нет! Но вот только не надо превращать обыкновенный метод линеаризации в фантастический прорыв! И тем более — приписывать ему те свойства, которых у него быть не может по определению...
Например, говоря о культуре и искусстве...
Но об этом — в следующей части. Продолжение следует.
И на сей раз — без длинных задержек...
#IT #цифровые_технологии #ИИ #Искусственный_интеллект