Ответ на вопрос подписчика, который он задал к предыдущему посту (вопрос смотрите в конце статьи).

В одном мы уже с вами согласились — компьютеры, с программами 20-летней давности, не могут быть источником действия, это всего лишь орудие в руках человека. А это уже хорошо! Осталось понять, что же происходит в новых, так называемых, «нейронных сетях». Не буду объяснять весь процесс работы этих сетей. Если спрашиваете, наверно знаете. А покажу только принцип.

По сути это одна общая программа с одним общим алгоритмом, которая использует много сабрутин (подпрограмм, могут быть несколько процессоров — сути не меняет) с двумя входами и одним выходом. Первый вход даёт так называемый «весовой коэффициент нейрона», а второй число входа (input). И вот такая сабрутина называется искусственным «нейроном». Причём она очень примитивна — просто умножает входное число на весовой коэффициент и выдаёт результат на выходе.

Вся фишка в принципе «самообучения» заключается в том, что коэффициент может меняться в соответствии с тем, насколько выдаваемый результат близок к желаемому результату. Есть несколько алгоритмов замены коэффициента. Один из них закладывается во внешнюю программу по принципу программирования 20-летней давности и вся сеть (всё то множество «нейронов» в ней) в точности и тупо следует этому алгоритму. Не буду приводить что там происходит в деталях и как работает вся сеть, сказанного достаточно, чтобы понять принцип.

По-простому это похоже на детскую игру в угадалки. Учительница держит что-то в руке и предлагает ученикам угадать что там. Дети предлагают разные решения. Учительница отвечает — «холодно», «теплее», «ещё теплее», «жарко», «совсем жарко» и т. д.

Этот алгоритм проб и ошибок, часто используется в жизни, но в ситуациях с большим количеством возможностей на нём далеко не уедешь. Но компьютер, он максимально «тупой» и «терпеливый», и может делать много действий за короткое время, ему можно задать такой алгоритм. Причём в некоторых задачах он очень эффективен. И, конечно же, хорошо и правильно его использовать там, где он работает. Но не стоит терять голову. Никакой мистики и чего-то не известного там нет. А то, что трудно проследить процессы внутри сети, это из-за большого количество событий (просто вручную это берёт слишком много времени), а не потому что там происходят какие-то непонятные события.

В принципе, этот метод даже проще чем то, что я предложил вам ранее. Он не переписывает программу заново, а только изменяет начальные значения (коэффициенты). И это всё! Такое делается и в старых программах. И, конечно же, эти сети не придумывают новый алгоритм, а всё работает по одному алгоритму, который закладывается в программу программистом первоначально — в каждой сети свой алгоритм — причём по тому же принципу старых программ. «Рекурсивные циклы», о которых вы говорите, это один из этапов в алгоритме программиста и, конечно же, никак не похожи на команду «напиши алгоритм».

Наивно полагать, что компьютер от этого стал умнее и начал что-то осознавать, мыслить и решать. Он так и остался всё тем же инструментом в руках человека. Однако эффективность результатов работы компьютера создаёт «оптический» обман, как будто он делает какие-то осознанные действия. В точности как кукла в кукольном театре создаёт у ребёнка ощущение, как будто она живая и мыслящая.

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

Если вам понравилась статья — поставьте «лайк», нам будет приятно.

Не проходите мимо! Поделитесь этим материалом в социальных сетях.