Русский
Русский
English
Статистика
Реклама

Neural

ИИ итоги уходящего 2020-го года в мире машинного обучения

01.01.2021 00:16:35 | Автор: admin

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

Если тебе интересно машинное обучение, то приглашаю вМишин Лернинг мой субъективный телеграм-канал об искусстве глубокого обучения, нейронных сетях и новостях из мира искусственного интеллекта.

GPT-3

Ресерчеры из OpenAI представили GPT-3 сеть Generative Pre-trained Transformer 3, одну из лучших языковых моделей на сегодняшний день. Архитектура GPT-3 подобна GPT-2, параметров стало 175 миллиардов, и модель учили на 570 гигабайтах текста.

Более крупные модели позволяют более эффективно использовать контекстную информацию.Более крупные модели позволяют более эффективно использовать контекстную информацию.

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


NVIDIA MAXINE

Компания NVIDIA представила нейросетевые алгоритмы под общим названием Maxine, целями которых являются: улучшение качества видеосвязи, многократное снижение нагрузки на сеть при видеозвонках (нейросетевое сжатие видео), возможность реалистичной коррекции взгляда для создания ощущения, что собеседник смотрит вам в глаза, а не в свой монитор.

MuZero

Еще один зверь из мира RL от ресерчеров из DeepMind. MuZero подход, в котором при обучении на начальном этапе не требуется знаний правил игры.

Иллюстрация поиска по дереву Монте-Карло, используя MuZeroИллюстрация поиска по дереву Монте-Карло, используя MuZero

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

Алгоритм уже умеет играть в привычные нам для этой сферы игры: го, шахматы и кучу игр для приставки Atari.

AlphaFold

И опять DeepMind с их нейросетевым алгоритмом впредсказания трехмерной структуры белка по последовательности аминокислот AlphaFold 2. Точность такого алгоритма составляет 92,4 балла из 100, что является рекордом на сегодняшний день!

При считывании информации с матричной РНК (трансляция) молекула белка формируется как цепочка аминокислот. Потом, в зависимости от физических и химических свойств, цепочка начинает сворачиваться. Таким образом формируется третичная структура белка. Именно от этой структуры и зависят свойства конкретного белка.

Задача определения первичной аминокислотной структуры белка (самой последовательности) является элементарной. Это легко читается напрямую из ДНК. Кодон тройка нуклеотидных остатков (триплет) образуют 64 варианта, а именно 4 (аденин, гуанин, цитозин, тимин) в третей степени. Из них 61 комбинация кодирует определённые аминокислоты в будущем белке, а 3 оставшихся кодона сигнализируют об остановке трансляции и называются стоп-кодонами. При этом 61 комбинация кодирует всего 20 различный аминокислот белка. Знакомые с теорий информации и избыточностью уже улыбаются, ну, а биологи называют кодоны, кодирующие одинаковые аминокислоты, изоакцепторными кодонами.

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

Процесс предсказания третичной структуры белкаПроцесс предсказания третичной структуры белка

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

Чтобы сделать публикацию еще более полезной, я добавил образовательные материалы вышедшие в 2020м году:

Новая специализация TensorFlow: Advanced Techniques от deeplearning ai, основанной самим Andrew Ng

YouTube-Лекция: Нейронные сети: как их создают и где применяют? Два часа о самом главном

Поздравляю всех с Новым годом! Больше ресерча в наступающем году!

Подробнее..

Перевод Обучение на табличных данных. TABNet. Часть 2. Реализация

22.12.2020 10:22:28 | Автор: admin

Продолжение перевода про архитектуру TABNet. Первая часть здесь

4 .Самостоятельное обучение для табличного представления.

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

Цель самообучения: Предлагаем задачу прогнозирования отсутствующих столбцов из других. Рассмотрим двоичную маску

S \{0, 1 \} ^{BD}.

TabNet кодирует вход

(1-S) * \hat{f}

и TabNet декодирует выход реконструированных объектов,

S * \hat{f}

Мы инициализируем P[0] = (1 S)

в кодере так, чтобы модель делала упор только на известные объекты, а последний слой FC декодера умножаем на S, чтобы просто вывести неизвестные объекты. Мы рассматриваем потери на оптимизирующие преобразования в фазе самообучения:

\sum_{b=1}^{B} \sum_{j=1}^{D} \mid (\hat{f}_{b,j} - f_{b,j}) * S_{b,j} / \sqrt{\sum_{b=1}^{B}(f_{b,j}-1/B\sum_{b=1}^{B}f_{b,j})^2} \mid ^2 .

Нормализация среднеквадратичного отклонения начальных данных с помощью достоверных данных имеет важное значение, так как характеристики могут иметь колебания в различных диапазонах. Мы выберем записи Sb,j независимо от распределения Бернулли с параметром ps на каждой итерации.

5.Эксперименты.

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

Мы используем стандартные классификационные (обобщение логистическойфункции для многомерного случая, перекрёстнаяэнтропия) и регрессионные (среднеквадратичная ошибка) целевые функции и исследуем сходимость в различных случаях. Гиперпараметры модели TabNet оптимизированы на обучающей выборке и перечислены в Приложении. Производительность TabNet не очень чувствительна к большинству гиперпараметров, как показано в исследованиях (приложениях). Во всех экспериментах, где мы приводим результаты из других работ, мы используем одни и те же данные обучения, проверки и тестирования, как и в оригинальных работах. Для обучения всех моделей используются алгоритм оптимизации Adam [32] и равномерная инициализация Glorot. Реализацию с открытым исходным кодом можно найти на сайте https://github.com/google-research/google-research/tree/master/tabnet.

5.1 Выбор объекта по экземпляру

Выбор наиболее информативных объектов может иметь решающее значение для высокой производительности, особенно для небольших наборов данных. Мы рассмотрим 6 синтетических табличных наборов данных из [6] (состоящих из 10k обучающих выборок). Синтетические наборы данных построены таким образом, что только подмножество объектов определяет выходные данные. Для наборов данных Syn1, Syn2 и Syn3 эталонные объекты одинаковы для всех экземпляров, поэтому общий механизм выбора объектов должен быть оптимальным. Например, истинный результат набора данных Syn2 зависит только от объектов X3-X6. Для наборов данных Syn4, Syn5 и Syn6 существенные особенности зависят от рассматриваемого экземпляра. Например, для набора данных Syn4 индикатором является X11, а результирующий исход зависит либо от X1-X2, либо от X3-X6, в зависимости от значения X11. Эта зависимость от экземпляра делает глобальный выбор объектов неоптимальным, поскольку глобально значимые объекты были бы избыточными для некоторых экземпляров. В таблице 1 показана производительность кода TabNet по сравнению с другими методами, включая отсутствие выбора, использование только глобально значимых признаков, древовидных ансамблей [16], регуляризации LASSO, L2X [6] и INVASE [61]. Мы наблюдаем, что TabNet превосходит все другие методы и сравним по уровню с INVASE. Для наборов данных Syn1, Syn2 и Syn3 мы наблюдаем, что производительность TabNet очень близка к глобальному выбору объектов. Для наборов данных Syn4, Syn5 и Syn6 получено, что TabNet улучшает глобальный выбор объектов, который будет содержать избыточные объекты. (Выбор объекта визуализируется в разделе 5.3.) Все остальные методы используют прогностическую модель с 43k параметрами, а общее число обучаемых параметров составляет 101k для INVASE, благодаря другим двум сетям в рамках "актор-критик". С другой стороны, TabNet - это единая архитектура ГНС (Глубокая Нейронная Сеть), и ее размер модели составляет 26k для наборов данных Syn1-Syn3 и 31k - для наборов данных Syn4-Syn6.

Это компактное сквозное представление является одним из ценных свойств TabNet.

таблица 1. Среднее и стандартное квадратичное отклонение тестовой области под кривой (AUC) на 6 синтетических наборах данных из [6], для TabNet и других моделей ГНС на основе выбора признаков: Нет выбора: использование всех функций без какого-либо выбора функций, Глобальный: использование только глобально значимых функций, Дерево: Ансамбли деревьев [16], LASSO: регуляризованная модель, L2X [6] и INVASE [61].таблица 1. Среднее и стандартное квадратичное отклонение тестовой области под кривой (AUC) на 6 синтетических наборах данных из [6], для TabNet и других моделей ГНС на основе выбора признаков: Нет выбора: использование всех функций без какого-либо выбора функций, Глобальный: использование только глобально значимых функций, Дерево: Ансамбли деревьев [16], LASSO: регуляризованная модель, L2X [6] и INVASE [61].

5.2 Производительность на реальных наборах данных

Многоклассовая классификация объектов Forest Cover Type [14]: Этот набор данных соответствует задаче классификации типа леса (лесного покрова) по картографическим переменным. Таблица 2 показывает, что TabNet значительно превосходит ансамблевые древовидные подходы, которые, как известно, достигают солидной производительности в этой задаче [38]. Кроме того, мы рассматриваем AutoInt [51] для этой задачи, учитывая его силу для задач с высокой размерностью функций. AutoInt моделирует попарное взаимодействие объектов с ГНС, основанным на внимании [51] и значительно уступает TabNet, который использует выбор объектов по экземплярам и рассматривает взаимодействие между различными объектами, если модель делает вывод о том, что это подходящая обработка для применения. Наконец, рассмотрены таблицы AutoML [2], автоматизированная система поиска, основанная на ансамбле моделей, включающих линейную обратную связь ГНС, градиентное усиление дерева решений, AdaNet [10] и ансамбли [2]. Для таблиц AutoML количество узловых часов отражает меру количества искомых моделей для ансамбля и их сложность. Одна модель TabNet без детального гиперпараметрического поиска превосходит точность ансамблевых моделей при обучении с подкреплением.

