Нейросети: как они работают

Термин «нейросети» (Neural networks) был очень популярен в конце 1980-х – начале 1990-х годов. Затем его цитируемость стала снижалась, поскольку идею так и не удалось реализовать имеющимися в начале 2000-х годов техническими средствами.

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

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

Мозг приматов работает примерно также, поэтому была надежда на то, что, использовав больше слоёв в нейросети, можно будет получить более совершенные модели объектов.

Однако, впоследствии выяснилось, что обучающие модели с большим количеством слоёв хорошо не работают. Поэтому, исследователи пришли к выводу, что только «тонкие» (Shallow) модели в 1-2 слоя могут хорошо обучаться. Стандартная нейросеть имеет только один или два слоя представления данных (Shallow neural network, на рисунке, буквально: «мелкая нейросеть»).

Глубокие нейросети (deep neural network) с более, чем 1-2 слоями, ранее казалась любо нереализуемыми, либо непрактичными. До 2006 года, внешние слои нейросети были неспособны к извлечению характерных черт, т.н. «фич» (features), входных изображений, поскольку алгоритмы обучения нейросетей оставались несовершенными.

Однако, использование инновационных технологий, таких как анализ больших данных (Big Data) и развитие систем виртуализации в дата-центрах обеспечили возможность создания более мощных нейросетей. Например, использование простых средств оптимизации, таких как стохастический градиентный спуск (stochastic gradient descent), а также использование «неуправляемых» (unsupervised) данных в качестве предварительных (pre-train) обучающих моделей для автоматического извлечения характерных «фич». Также обучаемость сети повышает использование графических процессоров GPU.

Это сделало возможным использование «многослойных» глубоких нейросетей для обработки изображений в системах компьютерного зрения CV (computer vision).

2.png

Рис. 1. Многослойная нейросеть с глубоким обучением для обработки изображений в системах CV (источник: RSIP Vision).

Свёрточные нейронные сети CNN (Convolutional Neural Networks) — это один из вариантов нейросетей с глубоким обучением, которые появились благодаря нейробиологическим исследованиям нервных клеток в коре головного мозга, ответственных за обработку изображений, получаемых от зрительных нервов.

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

3.png

Рис. 2. CNN Le-NET5, способная распознавать рукописный текст (источник: IEEE, 1998).

CNN обычно состоит из слоёв свёртки (Сonvolutions), слоёв предварительного выделения образов (Subsampling), полностью подключённых слоёв (Full Connection) и слоёв распределения Гаусса (Gaussian Connections).

Принцип работы CNN и различие между machine learning и deep learning показаны на рисунке ниже.

4.png

Рис. 3. Принцип работы CNN (источник: MathWorks).

* * *

160328-neurons-630x487.jpg

Об авторе Алексей Шалагинов

Независимый эксперт
Запись опубликована в рубрике Искусственный интеллект, Ликбез, Технологии, цифровая трансформация с метками , , , , . Добавьте в закладки постоянную ссылку.

Оставьте комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.