Экспертная система для распознания ИК спектров на основе свёрточной нейронной сети с мультиклассовой классификацией
Работа асп. 3 г/о ФНМ МГУ
Кошелева Даниила Сергеевича
Курс «Нейронные сети и их применение в научных исследованиях»
ИК спектроскопия
Это неразрушающий метод анализа, получающий данные о поглощении веществом ИК излучения с энергией в диапазоне 4000-400 см-1. , характерной для определённых колебаний.
Экспертная система для распознания ИК спектров на основе свёрточной нейронной сети с мультиклассовой классификацией
Колебания молекулы воды
ИК излучение
ИК излучение
Цель работы
Разработка модели для мультиклассовой классификации ИК спектров на 17 и 72 классов.
Экспертная система для распознания ИК спектров на основе свёрточной нейронной сети с мультиклассовой классификацией
Примеры классов-функциональных групп
https://en.wikipedia.org/wiki/Infrared_spectroscopy_correlation_table
Примеры классов – полос колебаний
Сбор датасета: 1.
Список соединений NIST (CAS-номер)
Сканирование по web-запросу:
Скачано 14668 спектров (6 часов)
Добавление InChi и SMILES по web-запросу:
Экспертная система для распознания ИК спектров на основе свёрточной нейронной сети с мультиклассовой классификацией
Сбор датасета: 2. Интерполяция и padding
Приведение к одному размеру
(500-4100 1/см)
Экспертная система для распознания ИК спектров на основе свёрточной нейронной сети с мультиклассовой классификацией
Сбор датасета: 3. Подпись классов
Словарь подструктур в терминологии SMARTS:
func_grp_smarts = {'alkane‘: '[CX4;H0,H1,H2,H4]',
'methyl': '[CH3]',
'alkene': '[CX3]=[CX3]',
'alkyne': '[CX2]#C',
'alcohols': '[#6][OX2H]',
'amines': '[NX3;H2,H1;!$(NC=O)]',
'nitriles': '[NX1]#[CX2]',
'aromatics': '[$([cX3](:*):*),$([cX2+](:*):*)]',
'alkyl halides': '[#6][F,Cl,Br,I]',
'esters': '[#6][CX3](=O)[OX2H0][#6]',
'ketones': '[#6][CX3](=O)[#6]',
'aldehydes': '[CX3H1](=O)[#6]',
'carboxylic acids': '[CX3](=O)[OX2H1]',
'ether': '[OD2]([#6])[#6]',
'acyl halides': '[CX3](=[OX1])[F,Cl,Br,I]',
'amides': '[NX3][CX3](=[OX1])[#6]',
'nitro': '[$([NX3](=O)=O),$([NX3+](=O)[O-])][!#8]'}
Функциональные группы
Экспертная система для распознания ИК спектров на основе свёрточной нейронной сети с мультиклассовой классификацией
Сбор датасета: 4. (Не)баланс классов
Сильный дисбаланс классов
Малочисленные классы <25% от численности
Наименьшее количество – 119 спектров
Экспертная система для распознания ИК спектров на основе свёрточной нейронной сети с мультиклассовой классификацией
Сбор датасета: 3. Подпись классов
Словарь подструктур в терминологии SMARTS:
all_bonds_types_strs_short = {
'C─H alkyl methyl 1260 strong/1380 weak/2870 medium to strong/2960 medium to strong': '[CH3]',
'C─H alkyl methylene 1470 strong/2850 medium to strong/2925 medium to strong': '[CX4;H2]',
'C─H alkyl methine 2890 weak': '[CX4;H1]',
'C─H vinyl C═CH2 900 strong/2975 medium/3080 medium': '[CX3]=[CH2]',
'C─H vinyl C═CH 3020 medium': '[CX3]=[CX3;H1]',
'C─H vinyl monosubstituted alkenes 900 strong/990 strong': '[CX3;H2]=[CX3;H1]',
…..
Полосы колебаний
Экспертная система для распознания ИК спектров на основе свёрточной нейронной сети с мультиклассовой классификацией
72 класса
Сбор датасета: 4. (Не)баланс классов
Сильный дисбаланс классов
Малочисленные классы <100 спектров
Экспертная система для распознания ИК спектров на основе свёрточной нейронной сети с мультиклассовой классификацией
Наименьшее количество – 33 спектра
Обучение
Экспертная система для распознания ИК спектров на основе свёрточной нейронной сети с мультиклассовой классификацией
Планировщик обучения:
Метрики
Дизайн модели: 1. v0.1
Вход: (2, 1800)
8 сверточных слоёв
3 линейных
18 млн параметров (n=10)
Тестовая модель:
Низкая точность
Не учится на малочисленные классы
Экспертная система для распознания ИК спектров на основе свёрточной нейронной сети с мультиклассовой классификацией
Дизайн модели: 3. v0.3
Вход: (2, 1800)
21-41 сверточных слоёв
2 линейных
2 dropout
4 млн параметров
Label ranking precision score – 0,7
Низкая точность
Не учится на малые классы
Экспертная система для распознания ИК спектров на основе свёрточной нейронной сети с мультиклассовой классификацией
Дизайн модели: 4. v0.4
Вход: (2, 1800)
21 сверточных слоёв
3 макспулинга
2 линейных
2 dropout
0,5 млн параметров
Label ranking precision score – 0,8
Точность улучшилась
Не учится на малые классы
Экспертная система для распознания ИК спектров на основе свёрточной нейронной сети с мультиклассовой классификацией
Дизайн модели: 4. v0.4raw
Вход: (2, 1800)
21 сверточных слоёв
3 макспулинга
2 линейных
1 адаптивный макспул
2 dropout
0,5 млн параметров
Label ranking precision score – 0,65
Точность ухудшилась
Не учится на средние классы
Экспертная система для распознания ИК спектров на основе свёрточной нейронной сети с мультиклассовой классификацией
Дизайн модели: 5. �v0.5+ слой максимумов
Вход: (2, 1800) или (3, 1800)
21 сверточных слоёв
1 макспулинг
2 линейных
2 dropout
5 млн параметров
Label ranking precision score – 0,9
Точность улучшилась
Не учится на средние классы
Экспертная система для распознания ИК спектров на основе свёрточной нейронной сети с мультиклассовой классификацией
Сравнение с 1NN алгоритмом
1NN алгоритм:
1)Поиск максимума
2) Определение 1 ближайшего соседа по значению положения пика
3) Определение метки класса
Экспертная система для распознания ИК спектров на основе свёрточной нейронной сети с мультиклассовой классификацией
Дизайн модели: 6. v0.6+слой внимания
Вход: (3, 1800)
21 сверточных слоёв
1 макспулинг
2 внимания
2 линейных
2 dropout
5 млн параметров
wF1 – 0,7
Точность ухудшилась
Не учится на средние классы
Экспертная система для распознания ИК спектров на основе свёрточной нейронной сети с мультиклассовой классификацией
Дизайн модели: 7. v0.7+внимание на вход
Вход: (75, 1800) или (4, 1800)
21 сверточных слоёв
1 макспулинг
2 линейных
2 dropout
5 млн параметров
wF1 – 0,53
Точность ухудшилась
Не учится на средние классы
Экспертная система для распознания ИК спектров на основе свёрточной нейронной сети с мультиклассовой классификацией
Слой суммы максимумов всех 72 полос колебаний
72 класса:�v1.5.1
Вход: (3, 1800)
21 сверточных слоёв
1 макспулинг
2 линейных
2 dropout
5 млн параметров
wF1 – 0.88
Точность улучшилась
Не учится на мелкие классы
Экспертная система для распознания ИК спектров на основе свёрточной нейронной сети с мультиклассовой классификацией
V1.5.1.72 превосходит все аналоги значительно!
Определяет 56/72 классов
SHAP/GradCAM:�Объясняемость 17 классов
Внимание модели:
Экспертная система для распознания ИК спектров на основе свёрточной нейронной сети с мультиклассовой классификацией
SHAP/GradCAM:�Объясняемость 72 классов
Внимание модели:
Экспертная система для распознания ИК спектров на основе свёрточной нейронной сети с мультиклассовой классификацией
AUC ROC: �Порог сработки
Высокий AUC ROC при отсутствии f1???
Экспертная система для распознания ИК спектров на основе свёрточной нейронной сети с мультиклассовой классификацией
AUC ROC: �Порог сработки
Подбор порога срабатывания для каждого отдельного класса
Экспертная система для распознания ИК спектров на основе свёрточной нейронной сети с мультиклассовой классификацией
AUC ROC: �Порог сработки
Появление f1 для отсутствовавшего класса
Экспертная система для распознания ИК спектров на основе свёрточной нейронной сети с мультиклассовой классификацией
Результаты и выводы
Экспертная система для распознания ИК спектров на основе свёрточной нейронной сети с мультиклассовой классификацией
Спасибо за внимание!
AUC ROC: �Порог сработки
Появление f1 для отсутствовавшего класса
Экспертная система для распознания ИК спектров на основе свёрточной нейронной сети с мультиклассовой классификацией