таблица 2. Производительность для набора данных типа лесного покрова.таблица 2. Производительность для набора данных типа лесного покрова.

Покер [14]: этот набор данных соответствует задаче классификации при раздаче карт в покере по необработанным мастям и ранговым атрибутам карт. Отношение ввода-вывода является детерминированным, и правила ручной раздачи, реализованные с помощью нескольких строк кода, могут получить 100% точность. Тем не менее, обычные ГНС, деревья решений и даже гибридный вариант моделей глубокого нейронного дерева решений [60] сильно зависимы от несбалансированности данных и не могут освоить необходимые операции сортировки и ранжирования с необработанными входными признаками [60]. Настроенные процедуры XGBoost, CatBoost и LightGBM показывают очень незначительные улучшения по сравнению с ними. С другой стороны, TabNet значительно превосходит другие методы и подходы к точности детерминированных правил, поскольку может выполнять сильно нелинейную обработку с большой глубиной обработки без переоценки, благодаря индивидуальному выбору функций потерь.

таблица 3. Производительность для набора данных, симулирующих раздачу карт в покере.таблица 3. Производительность для набора данных, симулирующих раздачу карт в покере.

Sarcos Robotics Arm, обратная динамика [57]: этот набор данных соответствует задаче регрессии обратной динамики семи степеней свободы антропоморфной руки робота. В [53] показано, что приличная производительность с очень компактной моделью возможна для ансамбля решающих деревьев (random forest), но лучшая производительность достигается с адаптивным нейронным деревом (adaptive neural tree), которое немного превосходит дерево градиентного бустинга (gradient boosted tree). В режиме модели очень малой размерности, производительность TabNet находится на одном уровне с лучшей предложенной моделью со 100-кратным увеличением параметров. TabNet распределяет свою емкость по базовым функциям и дает более компактную модель. Когда размерность модели не ограничена, TabNet показывает на порядок меньше в тесте, чем MSE.

таблица 4. Производительность для набора данных обратной динамики Sarcos Robotics Arm. расчет дерева моделей TabNet разных размеров (обозначается -S, -M и -L).таблица 4. Производительность для набора данных обратной динамики Sarcos Robotics Arm. расчет дерева моделей TabNet разных размеров (обозначается -S, -M и -L).

Бозон Хиггса [14]: этот набор данных соответствует задаче различения сигнального процесса, который производит бозоны Хиггса, и фонового процесса. Из-за своего очень большого размера (10,5 млн обучающих примеров) ГНС превосходят варианты дерева решений в этой задаче даже с очень большими ансамблями. Мы показываем, что TabNet превосходит MLPs с более компактными представлениями. Также сравниваем с современным алгоритмом эволюционной разреженности [39], который применяет неструктурированную разреженность, интегрированную в обучение, с низким количеством параметров. Благодаря своему компактному представлению TabNet дает почти такую же производительность, как и разреженное эволюционное обучение для того же числа параметров. Эта разреженность, изученная TabNet, структурирована иначе, чем альтернативные подходы она не ухудшает вычислительную способность модели [59] и может эффективно использовать современные многоядерные процессоры.

таблица 5. Производительность на наборе данных Бозона Хиггса. Расчет двух моделей TABNet (обозначены как -S и -M)таблица 5. Производительность на наборе данных Бозона Хиггса. Расчет двух моделей TABNet (обозначены как -S и -M)

Магазин Россманна [29]: Этот набор данных соответствует задаче прогнозирования продаж магазина со статическими и сезонными признаками. Мы заметили, что TabNet превосходит XGBoost, LightGBM и CatBoost, которые обычно используются для таких проблем. Временные характеристики (например, день) приобретают большое значение, и преимущество выбора функции по экземпляру особенно заметно в праздники, когда динамика продаж изменяется.

таблица 6. Производительность на наборе данных магазина Россмана.таблица 6. Производительность на наборе данных магазина Россмана.

Наборы данных KDD. Наборы данных Appetency, Churn и Upselling используются в задачах классификации для управления взаимоотношениями с клиентами, а набор данных KDD Census Income [14] предназначен для прогнозирования доходов на основе демографических переменных и переменных, связанных с занятостью. Эти наборы данных демонстрируют интенсивную производительность (даже простые модели дают аналогичные результаты). Таблица 7 показывает, что TabNet достигает очень похожих или немного худших результатов, чем у XGBoost и CatBoost, которые известны своей надежностью, поскольку содержат большое количество ансамблей.

таблица 7. Производительность на наборе данных KDD.таблица 7. Производительность на наборе данных KDD.

5.3 Интерпретируемость.

Маски выбора функций в TabNet можно интерпретировать выбранными особенностями на каждом этапе. Такая возможность недоступна для обычных ГНС, таких как MLP, поскольку каждый последующий уровень совместно обрабатывает все функции без механизма выбора с контролируемой разреженностью. Для масок выбора признаков, если Mb, j [i] = 0, то j-ая особенность из b-ого образца не должна влиять на принятие решения. Если бы fi была линейной функцией, коэффициент Mb, j [i] соответствовал бы важности признака fb, j. Хотя на каждом этапе принятия решения используется нелинейная обработка, их результаты позже агрегируются линейным образом. Наша цель - количественно оценить общую важность функции в дополнение к анализу каждого шага. Объединение масок на разных этапах требует учета коэффициента, который может отражать относительную важность каждого этапа в принятии решения. Мы используем

\eta_{b}[i] = \sum_{c=1}^{N_d}ReLU(d_{b,c}[i])

обозначают совокупный вклад решения на i-м шаге решения для b-й выборки. Интуитивно понятно, что если d b, c [i] <0, то все функции i-го шага решения должны иметь нулевой вклад в общее решение. По мере увеличения его значения, оно играет более важную роль в общем линейном сочетании. Масштабируя маску принятия решения на каждом шаге с помощью nb [i], мы предлагаем маску важности агрегированного признака

M_{agg-b,j} = \sum_{i=1}^{N_{steps}} \eta_b[i]M_{b,j}[i] / \sum_{j=1}^{D} \sum_{i=1}^{N_{steps}} \eta_b[i] M_{b,j}[i].

Нормализация используется для обеспечения:

\sum_{j=1}^{D} M_{agg-b_{b,j}} = 1

Синтетические данные. На рис. 5 показаны совокупные маски важности признаков для синтетических наборов данных, обсуждаемых в разд. 5.1. Истинный результат для набора данных Syn2 зависит только от функций X3-X6. Мы видим, что совокупные маски почти все равны нулю для нерелевантных функций, они просто фокусируются на релевантных. Для набора данных Syn4 X11 является индикатором, а исходные данные зависят от X1-X2 или X3-X6 в зависимости от значения X11. TabNet обеспечивает точный выбор функций для каждого экземпляра - он выделяет маску, чтобы сосредоточиться на X11, и присваивает близкие нулю веса нерелевантным функциям (тем, которые не относятся к одной из двух групп функций).

таблица 8. Рейтинг важности характеристик Дохода взрослого населения в переписи. TabNet составляет рейтинг важности функций в соответствии с хорошо известными методами.таблица 8. Рейтинг важности характеристик Дохода взрослого населения в переписи. TabNet составляет рейтинг важности функций в соответствии с хорошо известными методами.

Наборы данных из реального мира: сначала мы рассмотрим простую реальную задачу предсказания съедобности грибов [14]. TabNet прошел 100% тест точности этого набора данных. Действительно, известно [14], что запах является наиболее отличительным признаком для этой задачи, только с функцией запах модель может получить точность теста> 98,5% [14]. Таким образом, для него ожидается высокая важность функции. TabNet присваивает ему коэффициент важности 43%, в то время как другие известные методы, такие как LIME [48], Интегрированные градиенты [52] и DeepLift [49] присваивают оценку важности с коэффициентом менее 30% [27].

Рисунок 5. Маски важности признаков M [i] (которые указывают, какие объекты выбираются на i-м шаге) и совокупная маска важности признаков Magg, показывающая глобальный выбор объекта по экземплярам для наборов данных Syn2 и Syn6 из [6]. Более яркие цвета показывают более высокую ценность. Например, для набора данных Syn2 используются только четыре функции (X3-X6). Рисунок 5. Маски важности признаков M [i] (которые указывают, какие объекты выбираются на i-м шаге) и совокупная маска важности признаков Magg, показывающая глобальный выбор объекта по экземплярам для наборов данных Syn2 и Syn6 из [6]. Более яркие цвета показывают более высокую ценность. Например, для набора данных Syn2 используются только четыре функции (X3-X6).

Затем мы рассмотрим доход взрослого населения от переписи населения, где задача состоит в том, чтобы определить, превышает ли доход человека 50 000 долларов. Таблица 8 показывает ранжирование важности функций для TabNet по сравнению с другими методами объяснимости из [36], [42]. Мы наблюдаем общность наиболее важных характеристик Age (Возраст), Capital gain/loss (Прирост / потеря капитала), Education number (Уровень образования), Relationship (Родство)) и наименее важных Native country (Родная страна), Race (Раса) , Gender (Пол). Для той же проблемы на рис. 6 (c) показано влияние наиболее важной функции на решение о выходе путем визуализации T-SNE многообразия решений. Наблюдается четкое разделение возрастных групп, так как Age (Возраст) является наиболее важной характеристикой TabNet.

Рисунок 6. T-SNE многообразия решений для тестовых выборок переписи дохода взрослого населения и влияние главного признака Age (Возраст).Рисунок 6. T-SNE многообразия решений для тестовых выборок переписи дохода взрослого населения и влияние главного признака Age (Возраст).

5.4 самостоятельное обучение под наблюдением

