Отличить фальшивку от настоящей купюры. Эксперт на пальцах объясняет, как работают алгоритмы в банках

В настоящий момент в банковской, как и в большей части коммерческой сферы в основном встречаются алгоритмы машинного обучения.

Машинное обучение больше построено на поисках статистически значимых закономерностей, нежели искусственного интеллекта, хотя четкую границу что называть искусственным интеллектом (ИИ) официально не провели.

Для каких задач используют ИИ в банках?

Однако не важно каким методом решать те или иные задачи бизнеса, если они решаются эффективно. Ряд аналитических задач, которые решаются в банках это:

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

Это не полный список задач, где экспертные системы ИИ применяются в банковской сфере.

Ряд задач сложной аналитической оценки становится не под силу стандартным алгоритмам машинного обучения, где поиск статистически значимых закономерностей не всегда работает, особенно в задачах, требующих более креативного подхода. И для этих задач в последнее десятилетие все больше и больше внедряются блоки искусственного интеллекта.

Как работают такие блоки ИИ?

Давайте рассмотрим придуманный пример системы определения фальшивых купюр. А затем представим более сложный пример близкий к реальной деятельности, но данное упрощение поможет понять некоторые интересные принципы.

Для нашей задачи нам понадобится создать 2-х агентов, которыми будут две системы ИИ. Первая система будет давать простой ответ: купюра, которую ей показывают реальная или нет. Можно представить первую систему как своего рода кассира в магазине.

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

Процесс обучения такой системы происходит так, что агент злодей, который не знает пока как выглядит купюра приносит агенту кассиру камушек и говорит что это 1000 рублей. Система кассир принимает ее и относит своему боссу как 1000 рублей, на что босс говорит конечно же это не 1000 рублей, вот посмотри они разные. Система кассир пытается понять, где ошибка, и проводит шаг к обучению, допустим понимает, что купюры должны быть бумажные.

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

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

Через определенное число таких итерации оба агента будут улучшаться, и первый агент кассир будет искать все больше признаков как отличать фальшивые банкноты от настоящих, в то же время второй агент будет создавать все более качественные подделки. И вот уже обе системы выяснили что купюры должны быть прямоугольные листы особой бумаги, на которой есть специальный рисунок, защитная лента, водяные знаки, ультрафиолетовые отметки и т.д.

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

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

Фактически в этом примере мы создали агента искусственного интеллекта со свой сформированной моделью реального мира, наполненного своими «ожиданиями и надеждами» 😊. Пусть эта модель мира лишь то, как должна выглядеть настоящая купюра в 1000 рублей.

Ранее подобная задача решалась строгим описанием в программе признаков проверки купюры программистом, но подобный подход сложно применит к более креативным задачам. И не получается масштабировать такую систему.

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

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

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

Однако важной задачей здесь является и выбор оптимальной архитектуры агента. Если создать требуемого агента очень простым, например с 10ю нейронами, то он математически будет не способен выполнить свою задачу, т.к. даже не сможет правильно обработать входную информацию. В то же время если сделать архитектуру слишком сложной, то построение нейронных связей будет очень замедленно и требуемое время обучение, и вычислительные ресурсы превысят все наши реальные ограничения. Для этого нужно выдержать баланс сложности.

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

Как же работает ИИ на практике?

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

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

В итоге каждая подсистема дает результат своей оценки, согласно внутренним моделям агентов, и Агент менеджер принятия решения об ипотеки сообщает результат, взвесив, согласно внутренней модели, все факторы по представлению важности.

«Главная» система, запросив результаты комитета агентов менеджеров принимает итоговое решение, например если все согласны выдать ипотеку, то ответ положительный, однако в других случаях может дать ответ, например уверен на 80%.

Здесь тоже условный пример представлен и для серьезных задач обычно системы Искусственного Интеллекта пока не применяются для итогового решения, а работают в полу автоматическом режиме, сообщаю работнику банка свою оценку и на что стоит обратить внимание в рассматриваемом вопросе. Хотя в ряде задач, например блокировании подозрительных транзакций системы работают полностью автоматически и немедленно блокируют транзакцию, считая ее подозрительной, дабы избежать возможного ущерба злодеев что могут завладеть дебетовой картой клиента, например.

Тема искусственного интеллекта становится все более востребованной в банковской и других областях. За прошедшие 10 лет мы видим огромный скачок в развитии систем ИИ, и появлении все большего числа новых изысканий в этой теме. Все больше задач мы можем перекладывать на ИИ. И в дальнейшем этот тренд только усилится. В следующем десятилетии системы ИИ станут более автономны и позволят принимать решения на основе тех факторов что мы и не представляем сейчас. Мы видим что системы ИИ побеждают во многих сложных играх чемпионов мира, и все больше внедряются. Думаю что далее ИИ станет для нас новой нормой, так же как автомобили вытеснили лошадей в свое время.