# Немного про принятие решений и нейросети ## Мотивация Сейчас очень распространились нейросети различных форматов: для работы с текстом, видео, аудио, для обработки и прогнозирования данных. В твиттере ажиотаж вокруг новой возможности ChatGPT: обработка изображений в стиле студии Ghibli, известной по фильмам "Мой сосед Тоторо", "Унесенные призраками" и пр. Нейросети применяются не только для "развлечений", но и в весьма ответственных областях, например, анализ снимков рентгена, разработке программ. Для последнего даже был придуман термин [Vibe Coding](https://en.wikipedia.org/wiki/Vibe_coding). Я, в некоторой степени, являюсь луддитом по отношению к нейросетям, которые генерируют тексты. Это обусловлено преимущественно тем, что люди относятся к ним, как к некой "палочке-выручалочке", которая представляет собой кнопку "сделать красиво". Такой подход не только снижает *критичное отношение* к окружающему миру (зачем придумывать решение, если нейросеть может сгенерировать его за меня, *даже если он будет некорректный*), но уменьшает общее качество деятельности. Но даже так, я не являюсь противником нейросетей *просто по существу*. У всего есть качественные области применения, иногда не совсем очевидные. Здесь я хочу рассказать об **анализе конкурирующих гипотез**, **мозговом штурме** и **попытке применения в них нейросетей**. ## Большие языковые модели Должен признать, что у меня весьма смутное представление о работе таких нейросетей *под капотом*. В моем понимании, суть их работы заключается в том, при анализе запроса любого толка, они "понимают", какие слова будут уместны в контексте этого запроса (получается такая очень сложная "китайская комната"[2]). Результатом же работы нейросети является текст, который я воспринимаю как *случайное число*, которое параметризовали запросом (*prompt*), примерно как случайное число из нормального распределения параметризуется математическим ожиданием и дисперсией. Хотя, есть и [другое мнение](https://x.com/tsoding/status/1896205552415658463). А если есть случайность, то значит можно её можно использовать. ## Суть анализа конкурирующих гипотез **Анализ конкурирующих гипотез** - методология, разработанная Ричардом Хоером в 70-х годах. Целью создания метода было уменьшение влияния когнитивных сдвигов (*bias*) на работу аналитиков при анализе и принятии решений. Особенность метода заключается в том, что вместо сопоставления каждой гипотезе всех доказательств, наоборот, каждое доказательство противопоставляется всем гипотезам. Пошаговая инструкция к методу: 1. Определить все **возможные** гипотезы. Лучше использовать *команду аналитиков* с различным опытом, чтобы реализовать **мозговой штурм**. 2. Создать список всех существенных доказательств, аргументов "за" и "против, а также фактов, которые могут помочь в анализе гипотез. 3. Подготовить матрицу, где номер строки будет отвечать за номер аргумента, а номер столбца за номер гипотезы. 4. Проверить матрицу: уточнить формулировку гипотез, удалить аргументы, которые не имеют диагностической ценности. 5. Сопоставьте каждое доказательство каждой гипотезе. Двигайтесь по столбцам. 6. Проанализируйте, как устойчивы ваши заключение к аргумента. Посмотрите, как изменится вывод в случае, если какие-то аргументы окажутся ложными. 7. Составьте отчет. Проверьте правдоподобность каждой гипотезы, *не только самой приятной*. 8. Оцените дальнейшие шаги для улучшения оценки. Можно долго вдаваться в детали реализации метода. В нашем случае, нас интересует часть, где необходимо придумать как можно большее число вариантов, используя **мозговой штурм**. ### Применение нейросетей Когда нет большой *команды аналитиков*, можно попробовать заменить их нейросетью. В данном случае, нейросеть можно применить в двух местах: 1. В п. 1 для определения всех **возможных** гипотез. Само собой, качество этих гипотез определяет аналитик, но их генерацию можно частично делегировать ИИ. 2. В п.2 можно попробовать определить области, где **искать доказательства** за и против. Нужно помнить, что доказательства также могут представлять собой *отсутствие* чего-либо. ## Пример Приведу пример (полученный также с помощью ИИ): "Почему в городе резко выросло число ДТП на конкретном перекрестке?". Полученный список гипотез: ``` - Инфраструктурные факторы 1. **Изменение дорожной разметки или знаков**: Неправильно нанесенная разметка, противоречивые знаки или их отсутствие. 2. **Неисправность светофора**: Сбои в работе (например, мигающий желтый сигнал), некорректные временные интервалы. 3. **Сужение полос** из-за ремонтных работ, парковки или временных ограждений. 4. **Новые препятствия**: Установка рекламных щитов, столбов, деревьев, ограничивающих обзор. 5. **Плохое состояние дорожного покрытия**: Выбоины, ледяная корка, отсутствие освещения в темное время суток. 6. **Изменение типа перекрестка**: Например, переход от светофора к круговому движению без должного информирования. - Транспортный поток 7. **Рост трафика** из-за открытия новых ТЦ, офисов, жилых комплексов. 8. **Перенаправление движения** с других улиц из-за ремонта, аварий или изменений в маршрутах. 9. **Увеличение грузового транспорта**: Новые логистические маршруты через перекресток. 10. **Активность общественного транспорта**: Новые автобусные остановки или троллейбусные линии. - Человеческий фактор 11. **Нарушение ПДД водителями**: Частые проезды на красный свет, превышение скорости, агрессивное вождение. 12. **Низкая видимость пешеходов**: Отсутствие зебры, освещения или знаков у пешеходного перехода. 13. **Отвлекающие факторы**: Яркая реклама, использование телефонов за рулем. 14. **Новички на дороге**: Увеличение числа неопытных водителей (например, из-за новой автошколы поблизости). - Внешние условия 15. **Погодные аномалии**: Гололед, туман, дождь, слепящее солнце в определенные часы. 16. **Сезонные факторы**: Туристы, листопад, снежные заносы. 17. **Животные на дороге**: Бродячие собаки, птицы или дикие животные, вызывающие резкие торможения. - Технические причины 18. **Неисправности автомобилей**: Массовые отзывы авто из-за брака тормозных систем. 19. **Сбои в системах помощи водителю**: Например, ошибки в навигаторах, предлагающих опасные маневры. 20. **Электромагнитные помехи**, влияющие на работу датчиков или светофоров. - Организационные и социальные факторы 21. **Снижение контроля со стороны ГИБДД**: Уменьшение числа патрулей или камер фиксации нарушений. 22. **Новые правила движения**, которые водители не успели изучить. 23. **Вандализм**: Повреждение знаков, светофоров или разметки. 24. **Массовые мероприятия**: Концерты, митинги или фестивали, создающие заторы и невнимательность. - Статистические аномалии 25. **Случайная кластеризация**: Краткосрочный всплеск аварий без системной причины. 26. **Изменение методики учета ДТП**: Теперь фиксируются даже мелкие столкновения, которые раньше игнорировались. 27. **Ошибки в данных**: Технические сбои при сборе статистики. ``` Хочется обратить внимание, что гипотез очень много и часть из низ можно отмести в зависимости от контекста исследования. Но эту задачу **должен делать аналитик**. Ответ на вопрос: "где искать доказательства": ``` - Данные ГИБДД: Статистика нарушений, протоколы ДТП, видео с камер. - Дорожные службы: Отчеты о ремонтах, изменениях разметки, проверках светофоров. - Метеорологические службы: Погодные сводки на даты аварий. - Соцсети и СМИ: Жалобы водителей, репортажи о проблемах на перекрестке. - Технические данные: Логи навигаторов (Яндекс.Пробки, Google Maps), отчеты автопроизводителей. ``` На основе полученных ответов можно пробовать строить анализ. ## Выводы В заключении этого небольшого текста, хочу отметить несколько выводов: 1. Данная заметка не является инструкцией в стиле "вы используете языковые модели неправильно". Здесь я просто хочу высказать мнение касательно ИИ и отметить, какое применение я вижу у этого инструмента. 2. В моем понимании, нейросети подойдут в тех случаях, когда нужно применить **мозговой штурм**: составление гипотез, поиск доказательств, составление списка действия для решения задачи в методологии *GTD*. 3. Не стоит отдавать под контроль ИИ принятие решений на _любом уровне_. Все логические выкладки должен делать аналитик, который использует языковую модель как инструмент. 4. Думаю, обращаться за помощью к нейросетям, нужно если не в *последнюю очередь*, то хотя бы не сразу. Во-первых, стоит не забывать про собственное *критичное отношение* к миру, а во-вторых, цель **мозгового штурма** -- это сбор _всех_ возможных вариантов, которые могут пройти ниже радаров нейросети, и про которые потом не станет думать аналитик, будучи отвлеченный анализом результатов. По итогу, я убежден, что языковые модели -- это *инструмент*, который можно применить во множестве областей, но это все же *инструмент*. Он не решит все проблемы за вас, но поможет вам решить ваши проблемы. ## Источники 1. [Psychology of intelligence analysis](https://www.amazon.com/Psychology-Intelligence-Analysis-Richards-Heuer/dp/B0016OST3O) 2. [Китайская комната](https://ru.wikipedia.org/wiki/%D0%9A%D0%B8%D1%82%D0%B0%D0%B9%D1%81%D0%BA%D0%B0%D1%8F_%D0%BA%D0%BE%D0%BC%D0%BD%D0%B0%D1%82%D0%B0)