Мы изучаем самообучение на наборах данных типа Хиггса и лесного покрова. Для предварительного обучения предсказанию (заполнению) недостающих столбцов мы используем параметр маскирования ps = 0.8 и процесс обучения с 1 миллионом итераций. Используем подмножество помеченного набора данных для контролируемой тонкой настройки с набором проверки для определения количества итераций для ранней остановки. Большой набор данных при проверке был бы нереалистичным для небольших наборов обучающих данных, поэтому в этих экспериментах мы предполагаем, что его размер равен набору обучающих данных. Таблица 9 показывает, что предварительное обучение без учителя значительно улучшает производительность задачи классификации с учителем, особенно в режиме, когда немаркированный набор данных намного больше, чем маркированный. Как показано на рис. 7, сходимость модели происходит намного быстрее при предварительном обучении без учителя. Очень быстрая сходимость может быть очень полезной, особенно в таких сценариях, как непрерывное обучение, адаптивное предметной области.

Рисунок 7. Сходимость с предварительным обучением без учителя происходит намного быстрее, что показано для набора данных Хиггса с выборкой в 10 тыс..Рисунок 7. Сходимость с предварительным обучением без учителя происходит намного быстрее, что показано для набора данных Хиггса с выборкой в 10 тыс..таблица 9. Табличные результаты обучения с самостоятельным контролем. Среднее и стандартное отклонение точности (более 15 прогонов) по Хиггсу с TabNet-М модель, варьируя размером обучающего набора данных для контролируемой тонкой настройки.таблица 9. Табличные результаты обучения с самостоятельным контролем. Среднее и стандартное отклонение точности (более 15 прогонов) по Хиггсу с TabNet-М модель, варьируя размером обучающего набора данных для контролируемой тонкой настройки.таблица 10. Табличные результаты обучения с самоконтролем. Среднее и стандартное отклонение точности (более 15 прогонов) для типа леса, с варьированием размера обучающего набора данных и контролируемой точной настройкитаблица 10. Табличные результаты обучения с самоконтролем. Среднее и стандартное отклонение точности (более 15 прогонов) для типа леса, с варьированием размера обучающего набора данных и контролируемой точной настройки

Заключение

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

Перевод, коррекция, редактирование Гилязов Айрат, Шигапова Фирюза.


Ссылки

[1] Dario Amodei, Rishita Anubhai, Eric Battenberg, Carl Case, Jared Casper, et al. 2015. Deep Speech 2: End-to-End Speech Recognition in English and Mandarin. arXiv:1512.02595 (2015).

[2] AutoML. 2019. AutoML Tables Google Cloud. https://cloud.google.com/ automl-tables/

[3] J. Bao, D. Tang, N. Duan, Z. Yan, M. Zhou, and T. Zhao. 2019. Text Generation From Tables. IEEE Trans Audio, Speech, and Language Processing 27, 2 (Feb 2019), 311320.

[4] Yael Ben-Haim and Elad Tom-Tov. 2010. A Streaming Parallel Decision Tree Algorithm. JMLR 11 (March 2010), 849872.

[5] Catboost. 2019. Benchmarks. https://github.com/catboost/benchmarks. Accessed: 2019-11-10.

[6] Jianbo Chen, Le Song, Martin J. Wainwright, and Michael I. Jordan. 2018. Learning to Explain: An Information-Theoretic Perspective on Model Interpretation. arXiv:1802.07814 (2018).

[7] Tianqi Chen and Carlos Guestrin. 2016. XGBoost: A Scalable Tree Boosting System. In KDD.

[8] Michael Chui, James Manyika, Mehdi Miremadi, Nicolaus Henke, Rita Chung, et al. 2018. Notes from the AI Frontier. McKinsey Global Institute (4 2018).

[9] Alexis Conneau, Holger Schwenk, Loc Barrault, and Yann LeCun. 2016. Very Deep Convolutional Networks for Natural Language Processing. arXiv:1606.01781 (2016).

[10] Corinna Cortes, Xavi Gonzalvo, Vitaly Kuznetsov, Mehryar Mohri, and Scott Yang. 2016. AdaNet: Adaptive Structural Learning of Artificial Neural Networks. arXiv:1607.01097 (2016).

[11] Zihang Dai, Zhilin Yang, Fan Yang, William W. Cohen, and Ruslan Salakhutdinov. 2017. Good Semi-supervised Learning that Requires a Bad GAN. arxiv:1705.09783 (2017).

[12] Yann N. Dauphin, Angela Fan, Michael Auli, and David Grangier. 2016. Language Modeling with Gated Convolutional Networks. arXiv:1612.08083 (2016).

[13] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. 2018. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805 (2018).

[14] Dheeru Dua and Casey Graff. 2017. UCI Machine Learning Repository. http: //archive.ics.uci.edu/ml

[15] Jonas Gehring, Michael Auli, David Grangier, Denis Yarats, and Yann N. Dauphin. 2017. Convolutional Sequence to Sequence Learning. arXiv:1705.03122 (2017).

[16] Pierre Geurts, Damien Ernst, and Louis Wehenkel. 2006. Extremely randomized trees. Machine Learning 63, 1 (01 Apr 2006), 342.

[17] Ian Goodfellow, Yoshua Bengio, and Aaron Courville. 2016. Deep Learning. MIT Press.

[18] K. Grabczewski and N. Jankowski. 2005. Feature selection with decision tree criterion. In HIS.

[19] Yves Grandvalet and Yoshua Bengio. 2004. Semi-supervised Learning by Entropy Minimization. In NIPS.

[20] Isabelle Guyon and Andre Elisseeff. 2003. An Introduction to Variable and Feature Selection. JMLR 3 (March 2003), 11571182.

[21] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. 2015. Deep Residual Learning for Image Recognition. arXiv:1512.03385 (2015).

[22] Joel Hestness, Sharan Narang, Newsha Ardalani, Gregory F. Diamos, Heewoo Jun, Hassan Kianinejad, Md. Mostofa Ali Patwary, Yang Yang, and Yanqi Zhou. 2017. Deep Learning Scaling is Predictable, Empirically. arXiv:1712.00409 (2017).

[23] Tin Kam Ho. 1998. The random subspace method for constructing decision forests. PAMI 20, 8 (Aug 1998), 832844.

[24] Elad Hoffer, Itay Hubara, and Daniel Soudry. 2017. Train longer, generalize better: closing the generalization gap in large batch training of neural networks. arXiv:1705.08741 (2017).

[25] Drew A. Hudson and Christopher D. Manning. 2018. Compositional Attention Networks for Machine Reasoning. arXiv:1803.03067 (2018).

[26] K. D. Humbird, J. L. Peterson, and R. G. McClarren. 2018. Deep Neural Network Initialization With Decision Trees. IEEE Trans Neural Networks and Learning Systems (2018).

[27] Mark Ibrahim, Melissa Louie, Ceena Modarres, and John W. Paisley. 2019. Global Explanations of Neural Networks: Mapping the Landscape of Predictions. arxiv:1902.02384 (2019).

[28] Kaggle. 2019. Historical Data Science Trends on Kaggle. https://www.kaggle. com/shivamb/data-science-trends-on-kaggle. Accessed: 2019-04-20.

[29] Kaggle. 2019. Rossmann Store Sales. https://www.kaggle.com/c/ rossmann-store-sales. Accessed: 2019-11-10.

[30] Guolin Ke, Qi Meng, Thomas Finley, Taifeng Wang, Wei Chen, et al. 2017. LightGBM: A Highly Effcient Gradient Boosting Decision Tree. In NIPS.

[31] Guolin Ke, Jia Zhang, Zhenhui Xu, Jiang Bian, and Tie-Yan Liu. 2019. TabNN: A Universal Neural Network Solution for Tabular Data. https://openreview.net/forum?id=r1eJssCqY7

[32] Diederik P. Kingma and Jimmy Ba. 2014. Adam: A Method for Stochastic Optimization. In ICLR.

[33] P. Kontschieder, M. Fiterau, A. Criminisi, and S. R. Bul. 2015. Deep Neural Decision Forests. In ICCV.

[34] Siwei Lai, Liheng Xu, Kang Liu, and Jun Zhao. 2015. Recurrent Convolutional Neural Networks for Text Classification. In AAAI.

[35] Tianyu Liu, Kexiang Wang, Lei Sha, Baobao Chang, and Zhifang Sui. 2017. Table-to-text Generation by Structure-aware Seq2seq Learning. arXiv:1711.09724 (2017).

[36] Scott M. Lundberg, Gabriel G. Erion, and Su-In Lee. 2018. Consistent Individualized Feature Attribution for Tree Ensembles. arXiv:1802.03888 (2018).

[37] Andre F. T. Martins and Ram on Fern andez Astudillo. 2016. From Softmax to Sparsemax: A Sparse Model of Attention and Multi-Label Classification. arXiv:1602.02068 (2016).

[38] Rory Mitchell, Andrey Adinets, Thejaswi Rao, and Eibe Frank. 2018. XGBoost: Scalable GPU Accelerated Learning. arXiv:1806.11248 (2018).

[39] Decebal Mocanu, Elena Mocanu, Peter Stone, Phuong Nguyen, Madeleine Gibescu, and Antonio Liotta. 2018. Scalable training of artificial neural networks with adaptive sparse connectivity inspired by network science. Nature Communications 9 (12 2018)

[40] Alex Mott, Daniel Zoran, Mike Chrzanowski, Daan Wierstra, and Danilo J. Rezende. 2019. S3TA: A Soft, Spatial, Sequential, Top-Down Attention Model. https://openreview.net/forum?id=B1gJOoRcYQ

[41] Sharan Narang, Gregory F. Diamos, Shubho Sengupta, and Erich Elsen. 2017. Exploring Sparsity in Recurrent Neural Networks. arXiv:1704.05119 (2017).

