Искусственная нейронная сеть (ИНС) - это такая математическая модель, имитирующая процессы, происходящие в биологических нейронных сетях, т.е. таких, как, например, наш мозг. ИНС, как и биологическая нейронная сеть, состоит из нейронов, связанных между собой. Каждый нейрон принимает данные, обрабатывает их определенным образом и выдает определённый сигнал. На вход нейрону подаётся вектор (совокупность) входных сигналов (признаков) X, каждый элемент которого сопоставлен с каким-то элементом вектора весовых коэффициентов W. Затем каждый элемент вектора X умножается на соответствующий ему элемент вектора W, и такие произведения суммируются, после чего полученная сумма проходит через специальную функцию активации нейрона. Конечный результат - это и есть выходное значение нейрона. ИНС состоит из множества таких нейронов, организованных в слои и связанных между собой: нейроны первого (входного) слоя принимают в качестве вектора признаков определённые данные, например, изображение, обрабатывают и получают ответ. Нейроны второго слоя получают в качестве вектора признаков выходные данные нейронов первого слоя, обрабатывают их и подают на входы нейронам третьего слоя и т.д. В конце нейроны выходного слоя выдают вектор выходных данных сети. Например, первый нейрон выходного выдаёт вероятность того, что на картинке изображена кошка, второй - вероятность того, что изображена собака, третий - попугай и т.д.
Для того, чтобы ИНС можно было использовать в прикладных задачах, необходимо её обучить. Обучением называется подбор оптимального значения матрицы весов модели, т.е. такое изменение весов связей между нейронами, которое минимизировало бы ошибку нейронной сети (к примеру, количество неправильно классифицированных объектов на изображении). В процессе обучения нейронные сети "находят" определенные закономерности во входных данных: к примеру, в нейросети, обученной для распознавания объектов на изображении, нейроны входного слоя "отвечают" в изображении за линии под определенными углами, резкие цветовые переходы; нейроны второго слоя уже могут определять текстуру, мелкие детали в изображениях, а уже на четвертом или пятом слое нейроны различают крупные признаки объектов, например, один нейрон реагирует на голову собаки, другой - на голову совы и т.д.
Есть много различных видов нейронных сетей: сверточные сети подходят для обработки аудио, изображений и видео; рекуррентные нейронные сети могут запоминать информацию и контекст, их используют для обработки текстов и распознавания речи; генеративно-состязательные нейросети - это пара моделей, одна (сеть G) должна создать максимально правдоподобный образ (например, лицо человека), а другая (сеть D) - с максимальной точностью отбраковать настоящие фото от "фейковых". Сейчас индустрия глубинного обучения быстро развивается, и область применения нейросетей расширяется - от изменения изображений под стиль определенного художника до создания беспилотных автомобилей.