Пересечение химии и А.И.

За последние пару лет A.I продемонстрировал беспрецедентный рост. Хотя архитектуры машинного обучения, такие как нейронные сети (NN), были известны давно благодаря открытиям ведущих исследователей, таких как Джеффри Хинтон, только недавно NN стали мощными инструментами в наборе инструментов специалиста по искусственному интеллекту. В основном это связано с тремя изменениями, которые произошли с наступлением 21 века:

  1. Повышенная вычислительная мощность
  2. Увеличено количество доступных данных
  3. Повышенный интерес к автоматизации

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

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

Учти это:

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

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

Данные, которые входят в NN, будут изменены.

Манипулирование хрупкими дискретными данными - это ходьба по тонкому льду. В настоящее время существует 4 основных метода представления молекулы, перечисленных в порядке потери данных:

  1. Молекулярные отпечатки пальцев
  2. Строковые представления
  3. Молекулярные графики
  4. Моделирование

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

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

Диаграммы предоставлены доктором Эсбеном Бьеррумом, ведущим экспертом и исследователем на пути к покорению химии с помощью искусственного интеллекта. Чтобы узнать больше о каноническом перечислении SMILES, загляните в его блог.

Чтобы предотвратить дублирование строк SMILE, для каждой молекулы использовался только один вариант строки SMILE. Стоит отметить, что каждая молекула имеет первичное строковое представление, также известное как каноническая УЛЫБКА. Вооружившись чистым маркированным набором данных молекул в формате SMILES, я приступил к созданию классификатора молекулярного заряда.

Проект оплачен

Я использовал строки SMILE и нейронную сеть для создания классификатора молекулярного заряда на Python с библиотекой Keras. Каждая молекула имеет определенный заряд 0, 1, -1 и -2 (их тоже больше, но все молекулы в моем наборе данных имеют один из 4 возможных зарядов).

Проект был разбит на 4 этапа:

  1. Импорт данных SMILES (с ярлыками, т.е. с начислениями)
  2. Преобразование данных в 256-битный двоичный код
  3. Создание глубокой NN
  4. Составление и подгонка модели

Для этого проекта модель обучается с использованием 1000 строк SMILE набора данных из 250 000. Я превратил каждую строку SMILE в 256-битный двоичный код, чтобы я мог построить NN с тем же количеством входных нейронов; 256. Модель уменьшила вдвое количество нейронов на каждом прогрессирующем слое, с 256 → 128 → 64 → 34 → 16, и, наконец, до 4 выходных нейронов, по одному для каждого возможного заряда в наборе данных (0, 1, -1, -2 ).

10% данных (100 строк SMILE) были взяты из обучающего набора для использования в качестве данных проверки. Модель использует relu в качестве функции активации входного слоя и сигмоид для скрытых слоев перед окончательным выводом результатов в виде вероятностей от 0 до 1 с функцией softmax. Таким образом, классификация представлена ​​как вероятностное десятичное число, которое NN вычисляет на основе своего обучения.

Модель протестирована с 10 новыми молекулами и успешно предсказала заряды всех десяти, причем некоторые из них дают более высокие проценты правдоподобия (80% ^), а другие - меньшие (40% ^).

Весь код и наборы данных для Project Charged можно найти на моем Github, в этом репозитории.

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

Ключевые выводы

  1. Молекулы, такие как код и математика, склонны к хрупкости при манипуляциях.
  2. Есть 4 метода представления молекул в вычислительных терминах; Отпечатки пальцев, строковые представления, молекулярные графики или моделирование
  3. SMILES - популярное строковое представление; может быть много строк, представляющих одну молекулу, но есть только одна каноническая УЛЫБКА
  4. Преобразование молекулы в двоичные отпечатки пальцев и ввод их в нейронную сеть - один из способов использования искусственного интеллекта в химии.
  5. Молекулярное представление и хеминформатика в целом - это баланс точности и вычислительной мощности.

Все еще читаете это? Хочу больше? Не знаете, что делать дальше?

  • Поделитесь им в LinkedIn, Facebook или Twitter! (И добавьте меня, пока вы в нем)
  • Загляните в Мое портфолио, чтобы увидеть больше интересных проектов, контента и обновлений!
  • Обращайтесь на любую платформу для вопросов, сотрудничества и идей!

Вперед!