[42] Nbviewer. 2019. Notebook on Nbviewer. https://nbviewer.jupyter.org/github/ dipanjanS/data science for all/blob/master/tds model interpretation xai/ Human-interpretableMachineLearning-DS.ipynb#

[43] N. C. Oza. 2005. Online bagging and boosting. In IEEE Trans Conference on Systems, Man and Cybernetics.

[44] German Ignacio Parisi, Ronald Kemker, Jose L. Part, Christopher Kanan, and Stefan Wermter. 2018. Continual Lifelong Learning with Neural Networks: A Review. arXiv:1802.07569 (2018).

[45] Liudmila Prokhorenkova, Gleb Gusev, Aleksandr Vorobev, Anna Veronika Dorogush, and Andrey Gulin. 2018. CatBoost: unbiased boosting with categorical features. In NIPS.

[46] Alec Radford, Luke Metz, and Soumith Chintala. 2015. Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks. arXiv:1511.06434 (2015).

[47] Rajat Raina, Alexis Battle, Honglak Lee, Benjamin Packer, and Andrew Y. Ng. 2007. Self-Taught Learning: Transfer Learning from Unlabeled Data. In ICML.

[48] Marco Ribeiro, Sameer Singh, and Carlos Guestrin. 2016. fiWhy Should I Trust You?fi: Explaining the Predictions of Any Classifier. In KDD.

[49] Avanti Shrikumar, Peyton Greenside, and Anshul Kundaje. 2017. Learning Important Features Through Propagating Activation Differences. arXiv:1704.02685 (2017).

[50] Karen Simonyan and Andrew Zisserman. 2014. Very Deep Convolutional Networks for Large-Scale Image Recognition. arXiv:1409.1556 (2014).

[51] Weiping Song, Chence Shi, Zhiping Xiao, Zhijian Duan, Yewen Xu, Ming Zhang, and Jian Tang. 2018. AutoInt: Automatic Feature Interaction Learning via SelfAttentive Neural Networks. arxiv:1810.11921 (2018).

[52] Mukund Sundararajan, Ankur Taly, and Qiqi Yan. 2017. Axiomatic Attribution for Deep Networks. arXiv:1703.01365 (2017).

[53] Ryutaro Tanno, Kai Arulkumaran, Daniel C. Alexander, Antonio Criminisi, and Aditya V. Nori. 2018. Adaptive Neural Trees. arXiv:1807.06699 (2018).

[54] Tensorflow. 2019. Classifying Higgs boson processes in the HIGGS Data Set. https://github.com/tensorflow/models/tree/master/offcial/boosted trees

[55] Trieu H. Trinh, Minh-Thang Luong, and Quoc V. Le. 2019. Selfie: Self-supervised Pretraining for Image Embedding. arXiv:1906.02940 (2019).

[56] Aaron van den Oord, Sander Dieleman, Heiga Zen, Karen Simonyan, Oriol Vinyals, et al. 2016. WaveNet: A Generative Model for Raw Audio. arXiv:1609.03499 (2016).

[57] Sethu Vijayakumar and Stefan Schaal. 2000. Locally Weighted Projection Regression: An O(n) Algorithm for Incremental Real Time Learning in High Dimensional Space. In ICML.

[58] Suhang Wang, Charu Aggarwal, and Huan Liu. 2017. Using a random forest to inspire a neural network and improving on it. In SDM.

[59] Wei Wen, Chunpeng Wu, Yandan Wang, Yiran Chen, and Hai Li. 2016. Learning Structured Sparsity in Deep Neural Networks. arXiv:1608.03665 (2016).

[60] Yongxin Yang, Irene Garcia Morillo, and Timothy M. Hospedales. 2018. Deep Neural Decision Trees. arXiv:1806.06988 (2018).

[61] Jinsung Yoon, James Jordon, and Mihaela van der Schaar. 2019. INVASE: Instancewise Variable Selection using Neural Networks. In ICLR

Подробнее..

Начало работы с нейронными сетями

15.02.2021 02:12:27 | Автор: admin

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

  • Искусственные нейроны

  • Весы(weights) и смещения(biases)

  • Активационные функции(activation functions)

  • Слои нейронов(layers)

  • Реализация нейронной сети на Java

Раскрывая нейронные сети

Во-первых, термин нейронные сети может создать снимок мозга в вашем сознании, в частности для тех, кто ранее познакомился с ним. В действительности это правда, мы считаем мозг большая и естественная нейронная сеть. Однако что мы можем сказать об искусственных нейронных сетях (ANN artificial neural network)? Хорошо, он начинается с антонима естественный и первая мысль, которая приходит в нашу голову это картинка искусственного мозга или робота учитывает термин искусственный. В этом случае, мы так же имеем дело с созданием структуры, похожей и вдохновленной человеческим мозгом; поэтому это названо искусственным интеллектом. Поэтому читатель, который не имел прошлого опыта с ANN, сейчас может думать, что книга учит, как строить интеллектуальные системы, включая искусственный мозг, способный эмулировать человеческое сознание, используя Java программы, не так ли? Конечно мы не будем покрывать создание искусственного мышления машин как в трилогии Матрицы; однако эта книга растолкует несколько неимоверных способностей и что могут эти структуры. Мы предоставим читателю Java исходники с определением и созданием основных нейросетевых структур, воспользоваться всеми преимуществами языка программирования Java.

Почему искусственные нейронные сети?

Мы не можем начать говорить про нейросети без понимания их происхождения, включая также термин. Мы используем термины нейронные сети (NN) и ANN взаимозаменяемо в этой книге, хотя NN более общий, покрывая также
естественные нейронные сети. Таким образом, что же такое на самом деле ANN? Давайте изучим немного историю этого термина.

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

На базе этого факта, McCulloch и Pits спроектировали простую модель для одного нейрона, первоначально симулируя человеческое зрение. Доступные калькуляторы или компьютеры в то время были очень редкими, но способные иметь дело с математическими операциями достаточно хорошо; с другой стороны, даже современные задачи, такие как компьютерное зрение и распознавание звуков не очень легко программируются без специальных фреймворков, основанных на математических операциях и функциях. Тем не менее, человеческий мозг может выполнять эти последние задачи эффективнее чем первые, и этот факт реально побуждает ученых исследователей.

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

Задачи, быстро решаемые человеком

Задачи, быстро решаемые компьютером

Классификация изображений Распознавание голоса идентификация лиц Прогнозирование событий на основе предыдущего опыта

Комплексные вычисления Исправление грамматических ошибок Обработка сигналов Управление операционной системой

Как устроены нейронные сети

Можно сказать, что ANN это естественная структура, таким образом она имеет схожести с человеческим мозгом. Как показано на следующей картинке, естественный нейрон состоит из ядра, дендритов и аксона. Аксон продолжается в несколько ветвей, формируя синапсы с другими дендритами нейронов.

Таким образом, искусственный нейрон имеет похожую структуру. Он состоит из ядра(единицы обработки), несколько дендритов(аналогично входам), и одного аксона(аналогично выходу), как показано на следующей картинке:

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

Самый базовый элемент искусственный нейрон

Доказано, что естественные нейроны обработчики сигналов поскольку они получают микросигналы в дендритах, что вызывает сигнал в аксонах в зависимости от их силы или величины. Мы можем поэтому подумать, что нейрон как имеющий сборщик сигналов во входах(inputs) и активационную единицу в выходе(output), что вызывает сигнал, который будет передаваться другим нейронам. Таким образом, мы можем определить искусственную нейронную структуру, как показано на следующем рисунке:

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

Давая жизнь нейронам активационная функция

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

Четыре самых используемых активационных функций:

  • Сигмоида (Sygmoid)

  • Гиперболический тангенс(Hyberbolic tangent)

  • Жесткая пороговая функция(Hard limiting threshold)

  • Линейная(linear)

Уравнения и графики ассоциирующиеся с этими функциями, показаны
в следующей таблице:

Фундаментальные величины весы(weights)

В нейронных сетях, синапсы представляют собой соединения между нейронами и имеют возможность усиливать или смягчать нейронные сигналы, например, перемножать сигналы, таким образом улучшать их. Итак, путем модификации нейронных сетей, нейронные весы(weights) могут повлиять на нейронный вывод(output), следовательно нейронная активация может быть зависима от ввода и от весов. При условии, что inputs идут от других нейронов или от внешнего мира, весы(weights) считаются установленными нейронными соединениями между нейронами. Таким образом, с тех пор как весы являются внутренними для нейронных сетей, мы можем считать их как знания нейронных сетей, предоставленные изменения весов будут изменять возможности нейронных сетей и поэтому действия.

Важный параметр смещение

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

Части образующие целое слои

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

Нейронные сети могут быть составлены из нескольких соединенных слоев, которые называются многослойными сетями. Обычные нейронные сети могут быть разделены на 3 класса:
1. Input layer;
2. Hidden layer;
3. Output layer;
На практике, дополнительный нейронный слой добавляет другой уровень
абстракции внешней стимуляции, тем самым повышая способность
нейронных сетей представлять больше комплексных данных.

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

Изучение архитектуры нейронных сетей

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

1. Нейронные соединения:
1.1 Однослойные(monolayer) сети;
1.2 Многослойные(multilayer) сети;
2. Поток сигналов:
2.1 Сети прямой связи(Feedforward networks);
2.2 Сети обратной связи(Feedback networks);

Однослойные сети

Нейронная сеть получает на вход сигналы и кормит их в нейроны, которые в очереди продуцируют выходные сигналы. Нейроны могут быть соединены с другими с или без использования рекуррентности. Примеры таких архитектур: однослойный персептрон, Adaline(адаптивный линейный нейрон), самоорганизованная карта, нейронная сеть Элмана(Elman) и Хопфилда.

