Уже далеко не вчера я опубликовал статью "Почему я не зоотехник", в которой пытался объяснить все прелести своей специальности и исторические особенности подготовки. Разумеется, краткая справка о себе не может ответить на все вопросы. Из неё совсем не следует то, о чем я порой говорю: что мне приходится "держать в уму" не только весь спектр врачебных знаний (ну, разве что, "зараза" востребована меньше), но и весь тот багаж, что я накопил раньше. Включая Политех и прочую информатику.
Но я попробую зайти с другого конца: устрою сам себе интервью на тему "зачем мне те или иные знания". Может быть, вам это тоже будет интересно.
Вот я в этот раз и попробую вас шокировать. Ведь что может быть общего у каких-то там непонятных, но мёртвых железяк, в которых якобы бегают мифические электроны, и у живого организма? Оказывается, общего больше, чем видится "невооружённым глазом". Вот смотрите.
Когда создавали первые #компьютеры (я не про абаки и арифмометры, а про ЭВМ), когда рождалась наука с ныне забытым названием – кибернетика, люди надеялись, что умные машины смогут воспроизвести мыслительный процесс. Создать полноценный искусственный интеллект, как мечталось не только фантастам, но и учёным, с помощью даже самых мощных компьютеров пока не удаётся, да и возможно это станет очень нескоро. Ведь ни один компьютер не в состоянии повторить бóльшую часть того, на что способен живой мозг. Но в том, что касается логики и последовательных алгоритмов, процессор компьютера работает очень похоже. Даже на инженерном уровне.
И аналогия получилась настолько удачной, что сейчас я пользуюсь ею, чтобы объяснить, как работает живой "процессор". В нём тоже есть своего рода транзисторы – нейроны и логические элементы (для них есть более общее функциональное понятие – "нервные узлы"); есть "провода" – различные #нервные пути ; элементы памяти и разнообразные интерфейсы. Есть и своеобразное разделение на "хардвер", "прошивку/БИОС", "операционку" и "пользовательский софт". Только оно не такое явное: выделяется из всей этой кучи только "хард" – структуры нервной системы. Все остальное реализуется за счет разных связей в ней.
С аппаратной частью, вроде бы, всё ясно. Хотя и тут есть свои тонкости: например, самостоятельных ОЗУ, винчестеров и адаптеров периферийных устройств в организме не обнаружено. Они интегрированы в "процессор". Кстати, эта модная тенденция постепенно перекочёвывает и в технику.
А дальше начинается интересное. Так, прошивке БИОСа, с которой причудливо объединены ядро ДОСа и "предустановленные программы", соответствует всем известная, но остающаяся пока загадкой #генетическая память . В ней хранятся инстинкты и прочие врожденные стереотипы – начиная от функций жизнеобеспечения и видовых норм, которые изучают этологи, и заканчивая относительно недавно закрепившимися породными и даже фамильными чертами. И эта "прошивка" может даже обновляться – только не спрашивайте меня как, этого не знают и сами генетики; а если и знают, то не сознаются. Свою гипотезу я излагал здесь: надо думать, это стойкие наследуемые #нейронные структуры – цепочки, аналогичные рефлекторным, которые обеспечивают те или иные формы поведения. И "архитектура" этих нейронных цепочек так же сложна и состоит из многих уровней и ветвлений, как и архитектура кремниевого "мозга".
"Операционная система" отвечает за управление внутренними процессами и их согласование. Она шаг за шагом "отлаживается" по ходу развития психики, включает или создаёт простейшие команды и целые библиотеки подпрограмм. Недаром же, например, так тесно связаны развитие функций речи, элементарные (то бишь, базовые) #мыслительные функции и мелкая моторика: они управляются по одному образцу одними и теми же "подпрограммами". Развивая любую из этих функций, мы формируем схему управления этими процессами. А это и есть задача "операционки". Она же отвечает и за согласование низкоуровневых, системных процессов с высокоуровневыми, перевод "пользовательских команд" в набор логических или вычислительных операций.
"Софт", он же "пользовательские программы" – это весь набор знаний и навыков, которые приобретаются в жизни индивидуально. Это та часть #поведения , которую изучали бихевиористы. Кстати, обратите внимание: я не случайно опустил пункт о принадлежности ОСи к одной или другой дисциплине. Она действительно оказалась в понятийной "яме", до которой руки дошли только у нас – адаптивистов. Но не о том речь. "Программы" точно так же "записываются" в виде нейронных цепочек – а вот это уже очень наглядно показал Иван Петрович "садюга" Павлов, подробно описав формирование и принцип действия условных рефлексов. Но только на этом уровне нейронные цепочки пластичны, они могут видоизменяться и заменяться в тех случаях, когда нужнее оказываются другие. Точно так же, как устанавливаемые или удаляемые юзером программы.
И все это хозяйство зависит от состояния аппаратной части и элементной базы. Если в нашем "компе" накроется какая-нибудь из цепей питания, подгорит дорожка на плате или отвалится какой-нибудь дроссель – вся система сразу же "заглючит". Хорошо ещё, что в живом организме обычно не приходится ничего выбрасывать и перепаивать, а можно малость "подкрутить", чтобы всё снова заработало, как дóлжно. В этом-то и состоит моя работа. Правда, определить в этих терминах мою специальность непросто: я и ремонтёр-"электронщик", и программист-системщик, и админ, причём, сразу в нескольких ипостасях.
Ну как, понравилась вам моя аналогия? А на сладенькое я приберёг для вас ещё одно откровение.
Есть у живого мозга возможности, до которых компьютеру, при нынешнем подходе, еще дооолго будет не дотянуться. И речь здесь не о производительности – чисто технически даже хилые карманные ЭВМ давно уже переплюнули по мощности живой #мозг . Это способность к ассоциативной (не требующей прямого сопоставления по заранее известным признакам) и нелинейной (то есть, не последовательной) обработке информации и к принятию решений, не предписанных #алгоритмом . О более мелких нюансах, вроде одновременной обработки аналоговых и дискретных сигналов в одних и тех же "цепях", работы с неполными данными и т.д., я уже и не заикаюсь.
Мне возразят (и возражают!): нейросети, мол, успешно решают задачу распознавания, считавшуюся до недавних пор невыполнимой. Но как решают? В узкой предметной области и при помощи "костылей" – посредством формального сравнения по заданным параметрам, вычислений, а то и просто телячьим перебором. Нейросети, якобы, "отвоевали" у естественного #интеллекта ещё одно его важное свойство – способность порождать новую информацию. Но при ближайшем рассмотрении выясняется, что и это не так... Алгоритм лишь комбинирует известные элементы.
В конце концов, запихав в #нейросеть Леонардо, Мунка и Уорхола, можно получить на выходе орущую Джоконду в палитре из восьми кислотных цветов. Но будет ли она произведением искусства?..
А только сегодня я слышал в одном научно-популярном фильме, как нейросеть сочиняет музыку "под Стравинского". Но назвать это художественным произведением язык не повернётся – это просто комбинация узнаваемых мелодических ходов.
"...Сотворил АТИЛЛА" – всем рекомендую освежить в памяти рассказ Вадима Шефнера с его великолепным агрегатом-рифмоплётом.
Впрочем, известны и другие достижения. Уже очень давно, по меркам нынешнего прогресса, существуют шахматные алгоритмы, способные обыграть чемпиона мира. А теперь создали и нейросетевой алгоритм "Альфа-Го", способный играть в ещё более сложную игру го. Но вы удивитесь, узнав, в чём главный секрет этих алгоритмов. Они действуют в нечеловеческой логике, которую гроссмейстер просто не в состоянии предугадать. Потому и достигают успехов, поражающих воображение всевозможных гиков.
Еще один забавный пример – разнообразные "голосовые помощники". На первый взгляд, их поведение вполне интеллектуально: они в состоянии распознавать речь (что чертовски сложно даже по меркам общей задачи распознавания) и связно отвечать на реплики пользователя. Но...
- Диалоговая система "Элиза" (привет Яндексу!) была разработана несколько десятилетий назад. Правда, тогда она не умела разговаривать, была сугубо текстовая. Но принцип её работы сохранился и теперь. Она просто переформулировала (то есть, буквально перестраивала) реплики пользователя, превращая вопрос в ответ. Иногда добавляя в диалог запрограммированную "отсебятину".
— Алиса, кто построил пирамиду Хеопса?
— Сейчас найду. [открывает поиск].
или:
— Алиса, кто построил пирамиду Хеопса?
— Пирамиду Хеопса построили рабы [результат поиска: читает статью из энциклопедии].
— Какие рабы?
— Рабы – это [читает статью из энциклопедии].
— Алиса, ты можешь просто сказать, кто построил пирамиду Хеопса?
— Могу.
— Я не об этом спрашивал!
— Давайте считать, что вы этого не говорили.
Это не анекдот. Это реальные диалоги. На большее эта система не способна по определению. Она не умеет даже связывать реплики в осмысленный диалог. А это значит, что "понимать" содержание диалога ей не дано. Она всего лишь реагирует на ключевые слова, как обычная поисковая машина. И это не случайно: чтобы осмыслить строение даже отдельной фразы, необходимы функции, недоступные системам, построенным на формальных алгоритмах.
- Распознавание речи точно так же использует "костыли": разбивает звуковой поток на дискретные "фреймы" и пытается сравнивать с эталонными звуками. При этом велика вероятность ошибки за счет попадания в один "фрейм" фрагментов соседних звуков. Созвучные слова такая система различает с большим трудом.
В своё время в Грузии было учреждение, занимавшееся промышленной автоматизацией. Там создали транспортные тележки для заводов с голосовым управлением. Но эти тележки могли ездить только по расчерченным трассам и слушались только голоса с грузинским акцентом.
Так что ни одна из "уникальных способностей" нейросетей к подлинному интеллекту никакого отношения не имеет.
Ну, и чтобы ответить на заглавный вопрос тем, кто ещё не догадался: именно представление о том, как работает компьютер – неожиданно удачная, пусть и однобокая, неполная модель живого мозга – помогает мне понять, а главное, описать работу нервной системы.