Об иерархии алгоритмов

Sep 13, 2021 12:27

В последнее время, в связи с успехами нейросеточек, стало популярным пихать эти нейросеточки везде, где нужно и не нужно.

Нейросеточки стали прямо святым граалем, альфой и омегой, которая спасёт человечество от всех бед.

Разумеется, это полная чушь и никакие нейросеточки нас не спасут. Для начала неплохо бы понять, что у нейросеточек есть одна ахиллесова пята: обучающая выборка. Для всех "дата саентистов" это сейчас основная проблема - получить качественную обучающую выборку. Там, где такие выборки находятся, там есть определённые успехи. Где выборок нет, там нейросеточки работают по принципу 3П - пол-палец-потолок.

Есть у нейросеточек ещё одна ахиллесова пята: никто не знает, как они работают. Ну то есть структура слоёв известна, но что там в этих слоях образовалось на основе обучения никому не ведомо. В результате, нет никакой возможности определить пределы валидности результатов деятельности нейросеточки и, соответственно, обеспечить качество результата.

Пока нейросеточки использовались для распознавания котиков - это не было большой проблемой. Ну перепутает нейросеточка котика с собачкой и ладно. И даже если со слоном. Но вот если нейросеточка начнёт путать луну со светофором в автопилоте или добропорядочного гражданина с серийным убийцей - это уже становится серьёзным. Пора бы уже ввести какой-то контроль за этим нейросетевым безумием и заставить авторов многочисленных прикладных решений отвечать за свои поделки рублём, а то и свободой. Глядишь, некоторые особо резвые товарищи поубавят пыл и начнут более ответственно подходить к выводу "на рынок" решений на основе нейросетевых алгоритмов.

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

Но, положа руку на сердце, хотели бы вы, чтобы Amazon Rekognition принимал решение по поводу скоростного режима вашего авто, а Google Translate переводил ваши слова в суде? Я так думаю, что не очень. Ну, если вы адекватный, зрелый человек, а не хипстер со смузи и мышлением пятилетнего ребёнка. Особенно хотелось бы посмотреть на того, кто решится запустить космический корабль на нейросетевой системе управления или военных, которые подключат нейросетевую систему отражения ракетной атаки прямо к кнопкам пуска ракет.

А что же стоит у меня по рангу выше нейросетей? Безусловным лидером в моём рейтинге стоят алгоритмы на основе аналитических соотношений, то есть те самые формулы. Если у нас есть аналитический метод, то мы можем обеспечить его формальную верификацию, исследовать устойчивость и границы применимости и таким образом сделать его предельно надёжным.

Если с аналитическими методами тяжеловато, то следующим за ним в моём табеле о рангах будет экспертная система. Про этот вид решений индустрия почему-то напрочь забыла, а ведь это весьма полезная технология. По крайней мере, там понятны источники знаний, они могут быть верифицированы, можно опросить столько экспертов, сколько нужно, а так же потом провести кросс-валидацию. Но технологии построения rule based engins благодаря упору W3C на онтологический веб, ушли в какие-то мрачные дали в виде OWL и RDF, которые нормальные люди ни писать, ни читать не могут. В больших объемах по крайней мере. И вместо чего-то прологоподобного или ещё лучше какого-нибудь приятного и похожего на ЕЯ DSLя мы имеем какие-то зубодробительные ужасы на XML.

Таким образом, иерархия алгоритмов для меня строится следующим образом:
1. Алгоритмы на основе аналитических высказываний/формальных соотношений.
2. Алгоритмы, упакованные в экспертные системы / rule based engines.
3. Нейросетевые алгоритмы с тренировкой и верификацией датасетами и просто регрессии.

Может быть когда-нибудь, нейросетевые алгоритмы смогут сделать реально "умными" так, что они смогут формулировать свои знания в виде суждений аналитических или хотя бы правил. А тренироваться будут сами, создавая выборки для тренировки. Но это уже будут алгоритмы 4-го типа по моей классификации ( Алгоритмы как основа цивилизации: escalibur - ЖЖ (livejournal.com)), то есть сопоставимые с человеком, что пока видится достаточно иллюзорным. Ну и там будут проблемы с критериями целеполагания, которые у таких "личностей" могут оказаться весьма далёкими от человеческих, что, скорее, создаст человечеству угрозу, чем принесёт пользу.

технологии, технический прогресс, алгоритм

Previous post Next post
Up