Многослойные сети

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

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

Сети прямой связи(feedforward networks)

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

Сети обратной связи(Feedback networks)

Когда нейронная сеть имеет некоторый вид внутреннего рецидива, это значит, что сигналы вернулись обратно в нейрон или слой, который уже получил и обработал сигнал, сеть это тип feedback-а. Посмотрите на картинку:

Специальная причина добавить рекуррентность в сеть это выработка динамического поведения, в частности когда сеть адресует проблемы, включая временные ряды или распознавание образов, которые требуют внутреннюю память для подкрепления обучающего процесса. Тем не менее, такие сети особенно трудны в тренировке, в конечном счете не в состоянии учиться. Многие feedback сети однослойные, такие как сети Элмана(Elman) и Хопфилда(Hopfield), но возможно и построить рекуррентную многослойную сеть, такие как эхо и рекуррентные многослойные персептронные сети.

От незнания к знаниям процесс обучения

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

Процесс, показанный на предыдущей схеме, называется контролируемое обучение(supervised learning), потому что это желаемый вывод, но нейронные сети могут обучаться только входных данных, без желаемого результата(контролируемое обучение). Во второй главе, Как обучаются нейронные сети, мы собираемся глубже погрузиться в процесс обучения нейронных сетей.

Давайте начнем реализацию! Нейронные сети на практике

В этой книге мы покроем все процессы реализации нейронных сетей на Java. Java это объектно-ориентированный язык программирования, созданный в 1990-ые маленькой группой инженеров из Sun Microsystems, позже приобретенной компанией Oracle в 2010-ых. Сегодня, Java представлена во многих устройствах, которые участвуют в нашей повседневной жизни. В объектно-ориентированном языке, таком как Java, мы имеем дело склассами и объектами. Класс план чего-то в реальной жизни, а объект образец такого плана, например, car(класс, ссылающийся на все машины) и my car(объект, ссылающийся на конкретную машину мою). Java классы обычно состоят из атрибутов и методов(или функций), которые включают принципы объектно-ориентированного программирования(ООП). Мы собираемся кратко рассмотреть эти принципы без углубления в них, поскольку цель этой книги просто спроектировать и создать нейронные сети с практической точки зрения. В этом процессе четыре принципа уместны и нуждаются в рассмотрении:

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

  • Инкапсуляция: Аналогично инкапсуляции продукта, при которой некоторые соответствующие функции раскрыты открыто (публичные(public) методы), в то время как другие хранится скрытым в пределах своего домена (частного(private) или защищенного(protected)), избегая неправильное использование или избыток информации.

  • Наследование: В реальной мире, много классов этих объектов представляют собой атрибуты и методы в иерархической манере; например, велосипед может быть супер-классом для машин и грузовиков.Таким образом, в ООП эта концепция позволяет из одного класса перенимать все свойства в другой класс, тем самым избегая переписывания кода.

  • Полиморфизм: Во многом схожа с наследованием, но с изменениями в методах со схожими сигнатурами, представляющие разные поведения в разных классах.

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

Важно выделить, что нейронная сеть может иметь много скрытых слоев или вообще их не иметь, количество нейронов в слое может различаться. Тем не менее, входные и выходные слои имеют одинаковое кол-во нейронов, как количество нейронных входов/выходов соответственно. Так начнем же реализацию. Сначала, мы собираемся определить 6 классов, Детально показанные тут:

Имя класса: Neuron

Атрибуты

private ArrayList listOfWeightIn

Переменная ArrayList дробных чисел представляет список входных весов

private ArrayList listOfWeightOut

Переменная ArrayList дробных чисел представляет список выходных весов

Методы

public double initNeuron()

Инициализирует функции listOfWeightIn, listOfWeightOut с псевдослучайными числами

Параметры: нет

Возвращает: Псевдослучайное число

public ArrayList getListOfWeightIn()

Геттер ListOfWeightIn

Параметры: нет

Возвращает: список дробных чисел, сохраненной в переменной ListOfWeightIn

public void setListOfWeightIn(ArrayList listOfWeightIn)

Сеттер ListOfWeightIn

Параметры: список дробных чисел, сохранненных в объекте класса

Возвращает: ничего

public ArrayList getListOfWeightOut()

Геттер ListOfWeightOut

Параметры: нет

Возвращает: список дробных чисел, сохраненной в переменной ListOfWeightOut

public void setListOfWeightOut(ArrayList listOfWeightOut)

Сеттер ListOfWeightOut

Параметры: список дробных чисел, сохранненных в объекте класса

Возвращает: ничего

Реализация класса: файл Neuron.java

Имя класса: Layer

Заметка: Этот класс абстрактный и не может быть проинициализирован.

Атрибуты

private ArrayList listOfNeurons

Переменная ArrayList объектов класса Neuron

private int numberOfNeuronsInLayer

Целочисленное значение для хранения количества нейронов, которая является частью слоя.

Методы

public ArrayList getListOfNeurons()

Геттер listOfNeurons

Параметры: нет

Возвращает: listOfNeurons

public void setListOfNeurons(ArrayList listOfNeurons)

Сеттер listOfNeurons

Параметры: listOfNeurons

Возвращает: ничего

public int getNumberOfNeuronsInLayer()

Геттер numberOfNeuronsInLayer

Параметры: нет

Возвращает: numberOfNeuronsInLayer

public void setNumberOfNeuronsInLayer(int numberOfNeuronsInLayer)

Сеттер numberOfNeuronsInLayer

Параметры: numberOfNeuronsInLayer

Возвращает: ничего

Реализация класса: файл Layer.java

Имя класса: InputLayer

Заметка: Этот класс наследует атрибуты и методы от класса Layer

Атрибуты

Нет

Методы

public void initLayer(InputLayer inputLayer)

Инициализирует входной слой с дробными псевдорандомными числами

Параметры: Объект класса InputLayer

Возвращает: ничего

public void printLayer(InputLayer inputLayer)

Выводит входные весы слоя

Параметры: Объект класса InputLayer

Возвращает: ничего

Реализация класса: файл InputLayer.java

Имя класса: HiddenLayer

Заметка: Этот класс наследует атрибуты и методы от класса Layer

Атрибуты

Нет

Методы

public ArrayList initLayer( HiddenLayer hiddenLayer, ArrayList listOfHiddenLayers, InputLayer inputLayer, OutputLayer outputLayer )

Инициализирует скрытый слой(и) с дробными псевдослучайными числами

Параметры: Объект класса HiddenLayer, список объектов класса HiddenLayer, объект класса InputLayer, объект класса OutputLayer

Возвращает: список скрытых слоев с добавленным слоем

public void printLayer(ArrayList listOfHiddenLayers)

Выводит входные весы слоя(ев)

Параметры: Список объектов класса HiddenLayer

Возвращает: ничего

Реализация класса: файл HiddenLayer.java

Имя класса: OutputLayer

Заметка: Этот класс наследует атрибуты и методы от класса Layer

Атрибуты

Нет

Методы

public void initLayer(OutputLayer outputLayer)

Инициализирует выходной слой с дробными псевдорандомными числами

Параметры: Объект класса OutputLayer

Возвращает: ничего

public void printLayer(OutputLayer outputLayer)

Выводит входные весы слоя

Параметры: Объект класса OutputLayer

Возвращает: ничего

Реализация класса: файл OutputLayer.java

Имя класса: NeuralNet

Заметка: Значения в топологии нейросети фиксированы в этом классе(два нейрона во входном слое, два скрытых слоя с тремя нейронами в каждом, и один нейрон в выходном слое). Напоминание: Это первая версия.

Атрибуты

private InputLayer inputLayer

Объект класса InputLayer

private HiddenLayer hiddenLayer

Объект класса HiddenLayer

private ArrayList listOfHiddenLayer

Переменная ArrayList объектов класса HiddenLayer. Может иметь больше одного скрытого слоя

private OutputLayer outputLayer

Объект класса OutputLayer

private int numberOfHiddenLayers

Целочисленное значение для хранения количества слоев, что является частью скрытого слоя

Методы

public void initNet()

Инициализирует нейросеть. Слои созданы и каждый список весов нейронов созданы случайно

Параметры: нет

Возвращает: ничего

public void printNet()

Печатает нейросеть. Показываются каждое входное и выходное значения каждого слоя.

Параметры: нет

Возвращает: ничего

Реализация класса: файл NeuralNet.java

Огромное преимущество ООП легко документировать программу в унифицированный язык моделирования(UML). Диаграммы классов UML представляют классы, атрибуты, методы, и отношения между классами очень простым и понятным образом, таким образом, помогая программисту и/или заинтересованным сторонам понять проект в целом. На следующем рисунке представлена самая первая версия диаграммы классов проекта: Сейчас давайте применим эти классы, чтобы получить некоторые результаты.

Показанный следующий код имеет тестовый класс, главный метод объектом класса NeuralNet, названный n. Когда этоn метод вызывается (путем выполнения класса), он вызывает initNet () и printNet () методы из объекта n, генерирующие следующий результат, показанный на рисунке справа после кода. Он представляет собой нейронную сеть с двумя нейронами во входном слое, три в скрытом слое и один в выходном слое:

public class NeuralNetTest {    public static void main(String[] args) {        NeuralNet n = new NeuralNet();        n.initNet();        n.printNet();    }}

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

В сумме

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

От переводчика

Оригинал книги: Neural Network Programming with Java

Подробнее..

Перевод Последовательное глубокое обучение для мониторинга кредитных рисков с использованием табличных финансовых данных

14.02.2021 02:14:08 | Автор: admin

Аннотация

Машинное обучение играет важную роль в предотвращении финансовых потерь в банковской отрасли. Возможно, наиболее актуальной задачей прогнозирования, является оценка кредитного риска (риска дефолта по долгу).Такие рискимогутпривести к потерям в миллиарды долларов ежегодно. Сегодня большая часть выгод от машинного обученияв проблемепрогнозирования кредитного риска обусловлена моделями дерева решений с градиентным усилением. Тем не менее, этивыгодыначинают снижаться, если не поддерживаютсяновымиисточникамиданныхи/или высокотехнологичных, гибкихфункций. В этой статье мы представляем наши попытки создать новый подход оценкикредитного риска с использованием глубокого обучения, который не предполагает сложного мониторинга, неопирается на новые входные данные модели. Мы предлагаем новые методы выборки транзакций по кредитным картам для использования с глубокими рекуррентными и причинно-следственнымисверточныминейронными сетями, которые используютвременныепоследовательности финансовых данных,без особых требований к ресурсам. Показываем, что наш последовательный подход к глубокому обучению с использованием временнойсверточнойсети превзошел эталонную непоследовательную древовидную модель, добившись значительной финансовой экономии и раннего обнаружения кредитного риска.Мы также демонстрируем потенциал нашего подхода дляегоиспользования в производственной среде, гдепредлагаемаяметодика выборки позволяет эффективно хранить последовательности в памяти,используяих для быстрого онлайн-обучения ипродукций.

KEYWORDS credit risk, tabular data, credit card transactions, recurrent neural networks, temporal convolutional networks

1.ВВЕДЕНИЕ

Когда заемщики банка попадают вкризисную ситуацию, раннее обнаружениедаженебольших изменений, уязвимостейв их финансовом положении может существенно уменьшить убытки банка, если своевременнопринятьпревентивныемеры(например, снижение кредитного лимита заемщика). Фактически,непрерывныймониторинг кредитного риска является неотъемлемой частью большинства стратегий снижения убытков в банковской отрасли [24].

Современные модели кредитного скоринга для оценки риска обычно опираются на деревья решений с градиентным усилением (GBDTs), которые обеспечивают ряд преимуществ по сравнению с традиционными методами, такими как логистическая регрессия [10]. Например, взаимодействия между переменными автоматическигенерируютсяв процессеусиления связейи комбинируютсядля повышения точности прогнозирования. Кромеэтого, этапы предварительной обработки, такие какзаполнениепропущенных значений иотбраковкаданных, как правило, не требуются. Однако эти модели также имеют определенные ограничения. Во-первых, повышение производительности обычно достигается за счет разработки функций дляввода новых переменных, основанных на обширных знаниях и опыте предметной области. Во-вторых, древовидные модели неполно используютпредысторию вданных. Наконец, они не могут быть использованы в режиме онлайн-обучения (где данные становятся доступны последовательно) из-за их ограниченных возможностей пообновлению, таким как изменение разбиений, без просмотра всего набора данных с самого начала (например, [6]).

Чтобы преодолеть ограничения традиционного древовидного подхода, мы исследовали несколько методов глубокого обучения для оценки кредитного риска и создали уникальный метод генерации последовательностей операций по кредитным картам, которыйизучает годовую кредитную историюзаемщиков. Применяя те же входные характеристики, что и эталонная модельGBDT, мы показываем, что наш последовательный подход к глубокому обучению с использованием временнойсверточнойсети (TCN) обеспечивает явные преимущества по сравнению с древовиднойметодикой. Основное улучшение заключается в том, что производительность существенно возрастает, что приводит к значительной финансовой экономии и более раннему выявлению кредитного риска. Мы также демонстрируем потенциал использования нашего подхода в онлайн-обучении для мониторинга кредитного риска без внесения существенных изменений в учебный процесс.

Предыдущие исследования применения глубокого обучения к табличным данным по транзакциям спомощьюкредитныхкарт былинаправлены на обнаружениемошенничества [9, 23], заявкина получение кредита [3, 26] и мониторинг кредитных рисков [1,19]. Наша работа отличается от предыдущей работы по глубокому обучению мониторингу кредитного риска тем, чтоонавыходит за рамки простых многослойных сетей персептронов и включает последовательные методы, такие как рекуррентные нейронные сети (RNN) и TCN, которые явно используют доступные данные предыстории. Кроме того, мы представляем новый метод выборки для создания последовательностей транзакций, который устраняет резкие различия в длинекредитной историиучастниковв течение всего года. Преимущества использования выборочных транзакций из длительного временногогоризонта, в отличие от общего количества транзакций, заключаются в том, что это уменьшаетбелыйшум в данных, требования к памяти и времениобучения/логического вывода. Следовательно,модель может изучать,обобщатьранние предупреждающие признакифинансовыхриск-операций.При этомсохраняетсявозможность работать почти в реальном времени во время онлайн-мониторинга кредита.

Основныерезультаты, представленные в этой статье, заключаются в следующем. Сначала мы показываем потенциал последовательного глубокого обучения для улучшения нашей текущей системы кредитного скоринга с помощью автономного анализа, который выявил значительное сокращение финансовых потерь (десятки миллионов долларов США ежегодно) и возможности повышенияскорости раннего выявления риск-ситуаций. Мы также разработали метод выборки для генерации последовательностей транзакций в течение целого года, который позволяет модели изучать долгосрочные поведенческие тенденции и устраняет необходимость загружать и обрабатывать сотни миллиардов транзакций по кредитным картамзаемщиков ежегодно. Наконец, мы демонстрируем, что онлайн-обучение может быть применено к нашему подходу и обеспечивает более высокую производительность по сравнению со случайной повторной инициализацией весов модели.

2.МЕТОД

2.1.Транзакционные Данные

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

2.1.1.Особенности. Для наших модельных экспериментов мы использовали транзакционные данные по владельцамкарт с потребительским кредитом. Источники данных включали как внутренние, так и внешние источники, такие,как агентстваанализа (аудита)потребительских кредитов, из которых было создано 127 неидентифицированных параметрическихфункций. Наши функции можно разделить на две подкатегории: связанные с транзакциями (кредитный риск, индикатор банкомата и т.д.) и связанные со счетом (просроченные дни, срок владения счетом и т.д.). Чтобы обеспечитьобъективность, личная демографическая информация не была включена нив одну из функций. Однако из-за соображений конфиденциальности и строгого соблюдения законов о защите данных мы не можем описать наши функции более подробно.

2.1.2.Обучение и проверка. Набор обучающих данных состоял из выборкипо15 миллионам участников карт с транзакциями, охватывающими курс в течение двенадцати месяцев с марта 2016 года по февраль 2017 года. Мы дважды сдвинули окногодового прогнозавперед на один месяц, чтобы создать 45 миллионов транзакционных последовательностейдля обучения. Это означает, что каждый элемент карты трижды появлялся в наборе обучающих данных с немного разными (сдвинутыми во времени) данными последовательности.

Набор данныхдлявалидациисостоял из выборкипо6 миллионамнеперекрывающихся (вне выборки) владельцевкарт, причем транзакции охватывали двенадцать месяцев с мая 2017 года по апрель 2018 года, чтобы также создать наборвалидациивнерассматриваемоговремени. Это имитирует среду, где модели обучаются на прошлых данных. В рамках этих выборочных наборов данных примерно 2% участников карт не выполнили свои обязательства покредитномубалансу. Мы рассмотрели этот дисбаланс классов в контексте глубокого обучения, создав сбалансированные мини-пакеты для обучающих моделей с мини-пакетным градиентным спуском, где каждый мини-пакет имел тот же процент членов карты по умолчанию, что и весь набор данных.

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

  • пропущенные значения для каждой функции былизаполненына основе целевых меток (по умолчанию/не по умолчанию) в пределах 10 ячеек, определенныхпроцентилямифункции;

  • для работы свыбивающимися из выборки даннымимы разработали новую процедуруих отсеивания, чтобы извлечь наиболее значительную часть распределения признаков, используя разбиения, полученные в результате обучения модели дерева решений (в нашем случае использовалась структура GBDT), для каждого объекта и всех деревьев, созданных моделью, мы отсортировали все разбиения в порядке возрастания:(s1, s2, . . . , sk), si > sj ,foralli > j, и применилиследующие правила ограничения:

где x - исходный объект, а x-преобразованный объект (иллюстративный пример см. на рис. 1);

послеотбраковкибыло применено преобразование Бокса-Кокса для уменьшения асимметрии признаков [5];

количественные (категориальные)данные были преобразованы в числовые характеристики с помощью процедуры, известной как сглаживание Лапласа [18]икоторая содержит два основных шага:

  1. вычислениесреднегозначенияцелевой переменной в каждой категории;

  2. изменениесреднегозначенияс шага 1, чтобы обратиться к категориям с небольшим количеством наблюдений:

где G - набор индексов для данной категории, | G | - размер категории, kмета-параметр, определенный эмпирически (в нашем случае k = 30), и y - среднее значение целевой переменной для всех обучающих наблюдений.

наконец,ко всем объектам было примененостандартное масштабирование.

Рисунок 1: Уплотнение с помощью разбиения GBDT. Рисунок 1: Уплотнение с помощью разбиения GBDT.

2.2.Операции выборки для генерации последовательностей

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

Преимущество этого метода отбора пробдвоякое. Во-первых, он уменьшает шум, чтобы выявить более общие тенденции в риск-поведении в течение длительного периода времени. Во-вторых, это позволяет создавать и обрабатывать последовательности почти в реальном времени, потому что предыдущие 11 месяцев транзакций могут быть эффективно сохранены в памяти и быстро загружены. Мы просто добавляем каждую входящую транзакцию в текущий месяц до конца последовательности перед отправкой ее в последовательностьмоделей(иллюстрация приведена на рис. 2). Это важно для реализации последовательностимоделей в нашей операционнойсреде, где требуется скорость обработки почтикакв реальном времени для расчета оценки кредитного рискапокаждой входящей транзакции до ее утверждения (обычноменее10 миллисекунд).

Рисунок 2: Последовательность выбранных транзакций.Рисунок 2: Последовательность выбранных транзакций.

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

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

2.3.Эволюционная модель

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

2.3.1 Многослойный персептрон. Мы начали наши эксперименты по глубокому обучению с простой реализации стандартной многослойной нейронной сети ванильного персептрона (MLP) с регуляризацией отсева. MLP соединяет несколько слоев узлов/нейронов всвязномграфе. Регуляризация отсевастохастически"сбрасывает" некоторые из этих нейронов во время обучения, чтобы смоделировать ансамбль различных MLP [13]. Для обучения весов связей модели было использовано обобщение алгоритма наименьших среднеквадратичных отклонений, известного как обратное распространение, для вычисления градиента функции потерь по отношению к каждому весу по цепному правилу, итеративному назад от последнего слоя.

2.3.2.TabNet.TabNet- этонейронная сеть,недавно разработанная специально для табличных непоследовательных данных [2]. Онаиспользует механизм итеративного внимания для выбора функций, где окончательная оценка прогноза представляет собой совокупность всей обработанной информациинапредыдущих итерациях. Одна итерация архитектурыTabNetсостоит из двух частей: преобразователя функций и преобразователя внимательного отношения. Выходные данные преобразователя признаков объединяются с выходными данными предыдущих итераций, чтобы получить окончательное решение о выходе.Преобразователь вниманиясоздает разреженный вектор маски признаков, который применяется обратно к начальному набору признаков, чтобывыделитьменьшее подмножество признаков, которое передается на следующий шаг принятия решения (см. Рисунок 3). Преимущество этого метода заключается в том, что он позволяет сети в полной мере использовать наиболее важные функции в табличном наборе данных на каждом этапе принятия решения, что обеспечивает более эффективное обучение.

Рисунок 3: Архитектура шагов принятия решений TabNet.Рисунок 3: Архитектура шагов принятия решений TabNet.

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

Для этой работы мы использовалиlongshort-termmemory(LSTM) RNN [14],которыйявляется популярным вариантом ванильного RNN. Какбыло показано,онболее эффективно изучает долгосрочные зависимости в последовательных данных. Мы также использовали более новый метод регуляризации RNN, известный как регуляризацияzoneout[17]. Как и регуляризация отсева,zoneoutиспользует случайный шум для аппроксимации обучения ансамбля различных RNN. Однако вместо того, чтобы отбрасывать случайные рекуррентные веса соединений, zoneoutстохастическизаставляет некоторые скрытые узлы сохранять свои предыдущие значения из предыдущей транзакции. Преимущество использованияzoneoutпо сравнению с рекуррентным отсевом заключается в том, что он позволяет RNN запоминать больше информации из прошлых транзакций. Пример однослойной модели LSTM с регуляризациейzoneoutдля прогнозирования оценок кредитного риска с использованием нашего подхода предварительной обработки показан на рис.4.

Рисунок 4: Однослойная архитектура LSTM для прогнозирования кредитного риска (т. е. дефолта по долгам кредитных карт) на основе 12-месячных транзакционных данных. Рисунок 4: Однослойная архитектура LSTM для прогнозирования кредитного риска (т. е. дефолта по долгам кредитных карт) на основе 12-месячных транзакционных данных.

2.3.4 Временнаясверточнаясеть. Важным ограничением структуры RNN является то, что обучение модели может быть трудоемким, поскольку последовательности данных обрабатываются итеративно. Кроме того, способностьRNNфиксировать долгосрочные зависимости в последовательностях остается фундаментальной проблемой [21]. Поэтому более поздние методы сосредоточились на более эффективных подходах, основанных на свертке последовательных данных [4, 7, 11, 15, 20]. Поскольку свертки могут выполняться параллельно, последовательности обрабатываются как единое целое, а не итеративно, как вRNNs. Сверточные нейроны также могут использовать свое рецептивное поле, чтобы сохранить еще больше информации из далекого прошлого. Причинные свертки предотвращают утечку из будущего, только свертывая выход в момент времени t с элементами из времени t и ранее (см. рис. 5) [25].

Возможно, самым популярным в последнее время подходом, основанным на причинной свертке, является временнаясверточнаясеть (TCN) [4]. В дополнение к свертке и отсеву, TCNS используют дилатацию(регулирование), чтобы обеспечить большие размеры рецептивного поля, которые оглядываются назад на более длинные длины истории, вводя фиксированный размер шага между каждыми двумя соседними отводамисверточногофильтра [27]. TCNS также используют остаточные связи, так что каждыйсверточныйслой изучает отображение идентичности, а не все преобразование (см. рис. 6), что помогает стабилизировать более глубокие и широкие модели [12]. Внутри каждого остаточного блока TCN нормализация слоя применяется к выходу сверточногослоя, а отсев добавляется для регуляризации. Иллюстрация нашей окончательной архитектурыdeepTCN для задачи прогнозирования кредитного риска показана на рис. 7.

Рисунок 6: Блок TCN. Рисунок 6: Блок TCN.

2.4.Оптимизация и настройка модели

2.4.1.Архитектура. Конечное количество слоев, нейронов на слой и коэффициенты отсева/зональности, используемые в каждой модели глубокого обучения, были определены с использованием итеративного байесовского оптимизационного подхода с помощьюSigOpt[8]. Тем не менее, некоторые из топ-моделей действовали аналогично. Мы обнаружили, что наилучшая производительность наблюдается для 5-слойного MLP, 3-слойного LSTM (с 2 слоями LSTM и одним плотным выходным слоем) и 6-слойного TCN (с 2 блоками TCN и 4 плотными слоями). Показатели отсева и зонального отсева в каждой модели оставались довольно низкими (в среднем ~0,2).

2.4.2.Оптимизация. Каждая модель глубокого обучения была обучена с использованием алгоритма оптимизации Адама [16] и ранней остановки [22]. Мы использовали бета-параметры по умолчанию для алгоритма Адама (бета = 0,9, 0,999), которые управляют скоростью затухания для оценок градиента первого и второго моментов, хотя другие значения были исследованы и не показали очевидного улучшения. Классическая бинарная функция кросс-энтропии для задач классификации использовалась в качестве функции потерь, подлежащей оптимизации.

2.4.3.Размер партии и скорость обучения. Мы также экспериментировали с несколькими размерами пакетов, скоростью обучения и графиками скорости обучения для различных архитектур. Мы обнаружили, что универсальный размер пакета из 512 членов кредитной карты и скорость распада 0,8, начиная с начальной скорости обучения 1e-4, как правило, является наиболее эффективным для всех моделей.

2.4.4 Показатели эффективности. Производительность измерялась с помощью коэффициента Джини и отзыва. Коэффициент Джини является общим измерителемдискриминационной силы рейтинговых систем, таких как моделикредитногоскоринга. Онпрямо пропорционален площади под характеристической кривой оператора приемника (Джини = (2*AUROC) - 1). Отзыв, или чувствительность, - это измерение правильных прогнозов дефолта кредитной карты в пределах фиксированной доли лучших прогнозных оценок модели. Эта доля определялась существующими бизнес-принципами и фиксировалась в разных моделях.

3.РЕЗУЛЬТАТ

Результаты работы для каждой отдельной модели глубокого обучения и ее ансамбля с эталонным GBDT приведены в таблице 1. Результаты деятельности длясубпопуляциис высоким уровнем долговой нагрузки (владельцыкарт с балансом более 15 000 долларов США) также включены в эту таблицу, чтобы продемонстрировать потенциал существенной финансовой экономии с использованием предложенного нами подхода.

Таблица 1: Эффективность индивидуальной и ансамблевой моделей для населения в целом и населения с высоким уровнем задолженности (более 15 тыс. долл.) Таблица 1: Эффективность индивидуальной и ансамблевой моделей для населения в целом и населения с высоким уровнем задолженности (более 15 тыс. долл.)

Последовательные модели, LSTM и TCN, по отдельности превзошлитестовыйGBDT. Непоследовательные нейронные сети MLP иTabNetпоказали худшие результаты по сравнению с тестом. Кроме того, гораздо больший рост производительности прогнозирования наблюдался, когда LSTM и TCN использовались в ансамбле с GBDT, предполагая, что историческая информация предоставляет ортогональную информацию, которая позволяет прогнозировать рискованное финансовое поведение. Хотя эти улучшения производительности могут показаться скромными, важно помнить о большом количествевладельцевкарт, которые существуют в наборе данных, а это означает, что небольшие улучшения приводят к значительной экономии (в нашем случае годовая экономия в десятки миллионов долларов США).

Таблица 2: Производительность отдельных моделей, разделенная по дате по умолчанию.Таблица 2: Производительность отдельных моделей, разделенная по дате по умолчанию.

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

Сравнение LSTM и TCN с GBDT для трех различных временных интервалов (с событием,по умолчанию происходящим в краткосрочной, среднесрочной и долгосрочной перспективе) показано в таблице 2. В то время,как GBDT, по-видимому, превосходит последовательную модель в прогнозировании дефолтов в ближайшей перспективе (в течение 6 месяцев после самой последней транзакции),кредитнаяинформация, включенная в последовательную модель, помогает более эффективно прогнозировать дефолты в среднесрочной перспективе (между 7-12 месяцами после самой последней транзакции) и долгосрочной перспективе (между 13-18 месяцами после самой последней транзакции), что указывает на то, что наш подход улучшает раннее обнаружение рисков.

3.2.Длина последовательности.Производительность последовательных моделей также зависела от количества используемых входных транзакций (то есть от длины последовательности). На рисунке 8 мы демонстрируем снижение производительности с точки зрения индекса Джини и напоминаем, что количество ежемесячных исторических транзакций, включенных в последовательности, уменьшилось, что означает, что период ретроспективного анализа был короче,чем полный год. И LSTM, и TCN достигли лучших результатов за 12 месяцев транзакций, при этом TCN превзошел LSTM на каждой длине последовательности. Учитывая линейное увеличение производительностиотдлиныпоследовательности, это говорит о том, что более глубокий анализкредитнойистории заемщиков может обеспечить более высокие результаты. Однако мы были ограничены доступными данными, не предшествующими 2016 г.

Рисунок 8: Производительность увеличивается по мере увеличения количества ежемесячных транзакций в последовательности. Рисунок 8: Производительность увеличивается по мере увеличения количества ежемесячных транзакций в последовательности.

3.3.Онлайн-обучение.Поскольку известно, что производительность модели ухудшается с изменением потребительского поведения и экономических условий, мы также проверили способность LSTM и TCN адаптироваться к поступающим данным с помощью онлайн-обучения. Для этого мы постепенно настраивали веса каждой модели, используя последовательности, собранные за три будущих месяца 2017 года. Мы сравнили этот метод со стандартным методом случайной инициализации веса на рис. 9, где веса модели задаются небольшими случайными числами перед обучением. Как и ожидалось, производительность постепенно улучшалась по мере того, как для создания прогнозов использовались более свежие данные. Кроме того, постепенная настройка весов с входящими данными превзошла стандартный подход инициализации случайных весов.

Рисунок 9: Онлайн-обучение (т. е. постепенная настройка весов с использованием входящих данных) дало более высокие результаты производительности по сравнению с повторной инициализацией весов с небольшими случайными значениями перед обучением. Рисунок 9: Онлайн-обучение (т. е. постепенная настройка весов с использованием входящих данных) дало более высокие результаты производительности по сравнению с повторной инициализацией весов с небольшими случайными значениями перед обучением.

3.4.Время обучения и вывода.Хотя TCN превзошел LSTM с точки зрения производительности прогнозирования, важно также учитывать их производительность с точки зрения обучения и времени вывода для использования воперационнойсреде. Используя графический процессор NVDIATeslaV100, потребовалось в среднем ~30мс, чтобы обучить TCN на одной мини-партии из 512 членов карты, по сравнению с ~50мсдля LSTM. Это было ожидаемо, поскольку входная последовательность обрабатывается TCN в целом, а не последовательно, как в LSTM.

Как ни странно, время вывода для LSTM должно быть быстрее, чем для TCN. Как было предложено Baietal. [4], LSTM нужно только сохранить предпоследнее скрытое состояние в памяти и принять текущие/входящие транзакционные данные, чтобы сгенерировать прогноз. В отличие от этого, TCN должен обработать всю последовательность. Однако оба метода смогли обработать последовательность менее,чемза 1мс, что намного меньше времени, необходимого для вывода в нашей производственной среде (менее10мс). В будущей работе мы проанализируем полный конвейер для вывода, который включает в себя время, необходимое для предварительной обработки данных для входящей транзакции, а также время, необходимое для загрузки исторических данных (TCN) и предпоследнего скрытого состояния (LSTM).

4.ВВОД.

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

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

Одной из основных проблем нашего подхода является отсутствие интерпретируемости, которая поражает модели черного ящика, такие как предлагаемые LSTM и TCN. Однако, поскольку GBDT также страдает отаналогичной проблемыинтерпретируемости, мы не используем напрямую прогнозные оценки модели для принятия решений на уровнерасчетов. Вместо этого, установленные и стратегические бизнес-правила используются поверх (и параллельно) прогнозной оценки для обеспечения справедливости и удовлетворенности клиентов.

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

Ссылки

[1] Peter Martey Addo, Dominique Guegan, and Bertrand Hassani. 2018. Credit
risk analysis using machine and deep learning models. Risks 6, 2 (2018), 38.
https://doi.org/10.3390/risks6020038


[2] Sercan O. Arik and Tomas Pfister. 2019. TabNet: Attentive Interpretable Tabular
Learning. (2019). arXiv:1908.07442


[3] Dmitrii Babaev, Alexander Tuzhilin, Maxim Savchenko, and Dmitrii Umerenkov. E.T.-Rnn: Applying deep learning to credit loan applications. In Proceedings of the ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. 21832190. https://doi.org/10.1145/3292500.3330693

[4] Shaojie Bai, J. Zico Kolter, and Vladlen Koltun. 2018. An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling. (2018). arXiv:1803.01271

[5] George EP Box and David R Cox. 1964. An analysis of transformations. Journal of the Royal Statistical Society: Series B (Methodological) 26, 2 (1964), 211243.

[6] Tianqi Chen and Carlos Guestrin. 2016. Xgboost: A scalable tree boosting system. In Proceedings of the 22nd ACM SIGKDD Unternational Conference on Knowledge Discovery and Data Mining. 785794.

[7] Yann N Dauphin, Angela Fan, Michael Auli, and David Grangier. 2017. Language modeling with gated convolutional networks. In Proceedings of the 34th International Conference on Machine Learning. 933941.

[8] Ian Dewancker, Michael McCourt, and Scott Clark. 2015. Bayesian Optimization Primer.

[9] Dmitry Efimov, Di Xu, Alexey Nefedov, and Archana Anandakrishnan. 2019. Using Generative Adversarial Networks to Synthesize Artificial Financial Datasets. In 33rd Conference on Neural Information Processing Systems, Workshop on Robust AI in Financial Services.

[10] Jerome H. Friedman. 2001. Greedy function approximation: A gradient boosting machine. Annals of Statistics 29, 5 (2001), 11891232. https://doi.org/10.2307/ 2699986

[11] Jonas Gehring, Michael Auli, David Grangier, Denis Yarats, and Yann N Dauphin. Convolutional sequence to sequence learning. In Proceedings of the 34th International Conference on Machine Learning. 12431252.

[12] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. 2016. Identity mappings in deep residual networks, Vol. 9908 LNCS. Springer Verlag, 630645. https://doi.org/10.1007/978-3-319-46493-0_38 arXiv:1603.05027

[13] Geoffrey E Hinton, Nitish Srivastava, Alex Krizhevsky, Ilya Sutskever, and Ruslan R Salakhutdinov. 2012. Improving neural networks by preventing coadaptation of feature detectors. arXiv:1207.0580 (2012).

[14] Sepp Hochreiter and Jrgen Schmidhuber. 1997. Long Short-Term Memory. Neural Computation 9, 8 (1997), 17351780. https://doi.org/10.1162/neco.1997.9. 8.1735

[15] Nal Kalchbrenner, Lasse Espeholt, Karen Simonyan, Aaron van den Oord, Alex Graves, and Koray Kavukcuoglu. 2016. Neural machine translation in linear time. arXiv preprint arXiv:1610.10099 (2016).

[16] Diederik P Kingma and Jimmy Ba. 2014. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980 (2014).

[17] David Krueger, Tegan Maharaj, Jnos Kramr, Mohammad Pezeshki, Nicolas Ballas, Nan Rosemary Ke, Anirudh Goyal, Yoshua Bengio, Aaron Courville, and Chris Pal. 2017. Zoneout: Regularizing rnns by randomly preserving hidden activations. In Proceedings of the 5th International Conference on Learning Representations. arXiv:1606.01305

[18] Christopher D Manning, Prabhakar Raghavan, and Hinrich Schtze. 2008. Introduction to information retrieval. Cambridge University Press. 234265 pages.

[19] Loris Nanni and Alessandra Lumini. 2009. An experimental comparison of ensemble of classifiers for bankruptcy prediction and credit scoring. Expert Systems with Applications 36, 2 (2009), 30283033. https://doi.org/10.1016/j.eswa. 2008.01.018

[20] Aaron van den Oord, Sander Dieleman, Heiga Zen, Karen Simonyan, Oriol Vinyals, Alex Graves, Nal Kalchbrenner, Andrew Senior, and Koray Kavukcuoglu. Wavenet: A generative model for raw audio. arXiv preprint arXiv:1609.03499 (2016).

[21] Razvan Pascanu, Tomas Mikolov, and Yoshua Bengio. 2013. On the difficulty of training recurrent neural networks. In Proceedings of the 30th International Conference on Machine Learning. 13101318.

[22] Lutz Prechelt. 1998. Early stopping-but when? In Neural Networks: Tricks of the trade. Springer, 5569.

[23] Abhimanyu Roy, Jingyi Sun, Robert Mahoney, Loreto Alonzi, Stephen Adams, and Peter Beling. 2018. Deep learning detecting fraud in credit card transactions. In Proceedings of the Systems and Information Engineering Design Symposium,129134. https://doi.org/10.1109/SIEDS.2018.8374722

[24] Lyn C Thomas, David B Edelman, and Jonathan N Crook. 2002. Credit scoring and its applications. SIAM.

[25] Alex Waibel, Toshiyuki Hanazawa, Geoffrey Hinton, Kiyohiro Shikano, and Kevin J Lang. 1989. Phoneme recognition using time-delay neural networks. IEEE transactions on acoustics, speech, and signal processing 37, 3 (1989), 328339.

[26] Chongren Wang, Dongmei Han, Qigang Liu, and Suyuan Luo. 2018. A deep learning approach for credit scoring of Peer-to-Peer lending using attention mechanism LSTM. IEEE Access 7 (2018), 21612168.

[27] Fisher Yu and Vladlen Koltun. 2016. Multi-scale context aggregation by dilated convolutions. In Proceedings of the 4th International Conference on Learning Representations. arXiv:1511.07122

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru